diff --git a/SwarselSystems.org b/SwarselSystems.org index d950608..6a3bd5c 100644 --- a/SwarselSystems.org +++ b/SwarselSystems.org @@ -3415,7 +3415,7 @@ This is the "reference implementation" of a setup that runs without NixOS, only imports = [ inputs.stylix.homeManagerModules.stylix inputs.sops-nix.homeManagerModules.sops - inputs.nix-index-database.homeModules.nix-index + inputs.nix-index-database.hmModules.nix-index "${self}/modules/home" "${self}/modules/nixos/common/pii.nix" "${self}/modules/nixos/common/meta.nix" @@ -3889,7 +3889,7 @@ in } #+end_src -**** Expose home-manager sops secrets in NixOS (automatically active) +**** Expose home-manager secrets in NixOS (automatically active) #+begin_src nix-ts :tangle modules/nixos/common/home-manager-secrets.nix { lib, config, globals, ... }: @@ -3913,7 +3913,6 @@ in fever-pw = { path = "${homeDir}/.emacs.d/.fever"; owner = mainUser; }; }) // (lib.optionalAttrs modules.zsh { croc-password = { owner = mainUser; }; - github-nixpkgs-review-token = { owner = mainUser; }; }) // (lib.optionalAttrs modules.emacs { emacs-radicale-pw = { owner = mainUser; }; }); @@ -4105,7 +4104,7 @@ We enable the use of =home-manager= as a NixoS module. A nice trick here is the useUserPackages = true; verbose = true; users.${config.swarselsystems.mainUser}.imports = [ - inputs.nix-index-database.homeModules.nix-index + inputs.nix-index-database.hmModules.nix-index inputs.sops-nix.homeManagerModules.sops # inputs.stylix.homeModules.stylix { @@ -4633,9 +4632,7 @@ Next, we will setup some environment variables that need to be set on the system gst-plugins-ugly gst-libav ]); - } // (lib.optionalAttrs (!config.swarselsystems.isPublic) { - GITHUB_NOTIFICATION_TOKEN_PATH = config.sops.secrets.github-notifications-token.path; - }); + }; }; }; } @@ -4687,10 +4684,10 @@ There is a persistent bug over Linux kernels that makes the user wait 1m30s on s options.swarselmodules.systemdTimeout = lib.mkEnableOption "systemd timeout config"; config = lib.mkIf config.swarselmodules.systemdTimeout { # systemd - systemd.settings.Manager = { - DefaultTimeoutStartSec = "60s"; - DefaultTimeoutStopSec = "15s"; - }; + systemd.extraConfig = '' + DefaultTimeoutStartSec=60s + DefaultTimeoutStopSec=15s + ''; }; } #+end_src @@ -5592,7 +5589,7 @@ This section houses the greetd related settings. I do not really want to use a d settings = { initial_session.command = "sway"; default_session.command = '' - ${pkgs.tuigreet}/bin/tuigreet \ + ${pkgs.greetd.tuigreet}/bin/tuigreet \ --time \ --asterisks \ --user-menu \ @@ -5704,7 +5701,7 @@ When a program does not work, start with =nix-ldd =. This will tell you pixman speex stdenv.cc.cc - stable.steam-fhsenv-without-steam + steam-fhsenv-without-steam systemd tbb vulkan-loader @@ -10386,12 +10383,13 @@ Options that I need specifically at work. There are more options at [[#h:f0b2ea9 gh ]; + services = { spice-vdagentd.enable = true; openssh = { enable = true; extraConfig = '' - ''; + ''; }; syncthing = { @@ -11212,7 +11210,6 @@ Sets environment variables. Here I am only setting the EDITOR variable, most var SWARSEL_CAL3NAME = source3-name; SWARSEL_FULLNAME = fullName; SWARSEL_MAIL_ALL = allMailAddresses; - GITHUB_NOTIFICATION_TOKEN_PATH = nixosConfig.sops.secrets.github-notifications-token.path; }; }; } @@ -11684,7 +11681,6 @@ Currently I only use it as before with =initExtra= though. sops.secrets = lib.mkIf (!config.swarselsystems.isPublic && !config.swarselsystems.isNixos) { croc-password = { }; - github-nixpkgs-review-token = { }; }; programs.zsh = { @@ -11719,10 +11715,8 @@ Currently I only use it as before with =initExtra= though. boot-diff = "nix store diff-closures /run/*-system"; gen-diff = "nix profile diff-closures --profile /nix/var/nix/profiles/system"; cc = "wl-copy"; - build-topology = "nix build .#topology.x86_64-linux.config.output"; - build-iso = "nix build --print-out-paths .#live-iso"; - nix-review- = "nix run nixpkgs#nixpkgs-review -- rev HEAD"; - nix-review-post = "nix run nixpkgs#nixpkgs-review -- pr --post-result --systems linux"; + topology = "nix build .#topology.x86_64-linux.config.output"; + iso = "nix build --print-out-paths .#live-iso"; } config.swarselsystems.shellAliases; autosuggestion.enable = true; @@ -11796,7 +11790,6 @@ Currently I only use it as before with =initExtra= though. bindkey '^H' my-backward-delete-word export CROC_PASS="$(cat ${nixosConfig.sops.secrets.croc-password.path})" - export GITHUB_TOKEN="$(cat ${nixosConfig.sops.secrets.github-nixpkgs-review-token.path})" ''; }; }; @@ -11979,76 +11972,22 @@ Normally I use 4 mail accounts - here I set them all up. Three of them are Googl # this is needed so that mbsync can use the passwords from sops systemd.user.services.mbsync.Unit.After = [ "sops-nix.service" ]; - programs.thunderbird = { - enable = true; - profiles.default = { - isDefault = true; - withExternalGnupg = true; - settings = { - "mail.identity.default.archive_enabled" = true; - "mail.identity.default.archive_keep_folder_structure" = true; - "mail.identity.default.compose_html" = false; - "mail.identity.default.protectSubject" = true; - "mail.identity.default.reply_on_top" = 1; - "mail.identity.default.sig_on_reply" = false; - "mail.identity.default.sig_bottom" = false; - - "gfx.webrender.all" = true; - "gfx.webrender.enabled" = true; - }; - }; - - settings = { - "mail.server.default.allow_utf8_accept" = true; - "mail.server.default.max_articles" = 1000; - "mail.server.default.check_all_folders_for_new" = true; - "mail.show_headers" = 1; - "mail.identity.default.auto_quote" = true; - "mail.identity.default.attachPgpKey" = true; - "mailnews.default_sort_order" = 2; - "mailnews.default_sort_type" = 18; - "mailnews.default_view_flags" = 0; - "mailnews.sort_threads_by_root" = true; - "mailnews.headers.showMessageId" = true; - "mailnews.headers.showOrganization" = true; - "mailnews.headers.showReferences" = true; - "mailnews.headers.showUserAgent" = true; - "mail.imap.expunge_after_delete" = true; - "mail.server.default.delete_model" = 2; - "mail.warn_on_delete_from_trash" = false; - "mail.warn_on_shift_delete" = false; - "toolkit.telemetry.enabled" = false; - "toolkit.telemetry.rejected" = true; - "toolkit.telemetry.prompted" = 2; - "app.update.auto" = false; - "privacy.donottrackheader.enabled" = true; - }; - }; - - xdg.mimeApps.defaultApplications = { - "x-scheme-handler/mailto" = [ "thunderbird.desktop" ]; - "x-scheme-handler/mid" = [ "thunderbird.desktop" ]; - "message/rfc822" = [ "thunderbird.desktop" ]; - }; - accounts = lib.mkIf (config.swarselsystems.isNixos && !config.swarselsystems.isPublic) { - email = - let - defaultSettings = { - imap = { - host = "imap.gmail.com"; - port = 993; - tls.enable = true; # SSL/TLS - }; - smtp = { - host = "smtp.gmail.com"; - port = 465; - tls.enable = true; # SSL/TLS - }; - thunderbird = { - enable = true; - profiles = [ "default" ]; + email = { + maildirBasePath = "Mail"; + accounts = { + leon = { + primary = true; + address = address1; + userName = address1; + realName = fullName; + passwordCommand = "cat ${nixosConfig.sops.secrets.address1-token.path}"; + gpg = { + key = "0x76FD3810215AE097"; + signByDefault = true; }; + imap.host = "imap.gmail.com"; + smtp.host = "smtp.gmail.com"; mu.enable = true; msmtp = { enable = true; @@ -12069,68 +12008,85 @@ Normally I use 4 mail accounts - here I set them all up. Three of them are Googl }; }; }; - in - { - maildirBasePath = "Mail"; - accounts = { - swarsel = { - address = address4; - userName = address4-user; - realName = fullName; - passwordCommand = "cat ${nixosConfig.sops.secrets.address4-token.path}"; - smtp = { - host = address4-host; - port = 587; - tls = { - enable = true; - useStartTls = true; - }; - }; - mu.enable = false; - msmtp = { + + swarsel = { + address = address4; + userName = address4-user; + realName = fullName; + passwordCommand = "cat ${nixosConfig.sops.secrets.address4-token.path}"; + smtp = { + host = address4-host; + port = 587; + tls = { enable = true; - }; - mbsync = { - enable = false; + useStartTls = true; }; }; - - leon = lib.recursiveUpdate - { - primary = true; - address = address1; - userName = address1; - realName = fullName; - passwordCommand = "cat ${nixosConfig.sops.secrets.address1-token.path}"; - gpg = { - key = "0x76FD3810215AE097"; - signByDefault = true; - }; - } - defaultSettings; - - nautilus = lib.recursiveUpdate - { - primary = false; - address = address2; - userName = address2; - realName = address2-name; - passwordCommand = "cat ${nixosConfig.sops.secrets.address2-token.path}"; - } - defaultSettings; - - mrswarsel = lib.recursiveUpdate - { - primary = false; - address = address3; - userName = address3; - realName = address3-name; - passwordCommand = "cat ${nixosConfig.sops.secrets.address3-token.path}"; - } - defaultSettings; - + mu.enable = false; + msmtp = { + enable = true; + }; + mbsync = { + enable = false; + }; }; + + nautilus = { + primary = false; + address = address2; + userName = address2; + realName = address2-name; + passwordCommand = "cat ${nixosConfig.sops.secrets.address2-token.path}"; + imap.host = "imap.gmail.com"; + smtp.host = "smtp.gmail.com"; + msmtp.enable = true; + mu.enable = true; + mbsync = { + enable = true; + create = "maildir"; + expunge = "both"; + patterns = [ "*" "![Gmail]*" "[Gmail]/Sent Mail" "[Gmail]/Starred" "[Gmail]/All Mail" ]; + extraConfig = { + channel = { + Sync = "All"; + }; + account = { + Timeout = 120; + PipelineDepth = 1; + }; + }; + }; + }; + + mrswarsel = { + primary = false; + address = address3; + userName = address3; + realName = address3-name; + passwordCommand = "cat ${nixosConfig.sops.secrets.address3-token.path}"; + imap.host = "imap.gmail.com"; + smtp.host = "smtp.gmail.com"; + msmtp.enable = true; + mu.enable = true; + mbsync = { + enable = true; + create = "maildir"; + expunge = "both"; + patterns = [ "*" "![Gmail]*" "[Gmail]/Sent Mail" "[Gmail]/Starred" "[Gmail]/All Mail" ]; + extraConfig = { + channel = { + Sync = "All"; + }; + account = { + Timeout = 120; + PipelineDepth = 1; + }; + }; + }; + }; + }; + }; }; }; } @@ -13033,10 +12989,9 @@ Currently, I am too lazy to explain every option here, but most of it is very se "${modifier}+Shift+F12" = "move scratchpad"; "${modifier}+F12" = "scratchpad show"; "${modifier}+Shift+c" = "exec qalculate-gtk"; - "${modifier}+c" = "exec emacsclient -cF '((name . \"Emacs Popup Anchor\"))' -e '(prot-window-popup-org-capture)'"; - "${modifier}+t" = "exec emacsclient -cF '((name . \"Emacs Popup Anchor\"))' -e '(prot-window-popup-org-agenda)'"; - "${modifier}+Shift+m" = "exec emacsclient -cF '((name . \"Emacs Popup Anchor\"))' -e '(prot-window-popup-mu4e)'"; - "${modifier}+Shift+a" = "exec emacsclient -cF '((name . \"Emacs Popup Anchor\"))' -e '(prot-window-popup-swarsel/open-calendar)'"; + "${modifier}+c" = "emacsclient -e '(prot-window-popup-org-capture)'"; + "${modifier}+Shift+m" = "emacsclient -e '(prot-window-popup-mu4e)'"; + "${modifier}+Shift+a" = "emacsclient -e '(prot-window-popup-swarsel/open-calendar)'"; "${modifier}+p" = "exec pass-fuzzel"; "${modifier}+o" = "exec pass-fuzzel --otp"; "${modifier}+Shift+p" = "exec pass-fuzzel --type"; @@ -13169,8 +13124,7 @@ Currently, I am too lazy to explain every option here, but most of it is very se { title = "^Add$"; } { title = "^Picture-in-Picture$"; } { title = "Syncthing Tray"; } - { title = "^Emacs Popup Frame$"; } - { title = "^Emacs Popup Anchor$"; } + { title = "Emacs Popup Frame"; } { title = "^spotifytui$"; } { title = "^kittyterm$"; } { app_id = "vesktop"; } @@ -13221,18 +13175,6 @@ Currently, I am too lazy to explain every option here, but most of it is very se title = "^Picture-in-Picture$"; }; } - { - command = "resize set width 60 ppt height 60 ppt, opacity 0.99, sticky enable"; - criteria = { - title = "^Emacs Popup Frame$"; - }; - } - { - command = "move container to scratchpad"; - criteria = { - title = "^Emacs Popup Anchor$"; - }; - } { command = "resize set width 60 ppt height 60 ppt, opacity 0.8, sticky enable, border normal, move container to scratchpad"; criteria = { @@ -13664,544 +13606,447 @@ The rest of the settings is at [[#h:bbf2ecb6-c8ff-4462-b5d5-d45b28604ddf][work]] in { options.swarselmodules.optional.work = lib.mkEnableOption "optional work settings"; - config = lib.mkIf config.swarselmodules.optional.work - { - home.packages = with pkgs; [ - stable.teams-for-linux - shellcheck - dig - docker - postman - rclone - stable24_05.awscli2 - libguestfs-with-appliance - stable.prometheus.cli - tigervnc - openstackclient - pizauth - ]; + config = lib.mkIf config.swarselmodules.optional.work { + home.packages = with pkgs; [ + stable.teams-for-linux + shellcheck + dig + docker + postman + rclone + stable24_05.awscli2 + libguestfs-with-appliance + stable.prometheus.cli + tigervnc + openstackclient + ]; - systemd.user.services.pizauth = { - Unit = { - Description = "Pizauth OAuth2 token manager"; + home.sessionVariables = { + DOCUMENT_DIR_PRIV = lib.mkForce "${homeDir}/Documents/Private"; + DOCUMENT_DIR_WORK = lib.mkForce "${homeDir}/Documents/Work"; + }; + + wayland.windowManager.sway.config = { + output = { + "Applied Creative Technology Transmitter QUATTRO201811" = { + bg = "${self}/files/wallpaper/navidrome.png ${config.stylix.imageScalingMode}"; }; - - Service = { - Type = "simple"; - ExecStart = "${pkgs.pizauth}/bin/pizauth server -vvvv -d"; - ExecReload = "${pkgs.pizauth}/bin/pizauth reload"; - ExecStop = "${pkgs.pizauth}/bin/pizauth shutdown"; + "Hewlett Packard HP Z24i CN44250RDT" = { + bg = "${self}/files/wallpaper/op6wp.png ${config.stylix.imageScalingMode}"; }; - - Install = { - WantedBy = [ "default.target" ]; + "HP Inc. HP 732pk CNC4080YL5" = { + bg = "${self}/files/wallpaper/botanicswp.png ${config.stylix.imageScalingMode}"; }; }; + }; - home.sessionVariables = { - DOCUMENT_DIR_PRIV = lib.mkForce "${homeDir}/Documents/Private"; - DOCUMENT_DIR_WORK = lib.mkForce "${homeDir}/Documents/Work"; - }; - - accounts.email.accounts.work = - let - inherit (nixosConfig.repo.secrets.local.work) mailAddress mailName; - in - { - primary = false; - address = mailAddress; - userName = mailAddress; - realName = mailName; - passwordCommand = "pizauth show work"; - imap = { - host = "outlook.office365.com"; - port = 993; - tls.enable = true; # SSL/TLS - }; - smtp = { - host = "outlook.office365.com"; - port = 587; - tls = { - enable = true; # SSL/TLS - useStartTls = true; - }; - }; - thunderbird = { - enable = true; - profiles = [ "default" ]; - settings = id: { - "mail.smtpserver.smtp_${id}.authMethod" = 10; # oauth - "mail.server.server_${id}.authMethod" = 10; # oauth - # "toolkit.telemetry.enabled" = false; - # "toolkit.telemetry.rejected" = true; - # "toolkit.telemetry.prompted" = 2; - }; - }; - msmtp = { - enable = false; - extraConfig = { - account = "work"; - auth = "xoauth2"; - host = "outlook.office365.com"; - protocol = "smtp"; - port = "587"; - tls = "on"; - tls_starttls = "on"; - from = "${mailAddress}"; - user = "${mailAddress}"; - passwordeval = "pizauth show work"; - }; - }; - mu.enable = false; - mbsync = { - enable = false; - expunge = "both"; - extraConfig = { - account = { - AuthMechs = "XOAUTH2"; - }; - }; - }; - }; - - wayland.windowManager.sway.config = { - output = { - "Applied Creative Technology Transmitter QUATTRO201811" = { - bg = "${self}/files/wallpaper/navidrome.png ${config.stylix.imageScalingMode}"; - }; - "Hewlett Packard HP Z24i CN44250RDT" = { - bg = "${self}/files/wallpaper/op6wp.png ${config.stylix.imageScalingMode}"; - }; - "HP Inc. HP 732pk CNC4080YL5" = { - bg = "${self}/files/wallpaper/botanicswp.png ${config.stylix.imageScalingMode}"; - }; - }; - }; - - stylix = { - targets.firefox.profileNames = - let - inherit (nixosConfig.repo.secrets.local.work) user1 user2 user3; - in - [ - "${user1}" - "${user2}" - "${user3}" - "work" - ]; - }; - - programs = - let - inherit (nixosConfig.repo.secrets.local.work) user1 user1Long user2 user2Long user3 user3Long user4 path1 loc1 loc2 site1 site2 site3 site4 site5 site6 site7 lifecycle1 lifecycle2 domain1 domain2 gitMail; - in - { - git.userEmail = lib.mkForce gitMail; - - zsh = { - shellAliases = { - dssh = "ssh -l ${user1Long}"; - cssh = "ssh -l ${user2Long}"; - wssh = "ssh -l ${user3Long}"; - }; - cdpath = [ - "~/Documents/Work" - ]; - dirHashes = { - d = "$HOME/.dotfiles"; - w = "$HOME/Documents/Work"; - s = "$HOME/.dotfiles/secrets"; - pr = "$HOME/Documents/Private"; - ac = path1; - }; - }; - - ssh = { - matchBlocks = { - "${loc1}" = { - hostname = "${loc1}.${domain2}"; - user = user4; - }; - "${loc1}.stg" = { - hostname = "${loc1}.${lifecycle1}.${domain2}"; - user = user4; - }; - "${loc1}.staging" = { - hostname = "${loc1}.${lifecycle1}.${domain2}"; - user = user4; - }; - "${loc1}.dev" = { - hostname = "${loc1}.${lifecycle2}.${domain2}"; - user = user4; - }; - "${loc2}" = { - hostname = "${loc2}.${domain1}"; - user = user1Long; - }; - "${loc2}.stg" = { - hostname = "${loc2}.${lifecycle1}.${domain2}"; - user = user1Long; - }; - "${loc2}.staging" = { - hostname = "${loc2}.${lifecycle1}.${domain2}"; - user = user1Long; - }; - "*.${domain1}" = { - user = user1Long; - }; - }; - }; - - firefox = { - profiles = - let - isDefault = false; - in - { - "${user1}" = lib.recursiveUpdate - { - inherit isDefault; - id = 1; - settings = { - "browser.startup.homepage" = "${site1}|${site2}"; - }; - } - vars.firefox; - "${user2}" = lib.recursiveUpdate - { - inherit isDefault; - id = 2; - settings = { - "browser.startup.homepage" = "${site3}"; - }; - } - vars.firefox; - "${user3}" = lib.recursiveUpdate - { - inherit isDefault; - id = 3; - } - vars.firefox; - work = lib.recursiveUpdate - { - inherit isDefault; - id = 4; - settings = { - "browser.startup.homepage" = "${site4}|${site5}|${site6}|${site7}"; - }; - } - vars.firefox; - }; - }; - - chromium = { - enable = true; - package = pkgs.chromium; - - extensions = [ - # 1password - "gejiddohjgogedgjnonbofjigllpkmbf" - # dark reader - "eimadpbcbfnmbkopoojfekhnkhdbieeh" - # ublock origin - "cjpalhdlnbpafiamejdnhcphjbkeiagm" - # i still dont care about cookies - "edibdbjcniadpccecjdfdjjppcpchdlm" - # browserpass - "naepdomgkenhinolocfifgehidddafch" - ]; - }; - }; - - services = { - kanshi = { - settings = [ - { - # seminary room - output = { - criteria = "Applied Creative Technology Transmitter QUATTRO201811"; - scale = 1.0; - mode = "1280x720"; - }; - } - { - # work main screen - output = { - criteria = "HP Inc. HP 732pk CNC4080YL5"; - scale = 1.0; - mode = "3840x2160"; - }; - } - { - # work side screen - output = { - criteria = "Hewlett Packard HP Z24i CN44250RDT"; - scale = 1.0; - mode = "1920x1200"; - transform = "270"; - }; - } - { - profile = { - name = "lidopen"; - outputs = [ - { - criteria = config.swarselsystems.sharescreen; - status = "enable"; - scale = 1.5; - position = "1462,0"; - } - { - criteria = "HP Inc. HP 732pk CNC4080YL5"; - scale = 1.4; - mode = "3840x2160"; - position = "-1280,0"; - } - { - criteria = "Hewlett Packard HP Z24i CN44250RDT"; - scale = 1.0; - mode = "1920x1200"; - transform = "90"; - position = "-2480,0"; - } - ]; - }; - } - { - profile = { - name = "lidopen"; - outputs = [ - { - criteria = config.swarselsystems.sharescreen; - status = "enable"; - scale = 1.7; - position = "2560,0"; - } - { - criteria = "Applied Creative Technology Transmitter QUATTRO201811"; - scale = 1.0; - mode = "1280x720"; - position = "10000,10000"; - } - ]; - }; - } - { - profile = { - name = "lidclosed"; - outputs = [ - { - criteria = config.swarselsystems.sharescreen; - status = "disable"; - } - { - criteria = "HP Inc. HP 732pk CNC4080YL5"; - scale = 1.4; - mode = "3840x2160"; - position = "-1280,0"; - } - { - criteria = "Hewlett Packard HP Z24i CN44250RDT"; - scale = 1.0; - mode = "1920x1200"; - transform = "270"; - position = "-2480,0"; - } - ]; - }; - } - { - profile = { - name = "lidclosed"; - outputs = [ - { - criteria = config.swarselsystems.sharescreen; - status = "disable"; - } - { - criteria = "Applied Creative Technology Transmitter QUATTRO201811"; - scale = 1.0; - mode = "1280x720"; - position = "10000,10000"; - } - ]; - }; - } - ]; - }; - }; - - xdg = + stylix = { + targets.firefox.profileNames = let inherit (nixosConfig.repo.secrets.local.work) user1 user2 user3; in - { - configFile."pizauth.conf".text = '' - account "work" { - auth_uri = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize"; - token_uri = "https://login.microsoftonline.com/common/oauth2/v2.0/token"; - client_id = "08162f7c-0fd2-4200-a84a-f25a4db0b584"; - client_secret = "TxRBilcHdC6WGBee]fs?QR:SJ8nI[g82"; - scopes = [ - "https://outlook.office365.com/IMAP.AccessAsUser.All", - "https://outlook.office365.com/SMTP.Send", - "offline_access" - ]; - // You don't have to specify login_hint, but it does make - // authentication a little easier. - login_hint = "${nixosConfig.repo.secrets.local.work.mailAddress}"; - } - ''; + [ + "${user1}" + "${user2}" + "${user3}" + "work" + ]; + }; - mimeApps = { - defaultApplications = { - "x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ]; + programs = + let + inherit (nixosConfig.repo.secrets.local.work) user1 user1Long user2 user2Long user3 user3Long user4 path1 loc1 loc2 site1 site2 site3 site4 site5 site6 site7 lifecycle1 lifecycle2 domain1 domain2 gitMail; + in + { + git.userEmail = lib.mkForce gitMail; + + zsh = { + shellAliases = { + dssh = "ssh -l ${user1Long}"; + cssh = "ssh -l ${user2Long}"; + wssh = "ssh -l ${user3Long}"; + }; + cdpath = [ + "~/Documents/Work" + ]; + dirHashes = { + d = "$HOME/.dotfiles"; + w = "$HOME/Documents/Work"; + s = "$HOME/.dotfiles/secrets"; + pr = "$HOME/Documents/Private"; + ac = path1; + }; + }; + + ssh = { + matchBlocks = { + "${loc1}" = { + hostname = "${loc1}.${domain2}"; + user = user4; + }; + "${loc1}.stg" = { + hostname = "${loc1}.${lifecycle1}.${domain2}"; + user = user4; + }; + "${loc1}.staging" = { + hostname = "${loc1}.${lifecycle1}.${domain2}"; + user = user4; + }; + "${loc1}.dev" = { + hostname = "${loc1}.${lifecycle2}.${domain2}"; + user = user4; + }; + "${loc2}" = { + hostname = "${loc2}.${domain1}"; + user = user1Long; + }; + "${loc2}.stg" = { + hostname = "${loc2}.${lifecycle1}.${domain2}"; + user = user1Long; + }; + "${loc2}.staging" = { + hostname = "${loc2}.${lifecycle1}.${domain2}"; + user = user1Long; + }; + "*.${domain1}" = { + user = user1Long; }; }; - desktopEntries = + }; + + firefox = { + profiles = let - terminal = false; - categories = [ "Application" ]; - icon = "firefox"; + isDefault = false; in { - firefox_work = { - name = "Firefox (work)"; - genericName = "Firefox work"; - exec = "firefox -p work"; - inherit terminal categories icon; - }; - "firefox_${user1}" = { - name = "Firefox (${user1})"; - genericName = "Firefox ${user1}"; - exec = "firefox -p ${user1}"; - inherit terminal categories icon; - }; - - "firefox_${user2}" = { - name = "Firefox (${user2})"; - genericName = "Firefox ${user2}"; - exec = "firefox -p ${user2}"; - inherit terminal categories icon; - }; - - "firefox_${user3}" = { - name = "Firefox (${user3})"; - genericName = "Firefox ${user3}"; - exec = "firefox -p ${user3}"; - inherit terminal categories icon; - }; - - + "${user1}" = lib.recursiveUpdate + { + inherit isDefault; + id = 1; + settings = { + "browser.startup.homepage" = "${site1}|${site2}"; + }; + } + vars.firefox; + "${user2}" = lib.recursiveUpdate + { + inherit isDefault; + id = 2; + settings = { + "browser.startup.homepage" = "${site3}"; + }; + } + vars.firefox; + "${user3}" = lib.recursiveUpdate + { + inherit isDefault; + id = 3; + } + vars.firefox; + work = lib.recursiveUpdate + { + inherit isDefault; + id = 4; + settings = { + "browser.startup.homepage" = "${site4}|${site5}|${site6}|${site7}"; + }; + } + vars.firefox; }; }; - swarselsystems = { - startup = [ - # { command = "nextcloud --background"; } - { command = "vesktop --start-minimized --enable-speech-dispatcher --ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime"; } - { command = "element-desktop --hidden --enable-features=UseOzonePlatform --ozone-platform=wayland --disable-gpu-driver-bug-workarounds"; } - { command = "ANKI_WAYLAND=1 anki"; } - { command = "OBSIDIAN_USE_WAYLAND=1 obsidian"; } - { command = "nm-applet"; } - # { command = "feishin"; } - { command = "teams-for-linux --disableGpu=true --minimized=true --trayIconEnabled=true"; } - { command = "1password"; } - ]; - monitors = { - main = { - name = "BOE 0x0BC9 Unknown"; - mode = "2560x1600"; # TEMPLATE - scale = "1"; - position = "2560,0"; - workspace = "15:L"; - output = "eDP-2"; - }; - homedesktop = { - name = "Philips Consumer Electronics Company PHL BDM3270 AU11806002320"; - mode = "2560x1440"; - scale = "1"; - position = "0,0"; - workspace = "1:一"; - output = "DP-11"; - }; - work_back_middle = { - name = "LG Electronics LG Ultra HD 0x000305A6"; - mode = "2560x1440"; - scale = "1"; - position = "5120,0"; - workspace = "1:一"; - output = "DP-10"; - }; - work_front_left = { - name = "LG Electronics LG Ultra HD 0x0007AB45"; - mode = "3840x2160"; - scale = "1"; - position = "5120,0"; - workspace = "1:一"; - output = "DP-7"; - }; - work_back_right = { - name = "HP Inc. HP Z32 CN41212T55"; - mode = "3840x2160"; - scale = "1"; - position = "5120,0"; - workspace = "1:一"; - output = "DP-3"; - }; - work_middle_middle_main = { - name = "HP Inc. HP 732pk CNC4080YL5"; - mode = "3840x2160"; - scale = "1"; - position = "-1280,0"; - workspace = "11:M"; - output = "DP-8"; - }; - work_middle_middle_side = { - name = "Hewlett Packard HP Z24i CN44250RDT"; - mode = "1920x1200"; - transform = "270"; - scale = "1"; - position = "-2480,0"; - workspace = "12:S"; - output = "DP-9"; - }; - work_seminary = { - name = "Applied Creative Technology Transmitter QUATTRO201811"; - mode = "1280x720"; - scale = "1"; - position = "10000,10000"; # i.e. this screen is inaccessible by moving the mouse - workspace = "14:T"; - output = "DP-4"; - }; - }; - inputs = { - "1133:45081:MX_Master_2S_Keyboard" = { - xkb_layout = "us"; - xkb_variant = "altgr-intl"; - }; - # "2362:628:PIXA3854:00_093A:0274_Touchpad" = { - # dwt = "enabled"; - # tap = "enabled"; - # natural_scroll = "enabled"; - # middle_emulation = "enabled"; - # drag_lock = "disabled"; - # }; - "1133:50504:Logitech_USB_Receiver" = { - xkb_layout = "us"; - xkb_variant = "altgr-intl"; - }; - "1133:45944:MX_KEYS_S" = { - xkb_layout = "us"; - xkb_variant = "altgr-intl"; - }; - }; - keybindings = { - "Mod4+Ctrl+Shift+p" = "exec screenshare"; - }; + chromium = { + enable = true; + package = pkgs.chromium; + + extensions = [ + # 1password + "gejiddohjgogedgjnonbofjigllpkmbf" + # dark reader + "eimadpbcbfnmbkopoojfekhnkhdbieeh" + # ublock origin + "cjpalhdlnbpafiamejdnhcphjbkeiagm" + # i still dont care about cookies + "edibdbjcniadpccecjdfdjjppcpchdlm" + # browserpass + "naepdomgkenhinolocfifgehidddafch" + ]; + }; + }; + + services = { + kanshi = { + settings = [ + { + # seminary room + output = { + criteria = "Applied Creative Technology Transmitter QUATTRO201811"; + scale = 1.0; + mode = "1280x720"; + }; + } + { + # work main screen + output = { + criteria = "HP Inc. HP 732pk CNC4080YL5"; + scale = 1.0; + mode = "3840x2160"; + }; + } + { + # work side screen + output = { + criteria = "Hewlett Packard HP Z24i CN44250RDT"; + scale = 1.0; + mode = "1920x1200"; + transform = "270"; + }; + } + { + profile = { + name = "lidopen"; + outputs = [ + { + criteria = config.swarselsystems.sharescreen; + status = "enable"; + scale = 1.5; + position = "1462,0"; + } + { + criteria = "HP Inc. HP 732pk CNC4080YL5"; + scale = 1.4; + mode = "3840x2160"; + position = "-1280,0"; + } + { + criteria = "Hewlett Packard HP Z24i CN44250RDT"; + scale = 1.0; + mode = "1920x1200"; + transform = "90"; + position = "-2480,0"; + } + ]; + }; + } + { + profile = { + name = "lidopen"; + outputs = [ + { + criteria = config.swarselsystems.sharescreen; + status = "enable"; + scale = 1.7; + position = "2560,0"; + } + { + criteria = "Applied Creative Technology Transmitter QUATTRO201811"; + scale = 1.0; + mode = "1280x720"; + position = "10000,10000"; + } + ]; + }; + } + { + profile = { + name = "lidclosed"; + outputs = [ + { + criteria = config.swarselsystems.sharescreen; + status = "disable"; + } + { + criteria = "HP Inc. HP 732pk CNC4080YL5"; + scale = 1.4; + mode = "3840x2160"; + position = "-1280,0"; + } + { + criteria = "Hewlett Packard HP Z24i CN44250RDT"; + scale = 1.0; + mode = "1920x1200"; + transform = "270"; + position = "-2480,0"; + } + ]; + }; + } + { + profile = { + name = "lidclosed"; + outputs = [ + { + criteria = config.swarselsystems.sharescreen; + status = "disable"; + } + { + criteria = "Applied Creative Technology Transmitter QUATTRO201811"; + scale = 1.0; + mode = "1280x720"; + position = "10000,10000"; + } + ]; + }; + } + ]; }; }; + xdg = + let + inherit (nixosConfig.repo.secrets.local.work) user1 user2 user3; + in + { + mimeApps = { + defaultApplications = { + "x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ]; + }; + }; + desktopEntries = + let + terminal = false; + categories = [ "Application" ]; + icon = "firefox"; + in + { + firefox_work = { + name = "Firefox (work)"; + genericName = "Firefox work"; + exec = "firefox -p work"; + inherit terminal categories icon; + }; + "firefox_${user1}" = { + name = "Firefox (${user1})"; + genericName = "Firefox ${user1}"; + exec = "firefox -p ${user1}"; + inherit terminal categories icon; + }; + + "firefox_${user2}" = { + name = "Firefox (${user2})"; + genericName = "Firefox ${user2}"; + exec = "firefox -p ${user2}"; + inherit terminal categories icon; + }; + + "firefox_${user3}" = { + name = "Firefox (${user3})"; + genericName = "Firefox ${user3}"; + exec = "firefox -p ${user3}"; + inherit terminal categories icon; + }; + + + }; + }; + swarselsystems = { + startup = [ + # { command = "nextcloud --background"; } + { command = "vesktop --start-minimized --enable-speech-dispatcher --ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime"; } + { command = "element-desktop --hidden --enable-features=UseOzonePlatform --ozone-platform=wayland --disable-gpu-driver-bug-workarounds"; } + { command = "ANKI_WAYLAND=1 anki"; } + { command = "OBSIDIAN_USE_WAYLAND=1 obsidian"; } + { command = "nm-applet"; } + # { command = "feishin"; } + { command = "teams-for-linux --disableGpu=true --minimized=true --trayIconEnabled=true"; } + { command = "1password"; } + ]; + monitors = { + main = { + name = "BOE 0x0BC9 Unknown"; + mode = "2560x1600"; # TEMPLATE + scale = "1"; + position = "2560,0"; + workspace = "15:L"; + output = "eDP-2"; + }; + homedesktop = { + name = "Philips Consumer Electronics Company PHL BDM3270 AU11806002320"; + mode = "2560x1440"; + scale = "1"; + position = "0,0"; + workspace = "1:一"; + output = "DP-11"; + }; + work_back_middle = { + name = "LG Electronics LG Ultra HD 0x000305A6"; + mode = "2560x1440"; + scale = "1"; + position = "5120,0"; + workspace = "1:一"; + output = "DP-10"; + }; + work_front_left = { + name = "LG Electronics LG Ultra HD 0x0007AB45"; + mode = "3840x2160"; + scale = "1"; + position = "5120,0"; + workspace = "1:一"; + output = "DP-7"; + }; + work_back_right = { + name = "HP Inc. HP Z32 CN41212T55"; + mode = "3840x2160"; + scale = "1"; + position = "5120,0"; + workspace = "1:一"; + output = "DP-3"; + }; + work_middle_middle_main = { + name = "HP Inc. HP 732pk CNC4080YL5"; + mode = "3840x2160"; + scale = "1"; + position = "-1280,0"; + workspace = "11:M"; + output = "DP-8"; + }; + work_middle_middle_side = { + name = "Hewlett Packard HP Z24i CN44250RDT"; + mode = "1920x1200"; + transform = "270"; + scale = "1"; + position = "-2480,0"; + workspace = "12:S"; + output = "DP-9"; + }; + work_seminary = { + name = "Applied Creative Technology Transmitter QUATTRO201811"; + mode = "1280x720"; + scale = "1"; + position = "10000,10000"; # i.e. this screen is inaccessible by moving the mouse + workspace = "14:T"; + output = "DP-4"; + }; + }; + inputs = { + "1133:45081:MX_Master_2S_Keyboard" = { + xkb_layout = "us"; + xkb_variant = "altgr-intl"; + }; + # "2362:628:PIXA3854:00_093A:0274_Touchpad" = { + # dwt = "enabled"; + # tap = "enabled"; + # natural_scroll = "enabled"; + # middle_emulation = "enabled"; + # drag_lock = "disabled"; + # }; + "1133:50504:Logitech_USB_Receiver" = { + xkb_layout = "us"; + xkb_variant = "altgr-intl"; + }; + "1133:45944:MX_KEYS_S" = { + xkb_layout = "us"; + xkb_variant = "altgr-intl"; + }; + }; + keybindings = { + "Mod4+Ctrl+Shift+p" = "exec screenshare"; + }; + + }; + }; + } #+end_src @@ -18716,14 +18561,11 @@ Provides previews for embark. I set the annotation-mode of marginalia to =heavy=. This gives even more information on the stuff that you are looking at. One thing I am missing from ivy is the highlighting on =mode=-commands based on the current state of the mode. Also, I do not understand all the shorthands used by marginalia yet. #+begin_src emacs-lisp - (use-package marginalia - :after vertico - :bind (:map minibuffer-local-map - ("M-A" . marginalia-cycle)) - :init - (marginalia-mode) - ;; (setq marginalia-annotators '(marginalia-annotators-heavy marginalia-annotators-light nil)) - ) + (use-package marginalia + :after vertico + :init + (marginalia-mode) + (setq marginalia-annotators '(marginalia-annotators-heavy marginalia-annotators-light nil))) #+end_src ***** nerd-icons-completion @@ -18902,22 +18744,6 @@ This part of the configuration mostly makes some aesthetic changes, enables neat #+begin_src emacs-lisp - (defun swarsel/org-agenda-done-and-archive () - "Mark TODO at point as DONE, archive it, and save all agenda files." - (interactive) - (let ((org-archive-location "~/Nextcloud/Org/Archive.org::Archive")) - (org-agenda-todo "DONE") - (org-agenda-archive) - (dolist (buf (buffer-list)) - (with-current-buffer buf - (when (and buffer-file-name - (string-prefix-p (expand-file-name "~/Nextcloud/Org/") (file-truename buffer-file-name)) - (derived-mode-p 'org-mode)) - (save-buffer)))))) - - (with-eval-after-load 'org-agenda - (define-key org-agenda-mode-map (kbd "C-a") #'swarsel/org-agenda-done-and-archive)) - (use-package org ;;:diminish (org-indent-mode) :hook (org-mode . swarsel/org-mode-setup) @@ -18944,18 +18770,11 @@ This part of the configuration mostly makes some aesthetic changes, enables neat "/home/swarsel/Nextcloud/Org/Archive.org" )) - (setq org-capture-templates - '(("t" "Todo" entry (file+headline "~/Nextcloud/Org/Tasks.org" "Inbox") - "* TODO %?\n %i\n %a") - ("j" "Journal" entry (file+datetree "~/Nextcloud/Org/Journal.org") - "* %?\nEntered on %U\n %i\n %a"))) - (setq org-refile-targets '((swarsel-archive-org-file :maxlevel . 1) (swarsel-tasks-org-file :maxlevel . 1))) ) - #+end_src **** org-appear :PROPERTIES: @@ -20505,56 +20324,46 @@ This sets up the =dashboard=, which is really quite useless. But, it looks cool (add-hook 'comint-output-filter-functions 'comint-truncate-buffer) #+end_src - *** Popup frames #+begin_src emacs-lisp - (defun prot-window-delete-popup-frame (&rest _) - "Kill selected selected frame if it has parameter `prot-window-popup-frame'. - Use this function via a hook." - (when (frame-parameter nil 'prot-window-popup-frame) - (delete-frame))) + (defun prot-window-delete-popup-frame (&rest _) + "Kill selected selected frame if it has parameter `prot-window-popup-frame'. + Use this function via a hook." + (when (frame-parameter nil 'prot-window-popup-frame) + (delete-frame))) - (defmacro prot-window-define-with-popup-frame (command) - "Define interactive function which calls COMMAND in a new frame. - Make the new frame have the `prot-window-popup-frame' parameter." - `(defun ,(intern (format "prot-window-popup-%s" command)) () - ,(format "Run `%s' in a popup frame with `prot-window-popup-frame' parameter. - Also see `prot-window-delete-popup-frame'." command) - (interactive) - (let ((frame (make-frame '((prot-window-popup-frame . t) - (title . "Emacs Popup Frame"))))) - (unwind-protect - (progn - (select-frame frame) - (switch-to-buffer " prot-window-hidden-buffer-for-popup-frame") - (condition-case nil - (call-interactively ',command) - ((quit error user-error) - (delete-frame frame)))) - (dolist (fr (frame-list)) - (when (string= (frame-parameter fr 'name) "Emacs Popup Anchor") - (delete-frame fr))))))) + (defmacro prot-window-define-with-popup-frame (command) + "Define interactive function which calls COMMAND in a new frame. + Make the new frame have the `prot-window-popup-frame' parameter." + `(defun ,(intern (format "prot-window-popup-%s" command)) () + ,(format "Run `%s' in a popup frame with `prot-window-popup-frame' parameter. + Also see `prot-window-delete-popup-frame'." command) + (interactive) + (let ((frame (make-frame '((prot-window-popup-frame . t))))) + (select-frame frame) + (modify-frame-parameters nil '((title . "Emacs Popup Frame"))) + (switch-to-buffer " prot-window-hidden-buffer-for-popup-frame") + (condition-case nil + (call-interactively ',command) + ((quit error user-error) + (delete-frame frame)))))) - (declare-function org-capture "org-capture" (&optional goto keys)) - (defvar org-capture-after-finalize-hook) - ;;;###autoload (autoload 'prot-window-popup-org-capture "prot-window") - (prot-window-define-with-popup-frame org-capture) - (add-hook 'org-capture-after-finalize-hook #'prot-window-delete-popup-frame) + (declare-function org-capture "org-capture" (&optional goto keys)) + (defvar org-capture-after-finalize-hook) + ;;;###autoload (autoload 'prot-window-popup-org-capture "prot-window") + (prot-window-define-with-popup-frame org-capture) + (add-hook 'org-capture-after-finalize-hook #'prot-window-delete-popup-frame) - (declare-function mu4e "mu4e" (&optional goto keys)) - ;;;###autoload (autoload 'prot-window-popup-mu4e "prot-window") - (prot-window-define-with-popup-frame mu4e) - (advice-add 'mu4e-quit :after #'prot-window-delete-popup-frame) + (declare-function mu4e "mu4e" (&optional goto keys)) + ;;;###autoload (autoload 'prot-window-popup-mu4e "prot-window") + (prot-window-define-with-popup-frame mu4e) + (advice-add 'mu4e-quit :after #'prot-window-delete-popup-frame) - (declare-function swarsel/open-calendar "swarsel/open-calendar" (&optional goto keys)) - ;;;###autoload (autoload 'prot-window-popup-swarsel/open-calendar "prot-window") - (prot-window-define-with-popup-frame swarsel/open-calendar) - (advice-add 'bury-buffer :after #'prot-window-delete-popup-frame) - - (declare-function org-agenda "org-agenda" (&optional goto keys)) - ;;;###autoload (autoload 'prot-window-popup-org-agenda "prot-window") - (prot-window-define-with-popup-frame org-agenda) + (declare-function swarsel/open-calendar "swarsel/open-calendar" (&optional goto keys)) + ;;;###autoload (autoload 'prot-window-popup-swarsel/open-calendar "prot-window") + (prot-window-define-with-popup-frame swarsel/open-calendar) + (advice-add 'bury-buffer :after #'prot-window-delete-popup-frame) #+end_src diff --git a/files/emacs/init.el b/files/emacs/init.el index d0fb729..d9c090a 100644 --- a/files/emacs/init.el +++ b/files/emacs/init.el @@ -713,12 +713,9 @@ create a new one." (use-package marginalia :after vertico - :bind (:map minibuffer-local-map - ("M-A" . marginalia-cycle)) :init (marginalia-mode) - ;; (setq marginalia-annotators '(marginalia-annotators-heavy marginalia-annotators-light nil)) - ) + (setq marginalia-annotators '(marginalia-annotators-heavy marginalia-annotators-light nil))) (use-package nerd-icons-completion :after (marginalia nerd-icons) @@ -804,22 +801,6 @@ create a new one." (setq auth-sources '( "~/.emacs.d/.authinfo") auth-source-cache-expiry nil) -(defun swarsel/org-agenda-done-and-archive () - "Mark TODO at point as DONE, archive it, and save all agenda files." - (interactive) - (let ((org-archive-location "~/Nextcloud/Org/Archive.org::Archive")) - (org-agenda-todo "DONE") - (org-agenda-archive) - (dolist (buf (buffer-list)) - (with-current-buffer buf - (when (and buffer-file-name - (string-prefix-p (expand-file-name "~/Nextcloud/Org/") (file-truename buffer-file-name)) - (derived-mode-p 'org-mode)) - (save-buffer)))))) - -(with-eval-after-load 'org-agenda - (define-key org-agenda-mode-map (kbd "C-a") #'swarsel/org-agenda-done-and-archive)) - (use-package org ;;:diminish (org-indent-mode) :hook (org-mode . swarsel/org-mode-setup) @@ -846,12 +827,6 @@ create a new one." "/home/swarsel/Nextcloud/Org/Archive.org" )) - (setq org-capture-templates - '(("t" "Todo" entry (file+headline "~/Nextcloud/Org/Tasks.org" "Inbox") - "* TODO %?\n %i\n %a") - ("j" "Journal" entry (file+datetree "~/Nextcloud/Org/Journal.org") - "* %?\nEntered on %U\n %i\n %a"))) - (setq org-refile-targets '((swarsel-archive-org-file :maxlevel . 1) (swarsel-tasks-org-file :maxlevel . 1))) @@ -1737,7 +1712,7 @@ create a new one." (defun prot-window-delete-popup-frame (&rest _) "Kill selected selected frame if it has parameter `prot-window-popup-frame'. - Use this function via a hook." +Use this function via a hook." (when (frame-parameter nil 'prot-window-popup-frame) (delete-frame))) @@ -1748,36 +1723,27 @@ Make the new frame have the `prot-window-popup-frame' parameter." ,(format "Run `%s' in a popup frame with `prot-window-popup-frame' parameter. Also see `prot-window-delete-popup-frame'." command) (interactive) - (let ((frame (make-frame '((prot-window-popup-frame . t) - (title . "Emacs Popup Frame"))))) - (unwind-protect - (progn - (select-frame frame) - (switch-to-buffer " prot-window-hidden-buffer-for-popup-frame") - (condition-case nil - (call-interactively ',command) - ((quit error user-error) - (delete-frame frame)))) - (dolist (fr (frame-list)) - (when (string= (frame-parameter fr 'name) "Emacs Popup Anchor") - (delete-frame fr))))))) + (let ((frame (make-frame '((prot-window-popup-frame . t))))) + (select-frame frame) + (modify-frame-parameters nil '((title . "Emacs Popup Frame"))) + (switch-to-buffer " prot-window-hidden-buffer-for-popup-frame") + (condition-case nil + (call-interactively ',command) + ((quit error user-error) + (delete-frame frame)))))) (declare-function org-capture "org-capture" (&optional goto keys)) (defvar org-capture-after-finalize-hook) - ;;;###autoload (autoload 'prot-window-popup-org-capture "prot-window") +;;;###autoload (autoload 'prot-window-popup-org-capture "prot-window") (prot-window-define-with-popup-frame org-capture) (add-hook 'org-capture-after-finalize-hook #'prot-window-delete-popup-frame) (declare-function mu4e "mu4e" (&optional goto keys)) - ;;;###autoload (autoload 'prot-window-popup-mu4e "prot-window") +;;;###autoload (autoload 'prot-window-popup-mu4e "prot-window") (prot-window-define-with-popup-frame mu4e) (advice-add 'mu4e-quit :after #'prot-window-delete-popup-frame) (declare-function swarsel/open-calendar "swarsel/open-calendar" (&optional goto keys)) - ;;;###autoload (autoload 'prot-window-popup-swarsel/open-calendar "prot-window") +;;;###autoload (autoload 'prot-window-popup-swarsel/open-calendar "prot-window") (prot-window-define-with-popup-frame swarsel/open-calendar) (advice-add 'bury-buffer :after #'prot-window-delete-popup-frame) - -(declare-function org-agenda "org-agenda" (&optional goto keys)) - ;;;###autoload (autoload 'prot-window-popup-org-agenda "prot-window") -(prot-window-define-with-popup-frame org-agenda) diff --git a/flake.lock b/flake.lock index d3f48f0..793d23f 100644 --- a/flake.lock +++ b/flake.lock @@ -50,39 +50,7 @@ "type": "github" } }, - "base16-fish_3": { - "flake": false, - "locked": { - "lastModified": 1622559957, - "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", - "owner": "tomyun", - "repo": "base16-fish", - "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", - "type": "github" - }, - "original": { - "owner": "tomyun", - "repo": "base16-fish", - "type": "github" - } - }, "base16-helix": { - "flake": false, - "locked": { - "lastModified": 1752979451, - "narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=", - "owner": "tinted-theming", - "repo": "base16-helix", - "rev": "27cf1e66e50abc622fb76a3019012dc07c678fac", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-helix", - "type": "github" - } - }, - "base16-helix_2": { "flake": false, "locked": { "lastModified": 1748408240, @@ -98,7 +66,7 @@ "type": "github" } }, - "base16-helix_3": { + "base16-helix_2": { "flake": false, "locked": { "lastModified": 1748408240, @@ -148,23 +116,6 @@ "type": "github" } }, - "base16-vim_3": { - "flake": false, - "locked": { - "lastModified": 1732806396, - "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=", - "owner": "tinted-theming", - "repo": "base16-vim", - "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-vim", - "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", - "type": "github" - } - }, "base16_2": { "inputs": { "fromYaml": "fromYaml_2" @@ -183,31 +134,13 @@ "type": "github" } }, - "base16_3": { - "inputs": { - "fromYaml": "fromYaml_3" - }, - "locked": { - "lastModified": 1746562888, - "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=", - "owner": "SenchoPens", - "repo": "base16.nix", - "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89", - "type": "github" - }, - "original": { - "owner": "SenchoPens", - "repo": "base16.nix", - "type": "github" - } - }, "crane": { "locked": { - "lastModified": 1754269165, - "narHash": "sha256-0tcS8FHd4QjbCVoxN9jI+PjHgA4vc/IjkUSp+N3zy0U=", + "lastModified": 1750266157, + "narHash": "sha256-tL42YoNg9y30u7zAqtoGDNdTyXTi8EALDeCB13FtbQA=", "owner": "ipetkov", "repo": "crane", - "rev": "444e81206df3f7d92780680e45858e31d2f07a08", + "rev": "e37c943371b73ed87faf33f7583860f81f1d5a48", "type": "github" }, "original": { @@ -261,36 +194,6 @@ "type": "github" } }, - "crane_5": { - "locked": { - "lastModified": 1750266157, - "narHash": "sha256-tL42YoNg9y30u7zAqtoGDNdTyXTi8EALDeCB13FtbQA=", - "owner": "ipetkov", - "repo": "crane", - "rev": "e37c943371b73ed87faf33f7583860f81f1d5a48", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, - "crane_6": { - "locked": { - "lastModified": 1750266157, - "narHash": "sha256-tL42YoNg9y30u7zAqtoGDNdTyXTi8EALDeCB13FtbQA=", - "owner": "ipetkov", - "repo": "crane", - "rev": "e37c943371b73ed87faf33f7583860f81f1d5a48", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, "devshell": { "inputs": { "nixpkgs": [ @@ -375,51 +278,6 @@ "type": "github" } }, - "devshell_5": { - "inputs": { - "nixpkgs": [ - "swarsel", - "swarsel", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1741473158, - "narHash": "sha256-kWNaq6wQUbUMlPgw8Y+9/9wP0F8SHkjy24/mN3UAppg=", - "owner": "numtide", - "repo": "devshell", - "rev": "7c9e793ebe66bcba8292989a68c0419b737a22a0", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, - "devshell_6": { - "inputs": { - "nixpkgs": [ - "swarsel", - "swarsel", - "nix-topology", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1728330715, - "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=", - "owner": "numtide", - "repo": "devshell", - "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, "disko": { "inputs": { "nixpkgs": [ @@ -427,11 +285,11 @@ ] }, "locked": { - "lastModified": 1753140376, - "narHash": "sha256-7lrVrE0jSvZHrxEzvnfHFE/Wkk9DDqb+mYCodI5uuB8=", + "lastModified": 1751854533, + "narHash": "sha256-U/OQFplExOR1jazZY4KkaQkJqOl59xlh21HP9mI79Vc=", "owner": "nix-community", "repo": "disko", - "rev": "545aba02960caa78a31bd9a8709a0ad4b6320a5c", + "rev": "16b74a1e304197248a1bc663280f2548dbfcae3c", "type": "github" }, "original": { @@ -461,28 +319,6 @@ "type": "github" } }, - "disko_3": { - "inputs": { - "nixpkgs": [ - "swarsel", - "swarsel", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1751854533, - "narHash": "sha256-U/OQFplExOR1jazZY4KkaQkJqOl59xlh21HP9mI79Vc=", - "owner": "nix-community", - "repo": "disko", - "rev": "16b74a1e304197248a1bc663280f2548dbfcae3c", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "disko", - "type": "github" - } - }, "emacs-overlay": { "inputs": { "nixpkgs": [ @@ -490,28 +326,6 @@ ], "nixpkgs-stable": "nixpkgs-stable" }, - "locked": { - "lastModified": 1754705618, - "narHash": "sha256-JYwLLpnzJz0+ihJrwZUTAodx2+iBPWfnmfhJy3lpSw4=", - "owner": "nix-community", - "repo": "emacs-overlay", - "rev": "c5aea4616a2c482eb3f1765f90de9771ba1d134a", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "emacs-overlay", - "type": "github" - } - }, - "emacs-overlay_2": { - "inputs": { - "nixpkgs": [ - "swarsel", - "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable_3" - }, "locked": { "lastModified": 1751908357, "narHash": "sha256-7JeYhMYTdfzHsFfGZRUM+t0nx4HdYa3oaMH2B/qz9MA=", @@ -526,14 +340,13 @@ "type": "github" } }, - "emacs-overlay_3": { + "emacs-overlay_2": { "inputs": { "nixpkgs": [ - "swarsel", "swarsel", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_5" + "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { "lastModified": 1751908357, @@ -581,22 +394,6 @@ "type": "github" } }, - "firefox-gnome-theme_3": { - "flake": false, - "locked": { - "lastModified": 1748383148, - "narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=", - "owner": "rafaelmardojai", - "repo": "firefox-gnome-theme", - "rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf", - "type": "github" - }, - "original": { - "owner": "rafaelmardojai", - "repo": "firefox-gnome-theme", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -613,54 +410,6 @@ "type": "github" } }, - "flake-compat_10": { - "flake": false, - "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_11": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_12": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-compat_2": { "flake": false, "locked": { @@ -696,11 +445,11 @@ "flake-compat_4": { "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -773,32 +522,16 @@ "type": "github" } }, - "flake-compat_9": { - "flake": false, - "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1754487366, - "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", + "lastModified": 1751413152, + "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", + "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", "type": "github" }, "original": { @@ -829,29 +562,9 @@ "type": "github" } }, - "flake-parts_11": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_5" - }, - "locked": { - "lastModified": 1751413152, - "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_12": { + "flake-parts_2": { "inputs": { "nixpkgs-lib": [ - "swarsel", - "swarsel", "lanzaboote", "nixpkgs" ] @@ -870,90 +583,6 @@ "type": "github" } }, - "flake-parts_13": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_6" - }, - "locked": { - "lastModified": 1719994518, - "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", - "type": "github" - }, - "original": { - "id": "flake-parts", - "type": "indirect" - } - }, - "flake-parts_14": { - "inputs": { - "nixpkgs-lib": [ - "swarsel", - "swarsel", - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_15": { - "inputs": { - "nixpkgs-lib": [ - "swarsel", - "swarsel", - "stylix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_2": { - "inputs": { - "nixpkgs-lib": [ - "lanzaboote", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1754091436, - "narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, "flake-parts_3": { "inputs": { "nixpkgs-lib": "nixpkgs-lib_2" @@ -1000,11 +629,11 @@ ] }, "locked": { - "lastModified": 1751413152, - "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", "type": "github" }, "original": { @@ -1166,14 +795,14 @@ }, "flake-utils_5": { "inputs": { - "systems": "systems_7" + "systems": "systems_9" }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -1183,24 +812,6 @@ } }, "flake-utils_6": { - "inputs": { - "systems": "systems_8" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_7": { "inputs": { "systems": "systems_12" }, @@ -1218,42 +829,6 @@ "type": "github" } }, - "flake-utils_8": { - "inputs": { - "systems": "systems_15" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_9": { - "inputs": { - "systems": "systems_18" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "fromYaml": { "flake": false, "locked": { @@ -1286,22 +861,6 @@ "type": "github" } }, - "fromYaml_3": { - "flake": false, - "locked": { - "lastModified": 1731966426, - "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", - "owner": "SenchoPens", - "repo": "fromYaml", - "rev": "106af9e2f715e2d828df706c386a685698f3223b", - "type": "github" - }, - "original": { - "owner": "SenchoPens", - "repo": "fromYaml", - "type": "github" - } - }, "fw-fanctrl": { "inputs": { "flake-compat": "flake-compat", @@ -1347,30 +906,6 @@ "type": "github" } }, - "fw-fanctrl_3": { - "inputs": { - "flake-compat": "flake-compat_9", - "nixpkgs": [ - "swarsel", - "swarsel", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1743661097, - "narHash": "sha256-ZSx9BdbW+/4k3Pmecl7ZhpHXnpreuAgYxrRaJC8VmuU=", - "owner": "TamtamHero", - "repo": "fw-fanctrl", - "rev": "473575cd1753cb4ec429ea085975e48d32970894", - "type": "github" - }, - "original": { - "owner": "TamtamHero", - "ref": "packaging/nix", - "repo": "fw-fanctrl", - "type": "github" - } - }, "gitignore": { "inputs": { "nixpkgs": [ @@ -1504,77 +1039,6 @@ "type": "github" } }, - "gitignore_7": { - "inputs": { - "nixpkgs": [ - "swarsel", - "swarsel", - "lanzaboote", - "pre-commit-hooks-nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "gitignore_8": { - "inputs": { - "nixpkgs": [ - "swarsel", - "swarsel", - "nix-topology", - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "gitignore_9": { - "inputs": { - "nixpkgs": [ - "swarsel", - "swarsel", - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "gnome-shell": { "flake": false, "locked": { @@ -1609,23 +1073,6 @@ "type": "github" } }, - "gnome-shell_3": { - "flake": false, - "locked": { - "lastModified": 1748186689, - "narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=", - "owner": "GNOME", - "repo": "gnome-shell", - "rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0", - "type": "github" - }, - "original": { - "owner": "GNOME", - "ref": "48.2", - "repo": "gnome-shell", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -1633,11 +1080,11 @@ ] }, "locked": { - "lastModified": 1754613544, - "narHash": "sha256-ueR1mGX4I4DWfDRRxxMphbKDNisDeMPMusN72VV1+cc=", + "lastModified": 1751824240, + "narHash": "sha256-aDDC0CHTlL7QDKWWhdbEgVPK6KwWt+ca0QkmHYZxMzI=", "owner": "nix-community", "repo": "home-manager", - "rev": "cc2fa2331aebf9661d22bb507d362b39852ac73f", + "rev": "fd9e55f5fac45a26f6169310afca64d56b681935", "type": "github" }, "original": { @@ -1710,51 +1157,6 @@ "type": "github" } }, - "home-manager_5": { - "inputs": { - "nixpkgs": [ - "swarsel", - "swarsel", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1751824240, - "narHash": "sha256-aDDC0CHTlL7QDKWWhdbEgVPK6KwWt+ca0QkmHYZxMzI=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "fd9e55f5fac45a26f6169310afca64d56b681935", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, - "home-manager_6": { - "inputs": { - "nixpkgs": [ - "swarsel", - "swarsel", - "nix-on-droid", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709445365, - "narHash": "sha256-DVv6nd9FQBbMWbOmhq0KVqmlc3y3FMSYl49UXmMcO+0=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "4de84265d7ec7634a69ba75028696d74de9a44a7", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, "impermanence": { "locked": { "lastModified": 1737831083, @@ -1785,21 +1187,6 @@ "type": "github" } }, - "impermanence_3": { - "locked": { - "lastModified": 1737831083, - "narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=", - "owner": "nix-community", - "repo": "impermanence", - "rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "impermanence", - "type": "github" - } - }, "lanzaboote": { "inputs": { "crane": "crane", @@ -1810,11 +1197,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1754297745, - "narHash": "sha256-aD6/scLN3L4ZszmNbhhd3JQ9Pzv1ScYFphz14wHinfs=", + "lastModified": 1751381593, + "narHash": "sha256-js1XwtJpYhvQrrTaVzViybpztkHJVZ63aXOlFAcTENM=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "892cbdca865d6b42f9c0d222fe309f7720259855", + "rev": "f4eb75540307c2b33521322c04b7fea74e48a66f", "type": "github" }, "original": { @@ -1846,29 +1233,6 @@ "type": "github" } }, - "lanzaboote_3": { - "inputs": { - "crane": "crane_3", - "flake-compat": "flake-compat_10", - "flake-parts": "flake-parts_12", - "nixpkgs": "nixpkgs_17", - "pre-commit-hooks-nix": "pre-commit-hooks-nix_3", - "rust-overlay": "rust-overlay_3" - }, - "locked": { - "lastModified": 1751381593, - "narHash": "sha256-js1XwtJpYhvQrrTaVzViybpztkHJVZ63aXOlFAcTENM=", - "owner": "nix-community", - "repo": "lanzaboote", - "rev": "f4eb75540307c2b33521322c04b7fea74e48a66f", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "lanzaboote", - "type": "github" - } - }, "nix-darwin": { "inputs": { "nixpkgs": [ @@ -1910,28 +1274,6 @@ "type": "github" } }, - "nix-darwin_3": { - "inputs": { - "nixpkgs": [ - "swarsel", - "swarsel", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1751313918, - "narHash": "sha256-HsJM3XLa43WpG+665aGEh8iS8AfEwOIQWk3Mke3e7nk=", - "owner": "lnl7", - "repo": "nix-darwin", - "rev": "e04a388232d9a6ba56967ce5b53a8a6f713cdfcf", - "type": "github" - }, - "original": { - "owner": "lnl7", - "repo": "nix-darwin", - "type": "github" - } - }, "nix-formatter-pack": { "inputs": { "nixpkgs": [ @@ -1979,58 +1321,12 @@ "type": "github" } }, - "nix-formatter-pack_3": { - "inputs": { - "nixpkgs": [ - "swarsel", - "swarsel", - "nix-on-droid", - "nixpkgs" - ], - "nmd": "nmd_5", - "nmt": "nmt_3" - }, - "locked": { - "lastModified": 1705252799, - "narHash": "sha256-HgSTREh7VoXjGgNDwKQUYcYo13rPkltW7IitHrTPA5c=", - "owner": "Gerschtli", - "repo": "nix-formatter-pack", - "rev": "2de39dedd79aab14c01b9e2934842051a160ffa5", - "type": "github" - }, - "original": { - "owner": "Gerschtli", - "repo": "nix-formatter-pack", - "type": "github" - } - }, "nix-index-database": { "inputs": { "nixpkgs": [ "nixpkgs" ] }, - "locked": { - "lastModified": 1754195341, - "narHash": "sha256-YL71IEf2OugH3gmAsxQox6BJI0KOcHKtW2QqT/+s2SA=", - "owner": "nix-community", - "repo": "nix-index-database", - "rev": "b7fcd4e26d67fca48e77de9b0d0f954b18ae9562", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-index-database", - "type": "github" - } - }, - "nix-index-database_2": { - "inputs": { - "nixpkgs": [ - "swarsel", - "nixpkgs" - ] - }, "locked": { "lastModified": 1751774635, "narHash": "sha256-DuOznGdgMxeSlPpUu6Wkq0ZD5e2Cfv9XRZeZlHWMd1s=", @@ -2045,10 +1341,9 @@ "type": "github" } }, - "nix-index-database_3": { + "nix-index-database_2": { "inputs": { "nixpkgs": [ - "swarsel", "swarsel", "nixpkgs" ] @@ -2120,34 +1415,6 @@ "type": "github" } }, - "nix-on-droid_3": { - "inputs": { - "home-manager": "home-manager_6", - "nix-formatter-pack": "nix-formatter-pack_3", - "nixpkgs": [ - "swarsel", - "swarsel", - "nixpkgs" - ], - "nixpkgs-docs": "nixpkgs-docs_3", - "nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap_3", - "nmd": "nmd_6" - }, - "locked": { - "lastModified": 1720396533, - "narHash": "sha256-UFzk/hZWO1VkciIO5UPaSpJN8s765wsngUSvtJM6d5Q=", - "owner": "nix-community", - "repo": "nix-on-droid", - "rev": "f3d3b8294039f2f9a8fb7ea82c320f29c6b0fe25", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "release-24.05", - "repo": "nix-on-droid", - "type": "github" - } - }, "nix-topology": { "inputs": { "devshell": "devshell_2", @@ -2156,11 +1423,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1752093877, - "narHash": "sha256-P0TySh6sQl1EhfxjW9ZqGxEyUBSsEpdnchOe1QB0pLA=", + "lastModified": 1744142264, + "narHash": "sha256-h5KyodobZm8dx/HSNN+basgdmjxrQxudjrss4gAQpZk=", "owner": "oddlama", "repo": "nix-topology", - "rev": "6a536c4b686ee4bcf07a7b0f8b823584560e2633", + "rev": "f49121cbbf4a86c560638ade406d99ee58deb7aa", "type": "github" }, "original": { @@ -2190,51 +1457,11 @@ "type": "github" } }, - "nix-topology_3": { - "inputs": { - "devshell": "devshell_6", - "flake-utils": "flake-utils_5", - "nixpkgs": "nixpkgs_18", - "pre-commit-hooks": "pre-commit-hooks_5" - }, - "locked": { - "lastModified": 1744142264, - "narHash": "sha256-h5KyodobZm8dx/HSNN+basgdmjxrQxudjrss4gAQpZk=", - "owner": "oddlama", - "repo": "nix-topology", - "rev": "f49121cbbf4a86c560638ade406d99ee58deb7aa", - "type": "github" - }, - "original": { - "owner": "oddlama", - "repo": "nix-topology", - "type": "github" - } - }, "nixgl": { "inputs": { "flake-utils": "flake-utils_2", "nixpkgs": "nixpkgs_3" }, - "locked": { - "lastModified": 1752054764, - "narHash": "sha256-Ob/HuUhANoDs+nvYqyTKrkcPXf4ZgXoqMTQoCK0RFgQ=", - "owner": "guibou", - "repo": "nixGL", - "rev": "a8e1ce7d49a149ed70df676785b07f63288f53c5", - "type": "github" - }, - "original": { - "owner": "guibou", - "repo": "nixGL", - "type": "github" - } - }, - "nixgl_2": { - "inputs": { - "flake-utils": "flake-utils_4", - "nixpkgs": "nixpkgs_11" - }, "locked": { "lastModified": 1751696036, "narHash": "sha256-hXq4IOgSdAAaF/9q/2U8TBDL7aXZyQmtq4wl6USZjKo=", @@ -2249,10 +1476,10 @@ "type": "github" } }, - "nixgl_3": { + "nixgl_2": { "inputs": { - "flake-utils": "flake-utils_6", - "nixpkgs": "nixpkgs_19" + "flake-utils": "flake-utils_4", + "nixpkgs": "nixpkgs_11" }, "locked": { "lastModified": 1751696036, @@ -2298,21 +1525,6 @@ "type": "github" } }, - "nixlib_3": { - "locked": { - "lastModified": 1736643958, - "narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, "nixos-generators": { "inputs": { "nixlib": "nixlib", @@ -2356,36 +1568,13 @@ "type": "github" } }, - "nixos-generators_3": { - "inputs": { - "nixlib": "nixlib_3", - "nixpkgs": [ - "swarsel", - "swarsel", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1751903740, - "narHash": "sha256-PeSkNMvkpEvts+9DjFiop1iT2JuBpyknmBUs0Un0a4I=", - "owner": "nix-community", - "repo": "nixos-generators", - "rev": "032decf9db65efed428afd2fa39d80f7089085eb", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixos-generators", - "type": "github" - } - }, "nixos-hardware": { "locked": { - "lastModified": 1754564048, - "narHash": "sha256-dz303vGuzWjzOPOaYkS9xSW+B93PSAJxvBd6CambXVA=", + "lastModified": 1751432711, + "narHash": "sha256-136MeWtckSHTN9Z2WRNRdZ8oRP3vyx3L8UxeBYE+J9w=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "26ed7a0d4b8741fe1ef1ee6fa64453ca056ce113", + "rev": "497ae1357f1ac97f1aea31a4cb74ad0d534ef41f", "type": "github" }, "original": { @@ -2411,29 +1600,13 @@ "type": "github" } }, - "nixos-hardware_3": { - "locked": { - "lastModified": 1751432711, - "narHash": "sha256-136MeWtckSHTN9Z2WRNRdZ8oRP3vyx3L8UxeBYE+J9w=", - "owner": "NixOS", - "repo": "nixos-hardware", - "rev": "497ae1357f1ac97f1aea31a4cb74ad0d534ef41f", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "master", - "repo": "nixos-hardware", - "type": "github" - } - }, "nixpkgs": { "locked": { - "lastModified": 1754243818, - "narHash": "sha256-sEPw2W01UPf0xNGnMGNZIaE1XHkk7O+lLLetYEXVZHk=", + "lastModified": 1751203939, + "narHash": "sha256-omYD+H5LlSihz2DRfv90I8Oeo7JNEwvcHPHX+6nMIM4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c460617dfb709a67d18bb31e15e455390ee4ee1c", + "rev": "650e71cbf76de8dd16f5648a96981b726c4ef8fe", "type": "github" }, "original": { @@ -2444,22 +1617,6 @@ } }, "nixpkgs-dev": { - "locked": { - "lastModified": 1754384443, - "narHash": "sha256-sjSFVbQhMJ6c3x/DUWmactuR2sw1FtLzBMXMyicOQSU=", - "owner": "Swarsel", - "repo": "nixpkgs", - "rev": "d078a753aa08f98a2aa11922f87ae2b11bf67ca9", - "type": "github" - }, - "original": { - "owner": "Swarsel", - "ref": "main", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-dev_2": { "locked": { "lastModified": 1752736260, "narHash": "sha256-90Gt98hmw/20aOAd7KaSW6otXu7MOBctRmI9RlXD/s0=", @@ -2475,7 +1632,7 @@ "type": "github" } }, - "nixpkgs-dev_3": { + "nixpkgs-dev_2": { "locked": { "lastModified": 1752440522, "narHash": "sha256-CInQkEG3f8XwIBQxYFhuFCT+T++JPstThfifAMD0yRk=", @@ -2523,22 +1680,6 @@ "type": "github" } }, - "nixpkgs-docs_3": { - "locked": { - "lastModified": 1705957679, - "narHash": "sha256-Q8LJaVZGJ9wo33wBafvZSzapYsjOaNjP/pOnSiKVGHY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "9a333eaa80901efe01df07eade2c16d183761fa3", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "release-23.05", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-for-bootstrap": { "locked": { "lastModified": 1720244366, @@ -2571,22 +1712,6 @@ "type": "github" } }, - "nixpkgs-for-bootstrap_3": { - "locked": { - "lastModified": 1720244366, - "narHash": "sha256-WrDV0FPMVd2Sq9hkR5LNHudS3OSMmUrs90JUTN+MXpA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40", - "type": "github" - } - }, "nixpkgs-kernel": { "locked": { "lastModified": 1748026106, @@ -2621,30 +1746,13 @@ "type": "github" } }, - "nixpkgs-kernel_3": { - "locked": { - "lastModified": 1748026106, - "narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "063f43f2dbdef86376cc29ad646c45c46e93234c", - "type": "github" - }, - "original": { - "narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "063f43f2dbdef86376cc29ad646c45c46e93234c", - "type": "github" - } - }, "nixpkgs-lib": { "locked": { - "lastModified": 1753579242, - "narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=", + "lastModified": 1751159883, + "narHash": "sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e", + "rev": "14a40a1d7fb9afa4739275ac642ed7301a9ba1ab", "type": "github" }, "original": { @@ -2692,33 +1800,6 @@ "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" } }, - "nixpkgs-lib_5": { - "locked": { - "lastModified": 1751159883, - "narHash": "sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "14a40a1d7fb9afa4739275ac642ed7301a9ba1ab", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixpkgs-lib_6": { - "locked": { - "lastModified": 1719876945, - "narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" - } - }, "nixpkgs-stable": { "locked": { "lastModified": 1751274312, @@ -2767,22 +1848,6 @@ "type": "github" } }, - "nixpkgs-stable24_05_3": { - "locked": { - "lastModified": 1735563628, - "narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.05", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-stable24_11": { "locked": { "lastModified": 1751274312, @@ -2815,29 +1880,13 @@ "type": "github" } }, - "nixpkgs-stable24_11_3": { - "locked": { - "lastModified": 1751274312, - "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1754689972, - "narHash": "sha256-eogqv6FqZXHgqrbZzHnq43GalnRbLTkbBbFtEfm1RSc=", + "lastModified": 1751741127, + "narHash": "sha256-t75Shs76NgxjZSgvvZZ9qOmz5zuBE8buUaYD28BMTxg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc756aa6f5d3e2e5666efcf865d190701fef150a", + "rev": "29e290002bfff26af1db6f64d070698019460302", "type": "github" }, "original": { @@ -2879,38 +1928,6 @@ "type": "github" } }, - "nixpkgs-stable_5": { - "locked": { - "lastModified": 1751274312, - "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_6": { - "locked": { - "lastModified": 1751741127, - "narHash": "sha256-t75Shs76NgxjZSgvvZZ9qOmz5zuBE8buUaYD28BMTxg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "29e290002bfff26af1db6f64d070698019460302", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-25.05", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_10": { "locked": { "lastModified": 1730531603, @@ -3024,47 +2041,32 @@ }, "nixpkgs_17": { "locked": { - "lastModified": 1751203939, - "narHash": "sha256-omYD+H5LlSihz2DRfv90I8Oeo7JNEwvcHPHX+6nMIM4=", + "lastModified": 1750865895, + "narHash": "sha256-p2dWAQcLVzquy9LxYCZPwyUdugw78Qv3ChvnX755qHA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "650e71cbf76de8dd16f5648a96981b726c4ef8fe", + "rev": "61c0f513911459945e2cb8bf333dc849f1b976ff", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable-small", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_18": { "locked": { - "lastModified": 1730531603, - "narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=", + "lastModified": 1750865895, + "narHash": "sha256-p2dWAQcLVzquy9LxYCZPwyUdugw78Qv3ChvnX755qHA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d", + "rev": "61c0f513911459945e2cb8bf333dc849f1b976ff", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_19": { - "locked": { - "lastModified": 1746378225, - "narHash": "sha256-OeRSuL8PUjIfL3Q0fTbNJD/fmv1R+K2JAOqWJd3Oceg=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "93e8cdce7afc64297cfec447c311470788131cd9", - "type": "github" - }, - "original": { - "owner": "nixos", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } @@ -3085,134 +2087,6 @@ "type": "github" } }, - "nixpkgs_20": { - "locked": { - "lastModified": 1751792365, - "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_21": { - "locked": { - "lastModified": 1720957393, - "narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "693bc46d169f5af9c992095736e82c3488bf7dbb", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_22": { - "locked": { - "lastModified": 1751792365, - "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_23": { - "locked": { - "lastModified": 1744868846, - "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_24": { - "locked": { - "lastModified": 1748460289, - "narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_25": { - "locked": { - "lastModified": 1750865895, - "narHash": "sha256-p2dWAQcLVzquy9LxYCZPwyUdugw78Qv3ChvnX755qHA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "61c0f513911459945e2cb8bf333dc849f1b976ff", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_26": { - "locked": { - "lastModified": 1750865895, - "narHash": "sha256-p2dWAQcLVzquy9LxYCZPwyUdugw78Qv3ChvnX755qHA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "61c0f513911459945e2cb8bf333dc849f1b976ff", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_27": { - "locked": { - "lastModified": 1750865895, - "narHash": "sha256-p2dWAQcLVzquy9LxYCZPwyUdugw78Qv3ChvnX755qHA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "61c0f513911459945e2cb8bf333dc849f1b976ff", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_3": { "locked": { "lastModified": 1746378225, @@ -3230,11 +2104,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1754498491, - "narHash": "sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs=", + "lastModified": 1751792365, + "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c2ae88e026f9525daf89587f3cbee584b92b6134", + "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", "type": "github" }, "original": { @@ -3262,11 +2136,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1754498491, - "narHash": "sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs=", + "lastModified": 1751792365, + "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c2ae88e026f9525daf89587f3cbee584b92b6134", + "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", "type": "github" }, "original": { @@ -3294,11 +2168,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1751792365, - "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", + "lastModified": 1748460289, + "narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", + "rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102", "type": "github" }, "original": { @@ -3401,46 +2275,6 @@ "type": "sourcehut" } }, - "nmd_5": { - "flake": false, - "locked": { - "lastModified": 1666190571, - "narHash": "sha256-Z1hc7M9X6L+H83o9vOprijpzhTfOBjd0KmUTnpHAVjA=", - "owner": "rycee", - "repo": "nmd", - "rev": "b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169", - "type": "gitlab" - }, - "original": { - "owner": "rycee", - "repo": "nmd", - "type": "gitlab" - } - }, - "nmd_6": { - "inputs": { - "nixpkgs": [ - "swarsel", - "swarsel", - "nix-on-droid", - "nixpkgs-docs" - ], - "scss-reset": "scss-reset_3" - }, - "locked": { - "lastModified": 1705050560, - "narHash": "sha256-x3zzcdvhJpodsmdjqB4t5mkVW22V3wqHLOun0KRBzUI=", - "owner": "~rycee", - "repo": "nmd", - "rev": "66d9334933119c36f91a78d565c152a4fdc8d3d3", - "type": "sourcehut" - }, - "original": { - "owner": "~rycee", - "repo": "nmd", - "type": "sourcehut" - } - }, "nmt": { "flake": false, "locked": { @@ -3473,22 +2307,6 @@ "type": "gitlab" } }, - "nmt_3": { - "flake": false, - "locked": { - "lastModified": 1648075362, - "narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=", - "owner": "rycee", - "repo": "nmt", - "rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae", - "type": "gitlab" - }, - "original": { - "owner": "rycee", - "repo": "nmt", - "type": "gitlab" - } - }, "nswitch-rcm-nix": { "inputs": { "flake-parts": "flake-parts_3", @@ -3527,36 +2345,17 @@ "type": "github" } }, - "nswitch-rcm-nix_3": { - "inputs": { - "flake-parts": "flake-parts_13", - "nixpkgs": "nixpkgs_21" - }, - "locked": { - "lastModified": 1721304043, - "narHash": "sha256-8mY9tdjo44E23xGMcUFA2a1tUcEpz7oK5upuZZ9v5SU=", - "owner": "Swarsel", - "repo": "nswitch-rcm-nix", - "rev": "b45dc5d673631c97a4b8379926de89a66561d6dc", - "type": "github" - }, - "original": { - "owner": "Swarsel", - "repo": "nswitch-rcm-nix", - "type": "github" - } - }, "nur": { "inputs": { "flake-parts": "flake-parts_4", "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1754726338, - "narHash": "sha256-Zz4zAgAvgXwAzkJuhuoYFpQ9eJs/vtaYCso+rfwahsw=", + "lastModified": 1751906969, + "narHash": "sha256-BSQAOdPnzdpOuCdAGSJmefSDlqmStFNScEnrWzSqKPw=", "owner": "nix-community", "repo": "NUR", - "rev": "ab1e2e53a418b3907f87c24ce277975438f1bd78", + "rev": "ddb679f4131e819efe3bbc6457ba19d7ad116f25", "type": "github" }, "original": { @@ -3574,14 +2373,15 @@ "nixpkgs": [ "stylix", "nixpkgs" - ] + ], + "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1751906969, - "narHash": "sha256-BSQAOdPnzdpOuCdAGSJmefSDlqmStFNScEnrWzSqKPw=", + "lastModified": 1748730660, + "narHash": "sha256-5LKmRYKdPuhm8j5GFe3AfrJL8dd8o57BQ34AGjJl1R0=", "owner": "nix-community", "repo": "NUR", - "rev": "ddb679f4131e819efe3bbc6457ba19d7ad116f25", + "rev": "2c0bc52fe14681e9ef60e3553888c4f086e46ecb", "type": "github" }, "original": { @@ -3621,55 +2421,6 @@ "stylix", "nixpkgs" ], - "treefmt-nix": "treefmt-nix" - }, - "locked": { - "lastModified": 1748730660, - "narHash": "sha256-5LKmRYKdPuhm8j5GFe3AfrJL8dd8o57BQ34AGjJl1R0=", - "owner": "nix-community", - "repo": "NUR", - "rev": "2c0bc52fe14681e9ef60e3553888c4f086e46ecb", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "NUR", - "type": "github" - } - }, - "nur_5": { - "inputs": { - "flake-parts": "flake-parts_14", - "nixpkgs": "nixpkgs_22" - }, - "locked": { - "lastModified": 1751906969, - "narHash": "sha256-BSQAOdPnzdpOuCdAGSJmefSDlqmStFNScEnrWzSqKPw=", - "owner": "nix-community", - "repo": "NUR", - "rev": "ddb679f4131e819efe3bbc6457ba19d7ad116f25", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "NUR", - "type": "github" - } - }, - "nur_6": { - "inputs": { - "flake-parts": [ - "swarsel", - "swarsel", - "stylix", - "flake-parts" - ], - "nixpkgs": [ - "swarsel", - "swarsel", - "stylix", - "nixpkgs" - ], "treefmt-nix": "treefmt-nix_2" }, "locked": { @@ -3767,36 +2518,6 @@ "type": "github" } }, - "pre-commit-hooks-nix_3": { - "inputs": { - "flake-compat": [ - "swarsel", - "swarsel", - "lanzaboote", - "flake-compat" - ], - "gitignore": "gitignore_7", - "nixpkgs": [ - "swarsel", - "swarsel", - "lanzaboote", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1750779888, - "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, "pre-commit-hooks_2": { "inputs": { "flake-compat": "flake-compat_4", @@ -3806,11 +2527,11 @@ ] }, "locked": { - "lastModified": 1754416808, - "narHash": "sha256-c6yg0EQ9xVESx6HGDOCMcyRSjaTpNJP10ef+6fRcofA=", + "lastModified": 1750779888, + "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "9c52372878df6911f9afc1e2a1391f55e4dfc864", + "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", "type": "github" }, "original": { @@ -3871,61 +2592,6 @@ "type": "github" } }, - "pre-commit-hooks_5": { - "inputs": { - "flake-compat": "flake-compat_11", - "gitignore": "gitignore_8", - "nixpkgs": [ - "swarsel", - "swarsel", - "nix-topology", - "nixpkgs" - ], - "nixpkgs-stable": [ - "swarsel", - "swarsel", - "nix-topology", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1730797577, - "narHash": "sha256-SrID5yVpyUfknUTGWgYkTyvdr9J1LxUym4om3SVGPkg=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "1864030ed24a2b8b4e4d386a5eeaf0c5369e50a9", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, - "pre-commit-hooks_6": { - "inputs": { - "flake-compat": "flake-compat_12", - "gitignore": "gitignore_9", - "nixpkgs": [ - "swarsel", - "swarsel", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1750779888, - "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, "root": { "inputs": { "devshell": "devshell", @@ -3955,9 +2621,9 @@ "sops-nix": "sops-nix", "stylix": "stylix", "swarsel": "swarsel", - "systems": "systems_16", - "vbc-nix": "vbc-nix_3", - "zjstatus": "zjstatus_3" + "systems": "systems_10", + "vbc-nix": "vbc-nix_2", + "zjstatus": "zjstatus_2" } }, "rust-overlay": { @@ -3968,11 +2634,11 @@ ] }, "locked": { - "lastModified": 1754189623, - "narHash": "sha256-fstu5eb30UYwsxow0aQqkzxNxGn80UZjyehQVNVHuBk=", + "lastModified": 1751165203, + "narHash": "sha256-3QhlpAk2yn+ExwvRLtaixWsVW1q3OX3KXXe0l8VMLl4=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "c582ff7f0d8a7ea689ae836dfb1773f1814f472a", + "rev": "90f547b90e73d3c6025e66c5b742d6db51c418c3", "type": "github" }, "original": { @@ -4007,17 +2673,16 @@ "inputs": { "nixpkgs": [ "swarsel", - "swarsel", - "lanzaboote", + "zjstatus", "nixpkgs" ] }, "locked": { - "lastModified": 1751165203, - "narHash": "sha256-3QhlpAk2yn+ExwvRLtaixWsVW1q3OX3KXXe0l8VMLl4=", + "lastModified": 1750905536, + "narHash": "sha256-Mo7yXM5IvMGNvJPiNkFsVT2UERmnvjsKgnY6UyDdySQ=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "90f547b90e73d3c6025e66c5b742d6db51c418c3", + "rev": "2fa7c0aabd15fa0ccc1dc7e675a4fcf0272ad9a1", "type": "github" }, "original": { @@ -4027,51 +2692,6 @@ } }, "rust-overlay_4": { - "inputs": { - "nixpkgs": [ - "swarsel", - "swarsel", - "zjstatus", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1750905536, - "narHash": "sha256-Mo7yXM5IvMGNvJPiNkFsVT2UERmnvjsKgnY6UyDdySQ=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "2fa7c0aabd15fa0ccc1dc7e675a4fcf0272ad9a1", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "rust-overlay_5": { - "inputs": { - "nixpkgs": [ - "swarsel", - "zjstatus", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1750905536, - "narHash": "sha256-Mo7yXM5IvMGNvJPiNkFsVT2UERmnvjsKgnY6UyDdySQ=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "2fa7c0aabd15fa0ccc1dc7e675a4fcf0272ad9a1", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "rust-overlay_6": { "inputs": { "nixpkgs": [ "zjstatus", @@ -4124,44 +2744,10 @@ "type": "github" } }, - "scss-reset_3": { - "flake": false, - "locked": { - "lastModified": 1631450058, - "narHash": "sha256-muDlZJPtXDIGevSEWkicPP0HQ6VtucbkMNygpGlBEUM=", - "owner": "andreymatin", - "repo": "scss-reset", - "rev": "0cf50e27a4e95e9bb5b1715eedf9c54dee1a5a91", - "type": "github" - }, - "original": { - "owner": "andreymatin", - "repo": "scss-reset", - "type": "github" - } - }, "sops-nix": { "inputs": { "nixpkgs": "nixpkgs_7" }, - "locked": { - "lastModified": 1754328224, - "narHash": "sha256-glPK8DF329/dXtosV7YSzRlF4n35WDjaVwdOMEoEXHA=", - "owner": "Mic92", - "repo": "sops-nix", - "rev": "49021900e69812ba7ddb9e40f9170218a7eca9f4", - "type": "github" - }, - "original": { - "owner": "Mic92", - "repo": "sops-nix", - "type": "github" - } - }, - "sops-nix_2": { - "inputs": { - "nixpkgs": "nixpkgs_15" - }, "locked": { "lastModified": 1751606940, "narHash": "sha256-KrDPXobG7DFKTOteqdSVeL1bMVitDcy7otpVZWDE6MA=", @@ -4176,9 +2762,9 @@ "type": "github" } }, - "sops-nix_3": { + "sops-nix_2": { "inputs": { - "nixpkgs": "nixpkgs_23" + "nixpkgs": "nixpkgs_15" }, "locked": { "lastModified": 1751606940, @@ -4213,11 +2799,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1754597531, - "narHash": "sha256-OpC9/PBIuL2WEJUkcuD/wVxI8r+3o6f5RylSIefjHo4=", + "lastModified": 1751906932, + "narHash": "sha256-vRZH3bq24I/heef0AIFnaBmDGdQSpTmyjT4vtpa7qqk=", "owner": "danth", "repo": "stylix", - "rev": "63bb34a66ad7d1af2e95ee20dd675896b2074c32", + "rev": "c538d1a3571386eaaca31aef7bb5fd5c155327b0", "type": "github" }, "original": { @@ -4258,38 +2844,6 @@ "type": "github" } }, - "stylix_3": { - "inputs": { - "base16": "base16_3", - "base16-fish": "base16-fish_3", - "base16-helix": "base16-helix_3", - "base16-vim": "base16-vim_3", - "firefox-gnome-theme": "firefox-gnome-theme_3", - "flake-parts": "flake-parts_15", - "gnome-shell": "gnome-shell_3", - "nixpkgs": "nixpkgs_24", - "nur": "nur_6", - "systems": "systems_9", - "tinted-foot": "tinted-foot_3", - "tinted-kitty": "tinted-kitty_3", - "tinted-schemes": "tinted-schemes_3", - "tinted-tmux": "tinted-tmux_3", - "tinted-zed": "tinted-zed_3" - }, - "locked": { - "lastModified": 1751906932, - "narHash": "sha256-vRZH3bq24I/heef0AIFnaBmDGdQSpTmyjT4vtpa7qqk=", - "owner": "danth", - "repo": "stylix", - "rev": "c538d1a3571386eaaca31aef7bb5fd5c155327b0", - "type": "github" - }, - "original": { - "owner": "danth", - "repo": "stylix", - "type": "github" - } - }, "swarsel": { "inputs": { "devshell": "devshell_3", @@ -4318,54 +2872,7 @@ "pre-commit-hooks": "pre-commit-hooks_4", "sops-nix": "sops-nix_2", "stylix": "stylix_2", - "swarsel": "swarsel_2", - "systems": "systems_13", - "vbc-nix": "vbc-nix_2", - "zjstatus": "zjstatus_2" - }, - "locked": { - "lastModified": 1754349779, - "narHash": "sha256-7iNPObM2jj2vMW/vADukJv7v5/pm0Y06jE5AH4WBWYg=", - "owner": "Swarsel", - "repo": ".dotfiles", - "rev": "9577cdf243bee1062bb05ca378f7bcf834569baa", - "type": "github" - }, - "original": { - "owner": "Swarsel", - "repo": ".dotfiles", - "type": "github" - } - }, - "swarsel_2": { - "inputs": { - "devshell": "devshell_5", - "disko": "disko_3", - "emacs-overlay": "emacs-overlay_3", - "flake-parts": "flake-parts_11", - "fw-fanctrl": "fw-fanctrl_3", - "home-manager": "home-manager_5", - "impermanence": "impermanence_3", - "lanzaboote": "lanzaboote_3", - "nix-darwin": "nix-darwin_3", - "nix-index-database": "nix-index-database_3", - "nix-on-droid": "nix-on-droid_3", - "nix-topology": "nix-topology_3", - "nixgl": "nixgl_3", - "nixos-generators": "nixos-generators_3", - "nixos-hardware": "nixos-hardware_3", - "nixpkgs": "nixpkgs_20", - "nixpkgs-dev": "nixpkgs-dev_3", - "nixpkgs-kernel": "nixpkgs-kernel_3", - "nixpkgs-stable": "nixpkgs-stable_6", - "nixpkgs-stable24_05": "nixpkgs-stable24_05_3", - "nixpkgs-stable24_11": "nixpkgs-stable24_11_3", - "nswitch-rcm-nix": "nswitch-rcm-nix_3", - "nur": "nur_5", - "pre-commit-hooks": "pre-commit-hooks_6", - "sops-nix": "sops-nix_3", - "stylix": "stylix_3", - "systems": "systems_10", + "systems": "systems_7", "vbc-nix": "vbc-nix", "zjstatus": "zjstatus" }, @@ -4443,96 +2950,6 @@ "type": "github" } }, - "systems_13": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_14": { - "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - }, - "systems_15": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_16": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_17": { - "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - }, - "systems_18": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "systems_2": { "locked": { "lastModified": 1681028828, @@ -4625,16 +3042,16 @@ }, "systems_8": { "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default", + "repo": "default-linux", "type": "github" } }, @@ -4687,23 +3104,6 @@ "type": "github" } }, - "tinted-foot_3": { - "flake": false, - "locked": { - "lastModified": 1726913040, - "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", - "owner": "tinted-theming", - "repo": "tinted-foot", - "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-foot", - "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", - "type": "github" - } - }, "tinted-kitty": { "flake": false, "locked": { @@ -4736,30 +3136,14 @@ "type": "github" } }, - "tinted-kitty_3": { - "flake": false, - "locked": { - "lastModified": 1735730497, - "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=", - "owner": "tinted-theming", - "repo": "tinted-kitty", - "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-kitty", - "type": "github" - } - }, "tinted-schemes": { "flake": false, "locked": { - "lastModified": 1750770351, - "narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=", + "lastModified": 1748180480, + "narHash": "sha256-7n0XiZiEHl2zRhDwZd/g+p38xwEoWtT0/aESwTMXWG4=", "owner": "tinted-theming", "repo": "schemes", - "rev": "5a775c6ffd6e6125947b393872cde95867d85a2a", + "rev": "87d652edd26f5c0c99deda5ae13dfb8ece2ffe31", "type": "github" }, "original": { @@ -4784,30 +3168,14 @@ "type": "github" } }, - "tinted-schemes_3": { - "flake": false, - "locked": { - "lastModified": 1748180480, - "narHash": "sha256-7n0XiZiEHl2zRhDwZd/g+p38xwEoWtT0/aESwTMXWG4=", - "owner": "tinted-theming", - "repo": "schemes", - "rev": "87d652edd26f5c0c99deda5ae13dfb8ece2ffe31", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "schemes", - "type": "github" - } - }, "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1751159871, - "narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=", + "lastModified": 1748740859, + "narHash": "sha256-OEM12bg7F4N5WjZOcV7FHJbqRI6jtCqL6u8FtPrlZz4=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "bded5e24407cec9d01bd47a317d15b9223a1546c", + "rev": "57d5f9683ff9a3b590643beeaf0364da819aedda", "type": "github" }, "original": { @@ -4832,30 +3200,14 @@ "type": "github" } }, - "tinted-tmux_3": { - "flake": false, - "locked": { - "lastModified": 1748740859, - "narHash": "sha256-OEM12bg7F4N5WjZOcV7FHJbqRI6jtCqL6u8FtPrlZz4=", - "owner": "tinted-theming", - "repo": "tinted-tmux", - "rev": "57d5f9683ff9a3b590643beeaf0364da819aedda", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-tmux", - "type": "github" - } - }, "tinted-zed": { "flake": false, "locked": { - "lastModified": 1751158968, - "narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=", + "lastModified": 1725758778, + "narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=", "owner": "tinted-theming", "repo": "base16-zed", - "rev": "86a470d94204f7652b906ab0d378e4231a5b3384", + "rev": "122c9e5c0e6f27211361a04fae92df97940eccf9", "type": "github" }, "original": { @@ -4880,26 +3232,9 @@ "type": "github" } }, - "tinted-zed_3": { - "flake": false, - "locked": { - "lastModified": 1725758778, - "narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=", - "owner": "tinted-theming", - "repo": "base16-zed", - "rev": "122c9e5c0e6f27211361a04fae92df97940eccf9", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-zed", - "type": "github" - } - }, "treefmt-nix": { "inputs": { "nixpkgs": [ - "swarsel", "stylix", "nur", "nixpkgs" @@ -4922,7 +3257,6 @@ "treefmt-nix_2": { "inputs": { "nixpkgs": [ - "swarsel", "swarsel", "stylix", "nur", @@ -4946,11 +3280,10 @@ "vbc-nix": { "inputs": { "nixpkgs": [ - "swarsel", "swarsel", "nixpkgs" ], - "systems": "systems_11" + "systems": "systems_8" }, "locked": { "lastModified": 1742477270, @@ -4970,32 +3303,9 @@ "vbc-nix_2": { "inputs": { "nixpkgs": [ - "swarsel", "nixpkgs" ], - "systems": "systems_14" - }, - "locked": { - "lastModified": 1742477270, - "narHash": "sha256-u78SeVemHqEkN6J+PieL1Kymu+n7LWiTPrUXNd+uePA=", - "ref": "main", - "rev": "0525ad64e2729077ed2cf313d2022e8b8c51153f", - "revCount": 2, - "type": "git", - "url": "ssh://git@github.com/vbc-it/vbc-nix.git" - }, - "original": { - "ref": "main", - "type": "git", - "url": "ssh://git@github.com/vbc-it/vbc-nix.git" - } - }, - "vbc-nix_3": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ], - "systems": "systems_17" + "systems": "systems_11" }, "locked": { "lastModified": 1742477270, @@ -5014,10 +3324,10 @@ }, "zjstatus": { "inputs": { - "crane": "crane_4", - "flake-utils": "flake-utils_7", - "nixpkgs": "nixpkgs_25", - "rust-overlay": "rust-overlay_4" + "crane": "crane_3", + "flake-utils": "flake-utils_5", + "nixpkgs": "nixpkgs_17", + "rust-overlay": "rust-overlay_3" }, "locked": { "lastModified": 1750957292, @@ -5035,10 +3345,10 @@ }, "zjstatus_2": { "inputs": { - "crane": "crane_5", - "flake-utils": "flake-utils_8", - "nixpkgs": "nixpkgs_26", - "rust-overlay": "rust-overlay_5" + "crane": "crane_4", + "flake-utils": "flake-utils_6", + "nixpkgs": "nixpkgs_18", + "rust-overlay": "rust-overlay_4" }, "locked": { "lastModified": 1750957292, @@ -5053,27 +3363,6 @@ "repo": "zjstatus", "type": "github" } - }, - "zjstatus_3": { - "inputs": { - "crane": "crane_6", - "flake-utils": "flake-utils_9", - "nixpkgs": "nixpkgs_27", - "rust-overlay": "rust-overlay_6" - }, - "locked": { - "lastModified": 1753722377, - "narHash": "sha256-L9CujCLS4PmpEhGKqezD4DognRNcYDz/oAL7T8jqCxk=", - "owner": "dj95", - "repo": "zjstatus", - "rev": "f6c28d9b780891afa693d1b9be4384b16ae7a578", - "type": "github" - }, - "original": { - "owner": "dj95", - "repo": "zjstatus", - "type": "github" - } } }, "root": "root", diff --git a/hosts/home/treehouse/default.nix b/hosts/home/treehouse/default.nix index be11808..9ce0edf 100644 --- a/hosts/home/treehouse/default.nix +++ b/hosts/home/treehouse/default.nix @@ -4,7 +4,7 @@ imports = [ inputs.stylix.homeManagerModules.stylix inputs.sops-nix.homeManagerModules.sops - inputs.nix-index-database.homeModules.nix-index + inputs.nix-index-database.hmModules.nix-index "${self}/modules/home" "${self}/modules/nixos/common/pii.nix" "${self}/modules/nixos/common/meta.nix" diff --git a/hosts/nixos/pyramid/secrets/pii.nix.enc b/hosts/nixos/pyramid/secrets/pii.nix.enc index d902cda..7feeec1 100644 --- a/hosts/nixos/pyramid/secrets/pii.nix.enc +++ b/hosts/nixos/pyramid/secrets/pii.nix.enc @@ -1,5 +1,5 @@ { - "data": "ENC[AES256_GCM,data:kkwEMOzab5JK9G+rSfYygcAI6Y+b1tXkUFPdxN8e2Rnz2Uv4bDfITu8bmKqJ1q5kmHxQjQukioZkdQkabqBR8cx/CG3dRJfPAjEwMz4v8UYGSNSf8blJvdb4YKSizeOEALCuawBIm5hmvwuskXlol6UfkK66h9UnP94wwdh0KKemWinANxbIUX+cl6kK4X1eZrWRGr5Ts2HmjcowIbA+SmA8yVAwqoP6L1DuavilLGPfWhBI4Kj7ZTI3LRlvu4DZZ+DCAea3FgrrjbTWiWZfFW0YX2fDgNQkIxpp3N203zDu23HebZcmCrVBkfvFS7awBr5iVnwfsqOJR0LH92lIlUb8YoFShlJU/Day80i9uyYDCTHc4l2NBvjIH8NlpiYaA2A+rCW3VkVX3WzCGxBfi/kIqoNE3RdLJAYrIimsYaHSmk4o6jslR3xIRyQzDcNtWa92kINdCwBuJXc0UYe/HnR8tFlmOrlixMlVINTy45PRNYJoy7cuoJPd+aNIPQ2V31TB/CjUSZhEptVJSnQnKDui1xuV7vqcyPv06xftJGZRk/LL2cl3+HDLflkZYE7NVlLaOWMBOkX99W/WokF3NGBWuVeUp9bLCwpuEmzFafpCjKhGrQSDGkw17jmYWCULN9v3q6OvyylwqVuDDQZNSxGZFsSPr7qOxeENwTDQvRwpydthPRMMHh/wf3t5pyV/jW79SBuxIWvn4JbO8TBsd9TmVgXMgpd97+Zg3CnTqZApVVRzM8NzF25fMYHJv12YvkEmyOm0otFU84COhgNkpBRTJhyJdjKWVOTJFJyQviwy6BTBF6jqHyS+YP7BEZO2UID/9ODKVrSACCatSQlNtLQRrXOiE9h3g43uAJc/TyJ+A0IceUJ3BM+6PEJiqDWUfO5ucP3pLDdb4IDOAi/YeV9HQdyCdEVRf6a0CHmPcnkb+X+fxxcmZQCvuzQjOZQZw8UUwfhdJms6jTWqaN9leb3z4u8RPxOM1T+Qsu5dL5ouady7xVSO4c1Fw+EiiL9yOh42DTa4OyBlcTJiz5iigqmkaiQOwdwn+FlOYNraOd24h8+x7dDVQBbHjnV7xF7I1rmpOfA/lUbfovLU5SrIxLPT64J25ucudJWBTCDiYADUwhv+QmfJJsdt11+NWPkS3ymFbbWPtpZvhCaawrNKb3s/ohOEi8JIAyY9dtfRGuRoTsCcsJ4xjeSLehX4TgR0cl31Jmm+0kO2uuP7veDrqyUg1Swqsq4+BKfimprh/QzwSoB9lOdEPu0bdQza9sk+D5+H2ooXsVXA2YJscBZ/Kv+YYW57LlfwEvfpJDx5XiQtAYYlUeN8SPx72i9QzYugm339gj+eB8gtbX3W8Sl+D9Vs0P+GZ4G7K03JvzEExtA=,iv:Go3U5S9ZxtPawFoVjknH8j8WDg2TJLIU6mp5DQDj9BE=,tag:0QPJYyQsuZ4hz8xZZ2V4xw==,type:str]", + "data": "ENC[AES256_GCM,data:SEQIHMS8xUj6vsC1+1zTRG+h5BbqL0miA77UEh0UbiFOP7RgqhUlZgq+LmO7BRiIf4RHO13BZ5PXdKiZ96lgGcaquVnaEEQqv2NvkstXpwm3eLjUTJryMxfVupeir5g/FNXHETzhN425KD93EyMr4g7INJW4N4mHXmDnHJOJgS8rlKnSLG64cpgrlef8GAsGfp+i3ky2dig4jNQG8Ijdc46qtiyH9bs7k0d/YuNNmcZSaSIukNyyIMVTqlt6MV+9iUQ4Lj5h0pxgDLfjM1TNQAHRkWW4eozt7SO17U9td1DxvBF9TUdj3xbFCVo4c1OGw4hrjahvUAF8u1TEXBhhJfLqApDUBddRMxybk8Dy98jOHcb6Qwu3qUcgRt9XgkOktwgovS/B2WWAIWMTIZhyKm5ENriaTZWSp6n7hzkw1C1wXyCaP6YT0A4SSPPJt/DuTcBZ5BOFM10237NNgZA0Q7B5J5C57W88bhtzZ2aJZexyQYqQPrr5c38RwR00OAVGJeCgcq70JqeA5EpTuud20rBE0/dHHEPeVUBkrq8pjBHh4SYeMOh8g85CnlF31cxAcnrVJbO14hQQ8sQd4ZmkRNcY3EL981ruDy6Okd3K5AifmF/E9IEZwbvCSLY8EYANA+NV97ZsL4zJOWC6tnA1QHFDoqCR/POsupvGQetYpembrUY0WoB5XkfAvMicQCeLJe2H7S6pOVMDOIIZLx57vcO855LlIJiCpMw2ytqbBXRZolM2WXEBZDEL6BnrEydUnoiUCxqsUrdvQE3HTzktXKQww9jc6HLfBV1MvfScWq2fisGDlkrC2rI5VcWamm8Xbke4uTVcdbKlDpgbpC8NaWmmgNhFe50VNf7M/L5etnvuWWbY68epLZo7dsaaWVE584pdVFT+2K2GwWmGnMHKW+KKA6O9hFfdPUOsJj+eJiF9JX7OwLPAJILTjesWfHXivILBwjDyY5CBCHg91fsrPF37222O/HPPukveY/u6WBOt+co3Ch9mq9usdD7fhieo59IZ7aOJb7dxHSa99nBD8NZbwn6nJkgn3hpLfP9q/2TWcF/zSD1oGY7f1GVbEKEHj2hHv+OHMhFzgRhi5NtvGOO4l0aa1QE1eyRJgHLeqS5aL119Fh1+PSSN9/+v1q6l2JjYuQAV1BqzVdG2GS64J4PBxVqmZ3M9Qv2ZvH0Zwjs64M3MDUMNa5+HZAkPpThvrUWSCEFivIfiOi4Bt/h+HmyQb04LB5QuNFSiRpuF+fQcA+MmMQ==,iv:PL7Z5mKqbNbPfptREw9xFTiOQ1qiVkyxLPvDSoPvbbY=,tag:OPlhVLtN5IDdL/nkkj8+CQ==,type:str]", "sops": { "age": [ { @@ -11,8 +11,8 @@ "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0Z2tONmQxTUhZUW12Z2Jm\nUnoxSnpYcnZDNGNzSko1ckl2RDh3NG1VS2dFCmIwUXhmSk1OUk02S0JPVDR5UWJ4\na0gwWlg0V005ZWxYa29PZ0laS2VqM0kKLS0tIHN5SU9pQ090eHljeXJGWm5hRFQ4\nZ001Nzkyb29RYkNUMDNDNlo4YnVQeTQK34bNIBgxId2+DHKQNVV3Iro3KGkE03Sp\niB1+dADT6nRvGvoyPqnLq/NYfw7eQ6XqYt55zkdCta8v6L1UNUkw8g==\n-----END AGE ENCRYPTED FILE-----\n" } ], - "lastmodified": "2025-08-07T12:21:20Z", - "mac": "ENC[AES256_GCM,data:JxNvTsW6D7IbaczGsdgfTJcACm5VLrOw6Ep+RU9PoXn2LJZeJ9U8KIlnNdODtxMpiIpZ+ZPeJgQk+EXlUVd5n2dJQEr6vqfs4o85givDWE29Pki12Zb7jMhiW8/z9GYQ/TcskkWUfA0Brz9fKVKXLARvQdL1/9Rlw+F1VwWWBOo=,iv:V31hoIpUgq6X47D0B+MtBMsdD0oDpPkh2kvQWRJtS3w=,tag:dsW9SUIdGipX5rKyLAvCvQ==,type:str]", + "lastmodified": "2025-07-13T23:20:32Z", + "mac": "ENC[AES256_GCM,data:ibG9NVwVLf4UgdxnHbAToq5n12v4PPgPmnTn8PYg0LZfU2x6GaxRtNvWoFxDa9bEWMRzrlC5oV+hXsTxzJdYliafNTOxWjtOI/ME/HgEE8cU17HuJViWkR+CL+kzCelgFjCD3XajbTRzdTBtcI9icsUvnaManjlSvsgWmqNP36Y=,iv:uCy8Mv5HM611Qd4cvvEiDovnv1uuLZVSN7p7SV10zRA=,tag:fRjfyRkIIh5L97WVyNyxSQ==,type:str]", "pgp": [ { "created_at": "2025-06-14T22:31:01Z", diff --git a/index.html b/index.html index c73f8b4..26b70e2 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + SwarselSystems: NixOS + Emacs Configuration @@ -203,7 +203,7 @@
  • 3.2.4. Darwin @@ -515,10 +515,10 @@
  • -
  • 3.4. Shared +
  • 3.4. Shared
  • 3.5. Packages @@ -757,7 +757,7 @@
  • 4.4.42. vterm
  • 4.4.43. multiple cursors
  • 4.4.44. Less logging
  • -
  • 4.4.45. Popup frames
  • +
  • 4.4.45. Popup frames
  • @@ -812,7 +812,7 @@

    -This file has 91224 words spanning 23377 lines and was last revised on 2025-08-09 14:31:36 +0200. +This file has 90489 words spanning 23186 lines and was last revised on 2025-08-05 01:22:51 +0200.

    @@ -842,8 +842,8 @@ This configuration is part of a NixOS system that is (nearly) fully declarative This literate configuration lets me explain my choices to my future self as well as you, the reader. I go to great lengths to explain the choices for all configuration steps that I take in order for me to pay due diligence in crafting my setup, and not simply copying big chunks of other peoples code. Also, the literate configuration approach is very convenient to me as I only need to keep of (ideally) a single file to manage all of my configuration. I hope that this documentation will make it easier for beginners to get into Emacs and NixOS as I know it can be a struggle in the beginning.

    -
    -

    1.1. How to use this document

    +
    +

    1.1. How to use this document

    When I started out with nix, it was a painful time. For a beginner, the available resources tend to be too detailed or assume too much prior knowledge. Also, it is a (sad) fact that using nix requires the user to understand it pretty well before most things start to make sense. @@ -881,7 +881,7 @@ This section defines my Emacs configuration. For a while, I considered to use ry

    -My emacs is built using the emacs-overlay nix flake, which builds a bleeding edge emacs on wayland (pgtk) with utilities like treesitter support. By executing the below source block, the current build setting can be updated at any time, and you can see my most up-to-date build options (last updated: 2025-08-09 14:31:36 +0200) +My emacs is built using the emacs-overlay nix flake, which builds a bleeding edge emacs on wayland (pgtk) with utilities like treesitter support. By executing the below source block, the current build setting can be updated at any time, and you can see my most up-to-date build options (last updated: 2025-08-05 01:22:51 +0200)

    @@ -893,7 +893,7 @@ system-configuration-options
    ---prefix=/nix/store/6gy60bnwvzbvvmg10vqcnhrjnnrpi4y8-emacs-git-pgtk-20250808.0 --disable-build-details --with-modules --with-pgtk --with-compress-install --with-toolkit-scroll-bars --with-native-compilation --without-imagemagick --with-mailutils --without-small-ja-dic --with-tree-sitter --without-xinput2 --without-xwidgets --with-dbus --with-selinux
    +--prefix=/nix/store/sjapaaf7z48pzml6dw2njyfdgvpp1nn7-emacs-git-pgtk-20250707.0 --disable-build-details --with-modules --with-pgtk --with-compress-install --with-toolkit-scroll-bars --with-native-compilation --without-imagemagick --with-mailutils --without-small-ja-dic --with-tree-sitter --without-xinput2 --without-xwidgets --with-dbus --with-selinux
     
    @@ -4519,7 +4519,7 @@ This is the "reference implementation" of a setup that runs without NixOS, only imports = [ inputs.stylix.homeManagerModules.stylix inputs.sops-nix.homeManagerModules.sops - inputs.nix-index-database.homeModules.nix-index + inputs.nix-index-database.hmModules.nix-index "${self}/modules/home" "${self}/modules/nixos/common/pii.nix" "${self}/modules/nixos/common/meta.nix" @@ -5003,8 +5003,8 @@ in
    -
    -
    3.2.1.5. Expose home-manager sops secrets in NixOS (automatically active)
    +
    +
    3.2.1.5. Expose home-manager secrets in NixOS (automatically active)
    { lib, config, globals, ... }:
    @@ -5028,7 +5028,6 @@ in
             fever-pw = { path = "${homeDir}/.emacs.d/.fever"; owner = mainUser; };
           }) // (lib.optionalAttrs modules.zsh {
             croc-password = { owner = mainUser; };
    -        github-nixpkgs-review-token = { owner = mainUser; };
           }) // (lib.optionalAttrs modules.emacs {
             emacs-radicale-pw = { owner = mainUser; };
           });
    @@ -5234,7 +5233,7 @@ We enable the use of home-manager as a NixoS module. A nice trick h
             useUserPackages = true;
             verbose = true;
             users.${config.swarselsystems.mainUser}.imports = [
    -          inputs.nix-index-database.homeModules.nix-index
    +          inputs.nix-index-database.hmModules.nix-index
               inputs.sops-nix.homeManagerModules.sops
               # inputs.stylix.homeModules.stylix
               {
    @@ -5486,8 +5485,8 @@ This dynamically uses systemd boot or Lanzaboote depending on the minimal system
     
    -
    -
    3.2.1.14. Boot
    +
    +
    3.2.1.14. Boot
    { lib, pkgs, config, globals, ... }:
    @@ -5788,9 +5787,7 @@ Next, we will setup some environment variables that need to be set on the system
               gst-plugins-ugly
               gst-libav
             ]);
    -      } // (lib.optionalAttrs (!config.swarselsystems.isPublic) {
    -        GITHUB_NOTIFICATION_TOKEN_PATH = config.sops.secrets.github-notifications-token.path;
    -      });
    +      };
         };
       };
     }
    @@ -5846,10 +5843,10 @@ There is a persistent bug over Linux kernels that makes the user wait 1m30s on s
       options.swarselmodules.systemdTimeout = lib.mkEnableOption "systemd timeout config";
       config = lib.mkIf config.swarselmodules.systemdTimeout {
         # systemd
    -    systemd.settings.Manager = {
    -      DefaultTimeoutStartSec = "60s";
    -      DefaultTimeoutStopSec = "15s";
    -    };
    +    systemd.extraConfig = ''
    +      DefaultTimeoutStartSec=60s
    +      DefaultTimeoutStopSec=15s
    +    '';
       };
     }
     
    @@ -6813,7 +6810,7 @@ This section houses the greetd related settings. I do not really want to use a d settings = { initial_session.command = "sway"; default_session.command = '' - ${pkgs.tuigreet}/bin/tuigreet \ + ${pkgs.greetd.tuigreet}/bin/tuigreet \ --time \ --asterisks \ --user-menu \ @@ -6931,7 +6928,7 @@ When a program does not work, start with nix-ldd <program>. T pixman speex stdenv.cc.cc - stable.steam-fhsenv-without-steam + steam-fhsenv-without-steam systemd tbb vulkan-loader @@ -11025,8 +11022,8 @@ in
    -
    -
    3.2.3.36. slink
    +
    +
    3.2.3.36. slink

    Deployment notes: @@ -11693,12 +11690,13 @@ in gh ]; + services = { spice-vdagentd.enable = true; openssh = { enable = true; extraConfig = '' - ''; + ''; }; syncthing = { @@ -12568,7 +12566,6 @@ in SWARSEL_CAL3NAME = source3-name; SWARSEL_FULLNAME = fullName; SWARSEL_MAIL_ALL = allMailAddresses; - GITHUB_NOTIFICATION_TOKEN_PATH = nixosConfig.sops.secrets.github-notifications-token.path; }; }; } @@ -13075,7 +13072,6 @@ in sops.secrets = lib.mkIf (!config.swarselsystems.isPublic && !config.swarselsystems.isNixos) { croc-password = { }; - github-nixpkgs-review-token = { }; }; programs.zsh = { @@ -13110,10 +13106,8 @@ in boot-diff = "nix store diff-closures /run/*-system"; gen-diff = "nix profile diff-closures --profile /nix/var/nix/profiles/system"; cc = "wl-copy"; - build-topology = "nix build .#topology.x86_64-linux.config.output"; - build-iso = "nix build --print-out-paths .#live-iso"; - nix-review- = "nix run nixpkgs#nixpkgs-review -- rev HEAD"; - nix-review-post = "nix run nixpkgs#nixpkgs-review -- pr --post-result --systems linux"; + topology = "nix build .#topology.x86_64-linux.config.output"; + iso = "nix build --print-out-paths .#live-iso"; } config.swarselsystems.shellAliases; autosuggestion.enable = true; @@ -13187,7 +13181,6 @@ in bindkey '^H' my-backward-delete-word export CROC_PASS="$(cat ${nixosConfig.sops.secrets.croc-password.path})" - export GITHUB_TOKEN="$(cat ${nixosConfig.sops.secrets.github-nixpkgs-review-token.path})" ''; }; }; @@ -13376,76 +13369,22 @@ in # this is needed so that mbsync can use the passwords from sops systemd.user.services.mbsync.Unit.After = [ "sops-nix.service" ]; - programs.thunderbird = { - enable = true; - profiles.default = { - isDefault = true; - withExternalGnupg = true; - settings = { - "mail.identity.default.archive_enabled" = true; - "mail.identity.default.archive_keep_folder_structure" = true; - "mail.identity.default.compose_html" = false; - "mail.identity.default.protectSubject" = true; - "mail.identity.default.reply_on_top" = 1; - "mail.identity.default.sig_on_reply" = false; - "mail.identity.default.sig_bottom" = false; - - "gfx.webrender.all" = true; - "gfx.webrender.enabled" = true; - }; - }; - - settings = { - "mail.server.default.allow_utf8_accept" = true; - "mail.server.default.max_articles" = 1000; - "mail.server.default.check_all_folders_for_new" = true; - "mail.show_headers" = 1; - "mail.identity.default.auto_quote" = true; - "mail.identity.default.attachPgpKey" = true; - "mailnews.default_sort_order" = 2; - "mailnews.default_sort_type" = 18; - "mailnews.default_view_flags" = 0; - "mailnews.sort_threads_by_root" = true; - "mailnews.headers.showMessageId" = true; - "mailnews.headers.showOrganization" = true; - "mailnews.headers.showReferences" = true; - "mailnews.headers.showUserAgent" = true; - "mail.imap.expunge_after_delete" = true; - "mail.server.default.delete_model" = 2; - "mail.warn_on_delete_from_trash" = false; - "mail.warn_on_shift_delete" = false; - "toolkit.telemetry.enabled" = false; - "toolkit.telemetry.rejected" = true; - "toolkit.telemetry.prompted" = 2; - "app.update.auto" = false; - "privacy.donottrackheader.enabled" = true; - }; - }; - - xdg.mimeApps.defaultApplications = { - "x-scheme-handler/mailto" = [ "thunderbird.desktop" ]; - "x-scheme-handler/mid" = [ "thunderbird.desktop" ]; - "message/rfc822" = [ "thunderbird.desktop" ]; - }; - accounts = lib.mkIf (config.swarselsystems.isNixos && !config.swarselsystems.isPublic) { - email = - let - defaultSettings = { - imap = { - host = "imap.gmail.com"; - port = 993; - tls.enable = true; # SSL/TLS - }; - smtp = { - host = "smtp.gmail.com"; - port = 465; - tls.enable = true; # SSL/TLS - }; - thunderbird = { - enable = true; - profiles = [ "default" ]; + email = { + maildirBasePath = "Mail"; + accounts = { + leon = { + primary = true; + address = address1; + userName = address1; + realName = fullName; + passwordCommand = "cat ${nixosConfig.sops.secrets.address1-token.path}"; + gpg = { + key = "0x76FD3810215AE097"; + signByDefault = true; }; + imap.host = "imap.gmail.com"; + smtp.host = "smtp.gmail.com"; mu.enable = true; msmtp = { enable = true; @@ -13466,68 +13405,85 @@ in }; }; }; - in - { - maildirBasePath = "Mail"; - accounts = { - swarsel = { - address = address4; - userName = address4-user; - realName = fullName; - passwordCommand = "cat ${nixosConfig.sops.secrets.address4-token.path}"; - smtp = { - host = address4-host; - port = 587; - tls = { - enable = true; - useStartTls = true; - }; - }; - mu.enable = false; - msmtp = { + + swarsel = { + address = address4; + userName = address4-user; + realName = fullName; + passwordCommand = "cat ${nixosConfig.sops.secrets.address4-token.path}"; + smtp = { + host = address4-host; + port = 587; + tls = { enable = true; - }; - mbsync = { - enable = false; + useStartTls = true; }; }; - - leon = lib.recursiveUpdate - { - primary = true; - address = address1; - userName = address1; - realName = fullName; - passwordCommand = "cat ${nixosConfig.sops.secrets.address1-token.path}"; - gpg = { - key = "0x76FD3810215AE097"; - signByDefault = true; - }; - } - defaultSettings; - - nautilus = lib.recursiveUpdate - { - primary = false; - address = address2; - userName = address2; - realName = address2-name; - passwordCommand = "cat ${nixosConfig.sops.secrets.address2-token.path}"; - } - defaultSettings; - - mrswarsel = lib.recursiveUpdate - { - primary = false; - address = address3; - userName = address3; - realName = address3-name; - passwordCommand = "cat ${nixosConfig.sops.secrets.address3-token.path}"; - } - defaultSettings; - + mu.enable = false; + msmtp = { + enable = true; + }; + mbsync = { + enable = false; + }; }; + + nautilus = { + primary = false; + address = address2; + userName = address2; + realName = address2-name; + passwordCommand = "cat ${nixosConfig.sops.secrets.address2-token.path}"; + imap.host = "imap.gmail.com"; + smtp.host = "smtp.gmail.com"; + msmtp.enable = true; + mu.enable = true; + mbsync = { + enable = true; + create = "maildir"; + expunge = "both"; + patterns = [ "*" "![Gmail]*" "[Gmail]/Sent Mail" "[Gmail]/Starred" "[Gmail]/All Mail" ]; + extraConfig = { + channel = { + Sync = "All"; + }; + account = { + Timeout = 120; + PipelineDepth = 1; + }; + }; + }; + }; + + mrswarsel = { + primary = false; + address = address3; + userName = address3; + realName = address3-name; + passwordCommand = "cat ${nixosConfig.sops.secrets.address3-token.path}"; + imap.host = "imap.gmail.com"; + smtp.host = "smtp.gmail.com"; + msmtp.enable = true; + mu.enable = true; + mbsync = { + enable = true; + create = "maildir"; + expunge = "both"; + patterns = [ "*" "![Gmail]*" "[Gmail]/Sent Mail" "[Gmail]/Starred" "[Gmail]/All Mail" ]; + extraConfig = { + channel = { + Sync = "All"; + }; + account = { + Timeout = 120; + PipelineDepth = 1; + }; + }; + }; + }; + }; + }; }; }; } @@ -14465,10 +14421,9 @@ in "${modifier}+Shift+F12" = "move scratchpad"; "${modifier}+F12" = "scratchpad show"; "${modifier}+Shift+c" = "exec qalculate-gtk"; - "${modifier}+c" = "exec emacsclient -cF '((name . \"Emacs Popup Anchor\"))' -e '(prot-window-popup-org-capture)'"; - "${modifier}+t" = "exec emacsclient -cF '((name . \"Emacs Popup Anchor\"))' -e '(prot-window-popup-org-agenda)'"; - "${modifier}+Shift+m" = "exec emacsclient -cF '((name . \"Emacs Popup Anchor\"))' -e '(prot-window-popup-mu4e)'"; - "${modifier}+Shift+a" = "exec emacsclient -cF '((name . \"Emacs Popup Anchor\"))' -e '(prot-window-popup-swarsel/open-calendar)'"; + "${modifier}+c" = "emacsclient -e '(prot-window-popup-org-capture)'"; + "${modifier}+Shift+m" = "emacsclient -e '(prot-window-popup-mu4e)'"; + "${modifier}+Shift+a" = "emacsclient -e '(prot-window-popup-swarsel/open-calendar)'"; "${modifier}+p" = "exec pass-fuzzel"; "${modifier}+o" = "exec pass-fuzzel --otp"; "${modifier}+Shift+p" = "exec pass-fuzzel --type"; @@ -14601,8 +14556,7 @@ in { title = "^Add$"; } { title = "^Picture-in-Picture$"; } { title = "Syncthing Tray"; } - { title = "^Emacs Popup Frame$"; } - { title = "^Emacs Popup Anchor$"; } + { title = "Emacs Popup Frame"; } { title = "^spotifytui$"; } { title = "^kittyterm$"; } { app_id = "vesktop"; } @@ -14653,18 +14607,6 @@ in title = "^Picture-in-Picture$"; }; } - { - command = "resize set width 60 ppt height 60 ppt, opacity 0.99, sticky enable"; - criteria = { - title = "^Emacs Popup Frame$"; - }; - } - { - command = "move container to scratchpad"; - criteria = { - title = "^Emacs Popup Anchor$"; - }; - } { command = "resize set width 60 ppt height 60 ppt, opacity 0.8, sticky enable, border normal, move container to scratchpad"; criteria = { @@ -15115,544 +15057,447 @@ let in { options.swarselmodules.optional.work = lib.mkEnableOption "optional work settings"; - config = lib.mkIf config.swarselmodules.optional.work - { - home.packages = with pkgs; [ - stable.teams-for-linux - shellcheck - dig - docker - postman - rclone - stable24_05.awscli2 - libguestfs-with-appliance - stable.prometheus.cli - tigervnc - openstackclient - pizauth - ]; + config = lib.mkIf config.swarselmodules.optional.work { + home.packages = with pkgs; [ + stable.teams-for-linux + shellcheck + dig + docker + postman + rclone + stable24_05.awscli2 + libguestfs-with-appliance + stable.prometheus.cli + tigervnc + openstackclient + ]; - systemd.user.services.pizauth = { - Unit = { - Description = "Pizauth OAuth2 token manager"; + home.sessionVariables = { + DOCUMENT_DIR_PRIV = lib.mkForce "${homeDir}/Documents/Private"; + DOCUMENT_DIR_WORK = lib.mkForce "${homeDir}/Documents/Work"; + }; + + wayland.windowManager.sway.config = { + output = { + "Applied Creative Technology Transmitter QUATTRO201811" = { + bg = "${self}/files/wallpaper/navidrome.png ${config.stylix.imageScalingMode}"; }; - - Service = { - Type = "simple"; - ExecStart = "${pkgs.pizauth}/bin/pizauth server -vvvv -d"; - ExecReload = "${pkgs.pizauth}/bin/pizauth reload"; - ExecStop = "${pkgs.pizauth}/bin/pizauth shutdown"; + "Hewlett Packard HP Z24i CN44250RDT" = { + bg = "${self}/files/wallpaper/op6wp.png ${config.stylix.imageScalingMode}"; }; - - Install = { - WantedBy = [ "default.target" ]; + "HP Inc. HP 732pk CNC4080YL5" = { + bg = "${self}/files/wallpaper/botanicswp.png ${config.stylix.imageScalingMode}"; }; }; + }; - home.sessionVariables = { - DOCUMENT_DIR_PRIV = lib.mkForce "${homeDir}/Documents/Private"; - DOCUMENT_DIR_WORK = lib.mkForce "${homeDir}/Documents/Work"; - }; - - accounts.email.accounts.work = - let - inherit (nixosConfig.repo.secrets.local.work) mailAddress mailName; - in - { - primary = false; - address = mailAddress; - userName = mailAddress; - realName = mailName; - passwordCommand = "pizauth show work"; - imap = { - host = "outlook.office365.com"; - port = 993; - tls.enable = true; # SSL/TLS - }; - smtp = { - host = "outlook.office365.com"; - port = 587; - tls = { - enable = true; # SSL/TLS - useStartTls = true; - }; - }; - thunderbird = { - enable = true; - profiles = [ "default" ]; - settings = id: { - "mail.smtpserver.smtp_${id}.authMethod" = 10; # oauth - "mail.server.server_${id}.authMethod" = 10; # oauth - # "toolkit.telemetry.enabled" = false; - # "toolkit.telemetry.rejected" = true; - # "toolkit.telemetry.prompted" = 2; - }; - }; - msmtp = { - enable = false; - extraConfig = { - account = "work"; - auth = "xoauth2"; - host = "outlook.office365.com"; - protocol = "smtp"; - port = "587"; - tls = "on"; - tls_starttls = "on"; - from = "${mailAddress}"; - user = "${mailAddress}"; - passwordeval = "pizauth show work"; - }; - }; - mu.enable = false; - mbsync = { - enable = false; - expunge = "both"; - extraConfig = { - account = { - AuthMechs = "XOAUTH2"; - }; - }; - }; - }; - - wayland.windowManager.sway.config = { - output = { - "Applied Creative Technology Transmitter QUATTRO201811" = { - bg = "${self}/files/wallpaper/navidrome.png ${config.stylix.imageScalingMode}"; - }; - "Hewlett Packard HP Z24i CN44250RDT" = { - bg = "${self}/files/wallpaper/op6wp.png ${config.stylix.imageScalingMode}"; - }; - "HP Inc. HP 732pk CNC4080YL5" = { - bg = "${self}/files/wallpaper/botanicswp.png ${config.stylix.imageScalingMode}"; - }; - }; - }; - - stylix = { - targets.firefox.profileNames = - let - inherit (nixosConfig.repo.secrets.local.work) user1 user2 user3; - in - [ - "${user1}" - "${user2}" - "${user3}" - "work" - ]; - }; - - programs = - let - inherit (nixosConfig.repo.secrets.local.work) user1 user1Long user2 user2Long user3 user3Long user4 path1 loc1 loc2 site1 site2 site3 site4 site5 site6 site7 lifecycle1 lifecycle2 domain1 domain2 gitMail; - in - { - git.userEmail = lib.mkForce gitMail; - - zsh = { - shellAliases = { - dssh = "ssh -l ${user1Long}"; - cssh = "ssh -l ${user2Long}"; - wssh = "ssh -l ${user3Long}"; - }; - cdpath = [ - "~/Documents/Work" - ]; - dirHashes = { - d = "$HOME/.dotfiles"; - w = "$HOME/Documents/Work"; - s = "$HOME/.dotfiles/secrets"; - pr = "$HOME/Documents/Private"; - ac = path1; - }; - }; - - ssh = { - matchBlocks = { - "${loc1}" = { - hostname = "${loc1}.${domain2}"; - user = user4; - }; - "${loc1}.stg" = { - hostname = "${loc1}.${lifecycle1}.${domain2}"; - user = user4; - }; - "${loc1}.staging" = { - hostname = "${loc1}.${lifecycle1}.${domain2}"; - user = user4; - }; - "${loc1}.dev" = { - hostname = "${loc1}.${lifecycle2}.${domain2}"; - user = user4; - }; - "${loc2}" = { - hostname = "${loc2}.${domain1}"; - user = user1Long; - }; - "${loc2}.stg" = { - hostname = "${loc2}.${lifecycle1}.${domain2}"; - user = user1Long; - }; - "${loc2}.staging" = { - hostname = "${loc2}.${lifecycle1}.${domain2}"; - user = user1Long; - }; - "*.${domain1}" = { - user = user1Long; - }; - }; - }; - - firefox = { - profiles = - let - isDefault = false; - in - { - "${user1}" = lib.recursiveUpdate - { - inherit isDefault; - id = 1; - settings = { - "browser.startup.homepage" = "${site1}|${site2}"; - }; - } - vars.firefox; - "${user2}" = lib.recursiveUpdate - { - inherit isDefault; - id = 2; - settings = { - "browser.startup.homepage" = "${site3}"; - }; - } - vars.firefox; - "${user3}" = lib.recursiveUpdate - { - inherit isDefault; - id = 3; - } - vars.firefox; - work = lib.recursiveUpdate - { - inherit isDefault; - id = 4; - settings = { - "browser.startup.homepage" = "${site4}|${site5}|${site6}|${site7}"; - }; - } - vars.firefox; - }; - }; - - chromium = { - enable = true; - package = pkgs.chromium; - - extensions = [ - # 1password - "gejiddohjgogedgjnonbofjigllpkmbf" - # dark reader - "eimadpbcbfnmbkopoojfekhnkhdbieeh" - # ublock origin - "cjpalhdlnbpafiamejdnhcphjbkeiagm" - # i still dont care about cookies - "edibdbjcniadpccecjdfdjjppcpchdlm" - # browserpass - "naepdomgkenhinolocfifgehidddafch" - ]; - }; - }; - - services = { - kanshi = { - settings = [ - { - # seminary room - output = { - criteria = "Applied Creative Technology Transmitter QUATTRO201811"; - scale = 1.0; - mode = "1280x720"; - }; - } - { - # work main screen - output = { - criteria = "HP Inc. HP 732pk CNC4080YL5"; - scale = 1.0; - mode = "3840x2160"; - }; - } - { - # work side screen - output = { - criteria = "Hewlett Packard HP Z24i CN44250RDT"; - scale = 1.0; - mode = "1920x1200"; - transform = "270"; - }; - } - { - profile = { - name = "lidopen"; - outputs = [ - { - criteria = config.swarselsystems.sharescreen; - status = "enable"; - scale = 1.5; - position = "1462,0"; - } - { - criteria = "HP Inc. HP 732pk CNC4080YL5"; - scale = 1.4; - mode = "3840x2160"; - position = "-1280,0"; - } - { - criteria = "Hewlett Packard HP Z24i CN44250RDT"; - scale = 1.0; - mode = "1920x1200"; - transform = "90"; - position = "-2480,0"; - } - ]; - }; - } - { - profile = { - name = "lidopen"; - outputs = [ - { - criteria = config.swarselsystems.sharescreen; - status = "enable"; - scale = 1.7; - position = "2560,0"; - } - { - criteria = "Applied Creative Technology Transmitter QUATTRO201811"; - scale = 1.0; - mode = "1280x720"; - position = "10000,10000"; - } - ]; - }; - } - { - profile = { - name = "lidclosed"; - outputs = [ - { - criteria = config.swarselsystems.sharescreen; - status = "disable"; - } - { - criteria = "HP Inc. HP 732pk CNC4080YL5"; - scale = 1.4; - mode = "3840x2160"; - position = "-1280,0"; - } - { - criteria = "Hewlett Packard HP Z24i CN44250RDT"; - scale = 1.0; - mode = "1920x1200"; - transform = "270"; - position = "-2480,0"; - } - ]; - }; - } - { - profile = { - name = "lidclosed"; - outputs = [ - { - criteria = config.swarselsystems.sharescreen; - status = "disable"; - } - { - criteria = "Applied Creative Technology Transmitter QUATTRO201811"; - scale = 1.0; - mode = "1280x720"; - position = "10000,10000"; - } - ]; - }; - } - ]; - }; - }; - - xdg = + stylix = { + targets.firefox.profileNames = let inherit (nixosConfig.repo.secrets.local.work) user1 user2 user3; in - { - configFile."pizauth.conf".text = '' - account "work" { - auth_uri = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize"; - token_uri = "https://login.microsoftonline.com/common/oauth2/v2.0/token"; - client_id = "08162f7c-0fd2-4200-a84a-f25a4db0b584"; - client_secret = "TxRBilcHdC6WGBee]fs?QR:SJ8nI[g82"; - scopes = [ - "https://outlook.office365.com/IMAP.AccessAsUser.All", - "https://outlook.office365.com/SMTP.Send", - "offline_access" - ]; - // You don't have to specify login_hint, but it does make - // authentication a little easier. - login_hint = "${nixosConfig.repo.secrets.local.work.mailAddress}"; - } - ''; + [ + "${user1}" + "${user2}" + "${user3}" + "work" + ]; + }; - mimeApps = { - defaultApplications = { - "x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ]; + programs = + let + inherit (nixosConfig.repo.secrets.local.work) user1 user1Long user2 user2Long user3 user3Long user4 path1 loc1 loc2 site1 site2 site3 site4 site5 site6 site7 lifecycle1 lifecycle2 domain1 domain2 gitMail; + in + { + git.userEmail = lib.mkForce gitMail; + + zsh = { + shellAliases = { + dssh = "ssh -l ${user1Long}"; + cssh = "ssh -l ${user2Long}"; + wssh = "ssh -l ${user3Long}"; + }; + cdpath = [ + "~/Documents/Work" + ]; + dirHashes = { + d = "$HOME/.dotfiles"; + w = "$HOME/Documents/Work"; + s = "$HOME/.dotfiles/secrets"; + pr = "$HOME/Documents/Private"; + ac = path1; + }; + }; + + ssh = { + matchBlocks = { + "${loc1}" = { + hostname = "${loc1}.${domain2}"; + user = user4; + }; + "${loc1}.stg" = { + hostname = "${loc1}.${lifecycle1}.${domain2}"; + user = user4; + }; + "${loc1}.staging" = { + hostname = "${loc1}.${lifecycle1}.${domain2}"; + user = user4; + }; + "${loc1}.dev" = { + hostname = "${loc1}.${lifecycle2}.${domain2}"; + user = user4; + }; + "${loc2}" = { + hostname = "${loc2}.${domain1}"; + user = user1Long; + }; + "${loc2}.stg" = { + hostname = "${loc2}.${lifecycle1}.${domain2}"; + user = user1Long; + }; + "${loc2}.staging" = { + hostname = "${loc2}.${lifecycle1}.${domain2}"; + user = user1Long; + }; + "*.${domain1}" = { + user = user1Long; }; }; - desktopEntries = + }; + + firefox = { + profiles = let - terminal = false; - categories = [ "Application" ]; - icon = "firefox"; + isDefault = false; in { - firefox_work = { - name = "Firefox (work)"; - genericName = "Firefox work"; - exec = "firefox -p work"; - inherit terminal categories icon; - }; - "firefox_${user1}" = { - name = "Firefox (${user1})"; - genericName = "Firefox ${user1}"; - exec = "firefox -p ${user1}"; - inherit terminal categories icon; - }; - - "firefox_${user2}" = { - name = "Firefox (${user2})"; - genericName = "Firefox ${user2}"; - exec = "firefox -p ${user2}"; - inherit terminal categories icon; - }; - - "firefox_${user3}" = { - name = "Firefox (${user3})"; - genericName = "Firefox ${user3}"; - exec = "firefox -p ${user3}"; - inherit terminal categories icon; - }; - - + "${user1}" = lib.recursiveUpdate + { + inherit isDefault; + id = 1; + settings = { + "browser.startup.homepage" = "${site1}|${site2}"; + }; + } + vars.firefox; + "${user2}" = lib.recursiveUpdate + { + inherit isDefault; + id = 2; + settings = { + "browser.startup.homepage" = "${site3}"; + }; + } + vars.firefox; + "${user3}" = lib.recursiveUpdate + { + inherit isDefault; + id = 3; + } + vars.firefox; + work = lib.recursiveUpdate + { + inherit isDefault; + id = 4; + settings = { + "browser.startup.homepage" = "${site4}|${site5}|${site6}|${site7}"; + }; + } + vars.firefox; }; }; - swarselsystems = { - startup = [ - # { command = "nextcloud --background"; } - { command = "vesktop --start-minimized --enable-speech-dispatcher --ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime"; } - { command = "element-desktop --hidden --enable-features=UseOzonePlatform --ozone-platform=wayland --disable-gpu-driver-bug-workarounds"; } - { command = "ANKI_WAYLAND=1 anki"; } - { command = "OBSIDIAN_USE_WAYLAND=1 obsidian"; } - { command = "nm-applet"; } - # { command = "feishin"; } - { command = "teams-for-linux --disableGpu=true --minimized=true --trayIconEnabled=true"; } - { command = "1password"; } - ]; - monitors = { - main = { - name = "BOE 0x0BC9 Unknown"; - mode = "2560x1600"; # TEMPLATE - scale = "1"; - position = "2560,0"; - workspace = "15:L"; - output = "eDP-2"; - }; - homedesktop = { - name = "Philips Consumer Electronics Company PHL BDM3270 AU11806002320"; - mode = "2560x1440"; - scale = "1"; - position = "0,0"; - workspace = "1:一"; - output = "DP-11"; - }; - work_back_middle = { - name = "LG Electronics LG Ultra HD 0x000305A6"; - mode = "2560x1440"; - scale = "1"; - position = "5120,0"; - workspace = "1:一"; - output = "DP-10"; - }; - work_front_left = { - name = "LG Electronics LG Ultra HD 0x0007AB45"; - mode = "3840x2160"; - scale = "1"; - position = "5120,0"; - workspace = "1:一"; - output = "DP-7"; - }; - work_back_right = { - name = "HP Inc. HP Z32 CN41212T55"; - mode = "3840x2160"; - scale = "1"; - position = "5120,0"; - workspace = "1:一"; - output = "DP-3"; - }; - work_middle_middle_main = { - name = "HP Inc. HP 732pk CNC4080YL5"; - mode = "3840x2160"; - scale = "1"; - position = "-1280,0"; - workspace = "11:M"; - output = "DP-8"; - }; - work_middle_middle_side = { - name = "Hewlett Packard HP Z24i CN44250RDT"; - mode = "1920x1200"; - transform = "270"; - scale = "1"; - position = "-2480,0"; - workspace = "12:S"; - output = "DP-9"; - }; - work_seminary = { - name = "Applied Creative Technology Transmitter QUATTRO201811"; - mode = "1280x720"; - scale = "1"; - position = "10000,10000"; # i.e. this screen is inaccessible by moving the mouse - workspace = "14:T"; - output = "DP-4"; - }; - }; - inputs = { - "1133:45081:MX_Master_2S_Keyboard" = { - xkb_layout = "us"; - xkb_variant = "altgr-intl"; - }; - # "2362:628:PIXA3854:00_093A:0274_Touchpad" = { - # dwt = "enabled"; - # tap = "enabled"; - # natural_scroll = "enabled"; - # middle_emulation = "enabled"; - # drag_lock = "disabled"; - # }; - "1133:50504:Logitech_USB_Receiver" = { - xkb_layout = "us"; - xkb_variant = "altgr-intl"; - }; - "1133:45944:MX_KEYS_S" = { - xkb_layout = "us"; - xkb_variant = "altgr-intl"; - }; - }; - keybindings = { - "Mod4+Ctrl+Shift+p" = "exec screenshare"; - }; + chromium = { + enable = true; + package = pkgs.chromium; + + extensions = [ + # 1password + "gejiddohjgogedgjnonbofjigllpkmbf" + # dark reader + "eimadpbcbfnmbkopoojfekhnkhdbieeh" + # ublock origin + "cjpalhdlnbpafiamejdnhcphjbkeiagm" + # i still dont care about cookies + "edibdbjcniadpccecjdfdjjppcpchdlm" + # browserpass + "naepdomgkenhinolocfifgehidddafch" + ]; + }; + }; + + services = { + kanshi = { + settings = [ + { + # seminary room + output = { + criteria = "Applied Creative Technology Transmitter QUATTRO201811"; + scale = 1.0; + mode = "1280x720"; + }; + } + { + # work main screen + output = { + criteria = "HP Inc. HP 732pk CNC4080YL5"; + scale = 1.0; + mode = "3840x2160"; + }; + } + { + # work side screen + output = { + criteria = "Hewlett Packard HP Z24i CN44250RDT"; + scale = 1.0; + mode = "1920x1200"; + transform = "270"; + }; + } + { + profile = { + name = "lidopen"; + outputs = [ + { + criteria = config.swarselsystems.sharescreen; + status = "enable"; + scale = 1.5; + position = "1462,0"; + } + { + criteria = "HP Inc. HP 732pk CNC4080YL5"; + scale = 1.4; + mode = "3840x2160"; + position = "-1280,0"; + } + { + criteria = "Hewlett Packard HP Z24i CN44250RDT"; + scale = 1.0; + mode = "1920x1200"; + transform = "90"; + position = "-2480,0"; + } + ]; + }; + } + { + profile = { + name = "lidopen"; + outputs = [ + { + criteria = config.swarselsystems.sharescreen; + status = "enable"; + scale = 1.7; + position = "2560,0"; + } + { + criteria = "Applied Creative Technology Transmitter QUATTRO201811"; + scale = 1.0; + mode = "1280x720"; + position = "10000,10000"; + } + ]; + }; + } + { + profile = { + name = "lidclosed"; + outputs = [ + { + criteria = config.swarselsystems.sharescreen; + status = "disable"; + } + { + criteria = "HP Inc. HP 732pk CNC4080YL5"; + scale = 1.4; + mode = "3840x2160"; + position = "-1280,0"; + } + { + criteria = "Hewlett Packard HP Z24i CN44250RDT"; + scale = 1.0; + mode = "1920x1200"; + transform = "270"; + position = "-2480,0"; + } + ]; + }; + } + { + profile = { + name = "lidclosed"; + outputs = [ + { + criteria = config.swarselsystems.sharescreen; + status = "disable"; + } + { + criteria = "Applied Creative Technology Transmitter QUATTRO201811"; + scale = 1.0; + mode = "1280x720"; + position = "10000,10000"; + } + ]; + }; + } + ]; }; }; + xdg = + let + inherit (nixosConfig.repo.secrets.local.work) user1 user2 user3; + in + { + mimeApps = { + defaultApplications = { + "x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ]; + }; + }; + desktopEntries = + let + terminal = false; + categories = [ "Application" ]; + icon = "firefox"; + in + { + firefox_work = { + name = "Firefox (work)"; + genericName = "Firefox work"; + exec = "firefox -p work"; + inherit terminal categories icon; + }; + "firefox_${user1}" = { + name = "Firefox (${user1})"; + genericName = "Firefox ${user1}"; + exec = "firefox -p ${user1}"; + inherit terminal categories icon; + }; + + "firefox_${user2}" = { + name = "Firefox (${user2})"; + genericName = "Firefox ${user2}"; + exec = "firefox -p ${user2}"; + inherit terminal categories icon; + }; + + "firefox_${user3}" = { + name = "Firefox (${user3})"; + genericName = "Firefox ${user3}"; + exec = "firefox -p ${user3}"; + inherit terminal categories icon; + }; + + + }; + }; + swarselsystems = { + startup = [ + # { command = "nextcloud --background"; } + { command = "vesktop --start-minimized --enable-speech-dispatcher --ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime"; } + { command = "element-desktop --hidden --enable-features=UseOzonePlatform --ozone-platform=wayland --disable-gpu-driver-bug-workarounds"; } + { command = "ANKI_WAYLAND=1 anki"; } + { command = "OBSIDIAN_USE_WAYLAND=1 obsidian"; } + { command = "nm-applet"; } + # { command = "feishin"; } + { command = "teams-for-linux --disableGpu=true --minimized=true --trayIconEnabled=true"; } + { command = "1password"; } + ]; + monitors = { + main = { + name = "BOE 0x0BC9 Unknown"; + mode = "2560x1600"; # TEMPLATE + scale = "1"; + position = "2560,0"; + workspace = "15:L"; + output = "eDP-2"; + }; + homedesktop = { + name = "Philips Consumer Electronics Company PHL BDM3270 AU11806002320"; + mode = "2560x1440"; + scale = "1"; + position = "0,0"; + workspace = "1:一"; + output = "DP-11"; + }; + work_back_middle = { + name = "LG Electronics LG Ultra HD 0x000305A6"; + mode = "2560x1440"; + scale = "1"; + position = "5120,0"; + workspace = "1:一"; + output = "DP-10"; + }; + work_front_left = { + name = "LG Electronics LG Ultra HD 0x0007AB45"; + mode = "3840x2160"; + scale = "1"; + position = "5120,0"; + workspace = "1:一"; + output = "DP-7"; + }; + work_back_right = { + name = "HP Inc. HP Z32 CN41212T55"; + mode = "3840x2160"; + scale = "1"; + position = "5120,0"; + workspace = "1:一"; + output = "DP-3"; + }; + work_middle_middle_main = { + name = "HP Inc. HP 732pk CNC4080YL5"; + mode = "3840x2160"; + scale = "1"; + position = "-1280,0"; + workspace = "11:M"; + output = "DP-8"; + }; + work_middle_middle_side = { + name = "Hewlett Packard HP Z24i CN44250RDT"; + mode = "1920x1200"; + transform = "270"; + scale = "1"; + position = "-2480,0"; + workspace = "12:S"; + output = "DP-9"; + }; + work_seminary = { + name = "Applied Creative Technology Transmitter QUATTRO201811"; + mode = "1280x720"; + scale = "1"; + position = "10000,10000"; # i.e. this screen is inaccessible by moving the mouse + workspace = "14:T"; + output = "DP-4"; + }; + }; + inputs = { + "1133:45081:MX_Master_2S_Keyboard" = { + xkb_layout = "us"; + xkb_variant = "altgr-intl"; + }; + # "2362:628:PIXA3854:00_093A:0274_Touchpad" = { + # dwt = "enabled"; + # tap = "enabled"; + # natural_scroll = "enabled"; + # middle_emulation = "enabled"; + # drag_lock = "disabled"; + # }; + "1133:50504:Logitech_USB_Receiver" = { + xkb_layout = "us"; + xkb_variant = "altgr-intl"; + }; + "1133:45944:MX_KEYS_S" = { + xkb_layout = "us"; + xkb_variant = "altgr-intl"; + }; + }; + keybindings = { + "Mod4+Ctrl+Shift+p" = "exec screenshare"; + }; + + }; + }; + } @@ -15687,8 +15532,8 @@ This holds configuration that is specific to framework laptops.

    -
    -

    3.4. Shared

    +
    +

    3.4. Shared

    This section is for modules that are to be used on NixOS and home-manager scopes alike. This is for example needed in order to allow me to define and set my own custom functions only once in the NixOS config and then mirror them into the corresponding home-manager option. @@ -15777,8 +15622,8 @@ TODO: check which of these can be replaced but builtin functions.

    -
    -

    3.4.2. Variables (vars; holds firefox & stylix config parts)

    +
    +

    3.4.2. Variables (vars; holds firefox & stylix config parts)

    At work I am using several services that are using SSO login - however, as I am using four different accounts at work, this becomes a chore here. Hence, I have defined multiple profiles in Work that are all practically using the same configuration. To save screen space, I template that profile here. @@ -20451,12 +20296,9 @@ I set the annotation-mode of marginalia to heavy. This gives even m

    (use-package marginalia
       :after vertico
    -  :bind (:map minibuffer-local-map
    -              ("M-A" . marginalia-cycle))
       :init
       (marginalia-mode)
    -  ;; (setq marginalia-annotators '(marginalia-annotators-heavy marginalia-annotators-light nil))
    -  )
    +  (setq marginalia-annotators '(marginalia-annotators-heavy marginalia-annotators-light nil)))
     
     
    @@ -20662,22 +20504,6 @@ This part of the configuration mostly makes some aesthetic changes, enables neat
    -(defun swarsel/org-agenda-done-and-archive ()
    -  "Mark TODO at point as DONE, archive it, and save all agenda files."
    -  (interactive)
    -  (let ((org-archive-location "~/Nextcloud/Org/Archive.org::Archive"))
    -    (org-agenda-todo "DONE")
    -    (org-agenda-archive)
    -    (dolist (buf (buffer-list))
    -      (with-current-buffer buf
    -        (when (and buffer-file-name
    -                   (string-prefix-p (expand-file-name "~/Nextcloud/Org/") (file-truename buffer-file-name))
    -                   (derived-mode-p 'org-mode))
    -          (save-buffer))))))
    -
    -(with-eval-after-load 'org-agenda
    -  (define-key org-agenda-mode-map (kbd "C-a") #'swarsel/org-agenda-done-and-archive))
    -
     (use-package org
       ;;:diminish (org-indent-mode)
       :hook (org-mode . swarsel/org-mode-setup)
    @@ -20704,18 +20530,11 @@ This part of the configuration mostly makes some aesthetic changes, enables neat
                                "/home/swarsel/Nextcloud/Org/Archive.org"
                                ))
     
    -  (setq org-capture-templates
    -        '(("t" "Todo" entry (file+headline "~/Nextcloud/Org/Tasks.org" "Inbox")
    -           "* TODO %?\n  %i\n  %a")
    -          ("j" "Journal" entry (file+datetree "~/Nextcloud/Org/Journal.org")
    -           "* %?\nEntered on %U\n  %i\n  %a")))
    -
       (setq org-refile-targets
             '((swarsel-archive-org-file :maxlevel . 1)
               (swarsel-tasks-org-file :maxlevel . 1)))
     
       )
    -
     
    @@ -22428,13 +22247,13 @@ This sets up the dashboard, which is really quite useless. But, it
    -
    -

    4.4.45. Popup frames

    +
    +

    4.4.45. Popup frames

    (defun prot-window-delete-popup-frame (&rest _)
       "Kill selected selected frame if it has parameter `prot-window-popup-frame'.
    -    Use this function via a hook."
    +Use this function via a hook."
       (when (frame-parameter nil 'prot-window-popup-frame)
         (delete-frame)))
     
    @@ -22445,40 +22264,31 @@ Make the new frame have the `prot-window-popup-frame' parameter."
          ,(format "Run `%s' in a popup frame with `prot-window-popup-frame' parameter.
     Also see `prot-window-delete-popup-frame'." command)
          (interactive)
    -     (let ((frame (make-frame '((prot-window-popup-frame . t)
    -                                (title . "Emacs Popup Frame")))))
    -       (unwind-protect
    -           (progn
    -             (select-frame frame)
    -             (switch-to-buffer " prot-window-hidden-buffer-for-popup-frame")
    -             (condition-case nil
    -                 (call-interactively ',command)
    -               ((quit error user-error)
    -                (delete-frame frame))))
    -         (dolist (fr (frame-list))
    -           (when (string= (frame-parameter fr 'name) "Emacs Popup Anchor")
    -             (delete-frame fr)))))))
    +     (let ((frame (make-frame '((prot-window-popup-frame . t)))))
    +       (select-frame frame)
    +       (modify-frame-parameters nil '((title . "Emacs Popup Frame")))
    +       (switch-to-buffer " prot-window-hidden-buffer-for-popup-frame")
    +       (condition-case nil
    +           (call-interactively ',command)
    +         ((quit error user-error)
    +          (delete-frame frame))))))
     
     (declare-function org-capture "org-capture" (&optional goto keys))
     (defvar org-capture-after-finalize-hook)
    -    ;;;###autoload (autoload 'prot-window-popup-org-capture "prot-window")
    +;;;###autoload (autoload 'prot-window-popup-org-capture "prot-window")
     (prot-window-define-with-popup-frame org-capture)
     (add-hook 'org-capture-after-finalize-hook #'prot-window-delete-popup-frame)
     
     (declare-function mu4e "mu4e" (&optional goto keys))
    -    ;;;###autoload (autoload 'prot-window-popup-mu4e "prot-window")
    +;;;###autoload (autoload 'prot-window-popup-mu4e "prot-window")
     (prot-window-define-with-popup-frame mu4e)
     (advice-add 'mu4e-quit :after #'prot-window-delete-popup-frame)
     
     (declare-function swarsel/open-calendar "swarsel/open-calendar" (&optional goto keys))
    -    ;;;###autoload (autoload 'prot-window-popup-swarsel/open-calendar "prot-window")
    +;;;###autoload (autoload 'prot-window-popup-swarsel/open-calendar "prot-window")
     (prot-window-define-with-popup-frame swarsel/open-calendar)
     (advice-add 'bury-buffer :after #'prot-window-delete-popup-frame)
     
    -(declare-function org-agenda "org-agenda" (&optional goto keys))
    -    ;;;###autoload (autoload 'prot-window-popup-org-agenda "prot-window")
    -(prot-window-define-with-popup-frame org-agenda)
    -
     
    @@ -25213,7 +25023,7 @@ builtins.listToAttrs converts a list of name-value pairs into an attribute set.
    -{ bakery = "directory"; chaostheatre = "directory"; milkywell = "directory"; moonside = "directory"; pyramid = "directory"; toto = "directory"; winters = "directory"; }
    +{ bakery = "directory"; chaostheatre = "directory"; milkywell = "directory"; moonside = "directory"; pyramid = "directory"; sync = "directory"; toto = "directory"; winters = "directory"; }
     
    @@ -25461,7 +25271,7 @@ similarly, there exists an version that starts from the right.

    Author: Leon Schwarzäugl

    -

    Created: 2025-08-09 Sa 14:31

    +

    Created: 2025-08-05 Di 01:22

    Validate

    diff --git a/modules/home/common/env.nix b/modules/home/common/env.nix index f0404da..a2604c5 100644 --- a/modules/home/common/env.nix +++ b/modules/home/common/env.nix @@ -31,7 +31,6 @@ in SWARSEL_CAL3NAME = source3-name; SWARSEL_FULLNAME = fullName; SWARSEL_MAIL_ALL = allMailAddresses; - GITHUB_NOTIFICATION_TOKEN_PATH = nixosConfig.sops.secrets.github-notifications-token.path; }; }; } diff --git a/modules/home/common/mail.nix b/modules/home/common/mail.nix index f977d12..8d1750f 100644 --- a/modules/home/common/mail.nix +++ b/modules/home/common/mail.nix @@ -33,76 +33,22 @@ in # this is needed so that mbsync can use the passwords from sops systemd.user.services.mbsync.Unit.After = [ "sops-nix.service" ]; - programs.thunderbird = { - enable = true; - profiles.default = { - isDefault = true; - withExternalGnupg = true; - settings = { - "mail.identity.default.archive_enabled" = true; - "mail.identity.default.archive_keep_folder_structure" = true; - "mail.identity.default.compose_html" = false; - "mail.identity.default.protectSubject" = true; - "mail.identity.default.reply_on_top" = 1; - "mail.identity.default.sig_on_reply" = false; - "mail.identity.default.sig_bottom" = false; - - "gfx.webrender.all" = true; - "gfx.webrender.enabled" = true; - }; - }; - - settings = { - "mail.server.default.allow_utf8_accept" = true; - "mail.server.default.max_articles" = 1000; - "mail.server.default.check_all_folders_for_new" = true; - "mail.show_headers" = 1; - "mail.identity.default.auto_quote" = true; - "mail.identity.default.attachPgpKey" = true; - "mailnews.default_sort_order" = 2; - "mailnews.default_sort_type" = 18; - "mailnews.default_view_flags" = 0; - "mailnews.sort_threads_by_root" = true; - "mailnews.headers.showMessageId" = true; - "mailnews.headers.showOrganization" = true; - "mailnews.headers.showReferences" = true; - "mailnews.headers.showUserAgent" = true; - "mail.imap.expunge_after_delete" = true; - "mail.server.default.delete_model" = 2; - "mail.warn_on_delete_from_trash" = false; - "mail.warn_on_shift_delete" = false; - "toolkit.telemetry.enabled" = false; - "toolkit.telemetry.rejected" = true; - "toolkit.telemetry.prompted" = 2; - "app.update.auto" = false; - "privacy.donottrackheader.enabled" = true; - }; - }; - - xdg.mimeApps.defaultApplications = { - "x-scheme-handler/mailto" = [ "thunderbird.desktop" ]; - "x-scheme-handler/mid" = [ "thunderbird.desktop" ]; - "message/rfc822" = [ "thunderbird.desktop" ]; - }; - accounts = lib.mkIf (config.swarselsystems.isNixos && !config.swarselsystems.isPublic) { - email = - let - defaultSettings = { - imap = { - host = "imap.gmail.com"; - port = 993; - tls.enable = true; # SSL/TLS - }; - smtp = { - host = "smtp.gmail.com"; - port = 465; - tls.enable = true; # SSL/TLS - }; - thunderbird = { - enable = true; - profiles = [ "default" ]; + email = { + maildirBasePath = "Mail"; + accounts = { + leon = { + primary = true; + address = address1; + userName = address1; + realName = fullName; + passwordCommand = "cat ${nixosConfig.sops.secrets.address1-token.path}"; + gpg = { + key = "0x76FD3810215AE097"; + signByDefault = true; }; + imap.host = "imap.gmail.com"; + smtp.host = "smtp.gmail.com"; mu.enable = true; msmtp = { enable = true; @@ -123,68 +69,85 @@ in }; }; }; - in - { - maildirBasePath = "Mail"; - accounts = { - swarsel = { - address = address4; - userName = address4-user; - realName = fullName; - passwordCommand = "cat ${nixosConfig.sops.secrets.address4-token.path}"; - smtp = { - host = address4-host; - port = 587; - tls = { - enable = true; - useStartTls = true; - }; - }; - mu.enable = false; - msmtp = { + + swarsel = { + address = address4; + userName = address4-user; + realName = fullName; + passwordCommand = "cat ${nixosConfig.sops.secrets.address4-token.path}"; + smtp = { + host = address4-host; + port = 587; + tls = { enable = true; - }; - mbsync = { - enable = false; + useStartTls = true; }; }; - - leon = lib.recursiveUpdate - { - primary = true; - address = address1; - userName = address1; - realName = fullName; - passwordCommand = "cat ${nixosConfig.sops.secrets.address1-token.path}"; - gpg = { - key = "0x76FD3810215AE097"; - signByDefault = true; - }; - } - defaultSettings; - - nautilus = lib.recursiveUpdate - { - primary = false; - address = address2; - userName = address2; - realName = address2-name; - passwordCommand = "cat ${nixosConfig.sops.secrets.address2-token.path}"; - } - defaultSettings; - - mrswarsel = lib.recursiveUpdate - { - primary = false; - address = address3; - userName = address3; - realName = address3-name; - passwordCommand = "cat ${nixosConfig.sops.secrets.address3-token.path}"; - } - defaultSettings; - + mu.enable = false; + msmtp = { + enable = true; + }; + mbsync = { + enable = false; + }; }; + + nautilus = { + primary = false; + address = address2; + userName = address2; + realName = address2-name; + passwordCommand = "cat ${nixosConfig.sops.secrets.address2-token.path}"; + imap.host = "imap.gmail.com"; + smtp.host = "smtp.gmail.com"; + msmtp.enable = true; + mu.enable = true; + mbsync = { + enable = true; + create = "maildir"; + expunge = "both"; + patterns = [ "*" "![Gmail]*" "[Gmail]/Sent Mail" "[Gmail]/Starred" "[Gmail]/All Mail" ]; + extraConfig = { + channel = { + Sync = "All"; + }; + account = { + Timeout = 120; + PipelineDepth = 1; + }; + }; + }; + }; + + mrswarsel = { + primary = false; + address = address3; + userName = address3; + realName = address3-name; + passwordCommand = "cat ${nixosConfig.sops.secrets.address3-token.path}"; + imap.host = "imap.gmail.com"; + smtp.host = "smtp.gmail.com"; + msmtp.enable = true; + mu.enable = true; + mbsync = { + enable = true; + create = "maildir"; + expunge = "both"; + patterns = [ "*" "![Gmail]*" "[Gmail]/Sent Mail" "[Gmail]/Starred" "[Gmail]/All Mail" ]; + extraConfig = { + channel = { + Sync = "All"; + }; + account = { + Timeout = 120; + PipelineDepth = 1; + }; + }; + }; + }; + }; + }; }; }; } diff --git a/modules/home/common/sway.nix b/modules/home/common/sway.nix index e6aa3be..bb429dc 100644 --- a/modules/home/common/sway.nix +++ b/modules/home/common/sway.nix @@ -126,10 +126,9 @@ in "${modifier}+Shift+F12" = "move scratchpad"; "${modifier}+F12" = "scratchpad show"; "${modifier}+Shift+c" = "exec qalculate-gtk"; - "${modifier}+c" = "exec emacsclient -cF '((name . \"Emacs Popup Anchor\"))' -e '(prot-window-popup-org-capture)'"; - "${modifier}+t" = "exec emacsclient -cF '((name . \"Emacs Popup Anchor\"))' -e '(prot-window-popup-org-agenda)'"; - "${modifier}+Shift+m" = "exec emacsclient -cF '((name . \"Emacs Popup Anchor\"))' -e '(prot-window-popup-mu4e)'"; - "${modifier}+Shift+a" = "exec emacsclient -cF '((name . \"Emacs Popup Anchor\"))' -e '(prot-window-popup-swarsel/open-calendar)'"; + "${modifier}+c" = "emacsclient -e '(prot-window-popup-org-capture)'"; + "${modifier}+Shift+m" = "emacsclient -e '(prot-window-popup-mu4e)'"; + "${modifier}+Shift+a" = "emacsclient -e '(prot-window-popup-swarsel/open-calendar)'"; "${modifier}+p" = "exec pass-fuzzel"; "${modifier}+o" = "exec pass-fuzzel --otp"; "${modifier}+Shift+p" = "exec pass-fuzzel --type"; @@ -262,8 +261,7 @@ in { title = "^Add$"; } { title = "^Picture-in-Picture$"; } { title = "Syncthing Tray"; } - { title = "^Emacs Popup Frame$"; } - { title = "^Emacs Popup Anchor$"; } + { title = "Emacs Popup Frame"; } { title = "^spotifytui$"; } { title = "^kittyterm$"; } { app_id = "vesktop"; } @@ -314,18 +312,6 @@ in title = "^Picture-in-Picture$"; }; } - { - command = "resize set width 60 ppt height 60 ppt, opacity 0.99, sticky enable"; - criteria = { - title = "^Emacs Popup Frame$"; - }; - } - { - command = "move container to scratchpad"; - criteria = { - title = "^Emacs Popup Anchor$"; - }; - } { command = "resize set width 60 ppt height 60 ppt, opacity 0.8, sticky enable, border normal, move container to scratchpad"; criteria = { diff --git a/modules/home/common/zsh.nix b/modules/home/common/zsh.nix index 17fe339..0fae0c0 100644 --- a/modules/home/common/zsh.nix +++ b/modules/home/common/zsh.nix @@ -15,7 +15,6 @@ in sops.secrets = lib.mkIf (!config.swarselsystems.isPublic && !config.swarselsystems.isNixos) { croc-password = { }; - github-nixpkgs-review-token = { }; }; programs.zsh = { @@ -50,10 +49,8 @@ in boot-diff = "nix store diff-closures /run/*-system"; gen-diff = "nix profile diff-closures --profile /nix/var/nix/profiles/system"; cc = "wl-copy"; - build-topology = "nix build .#topology.x86_64-linux.config.output"; - build-iso = "nix build --print-out-paths .#live-iso"; - nix-review- = "nix run nixpkgs#nixpkgs-review -- rev HEAD"; - nix-review-post = "nix run nixpkgs#nixpkgs-review -- pr --post-result --systems linux"; + topology = "nix build .#topology.x86_64-linux.config.output"; + iso = "nix build --print-out-paths .#live-iso"; } config.swarselsystems.shellAliases; autosuggestion.enable = true; @@ -127,7 +124,6 @@ in bindkey '^H' my-backward-delete-word export CROC_PASS="$(cat ${nixosConfig.sops.secrets.croc-password.path})" - export GITHUB_TOKEN="$(cat ${nixosConfig.sops.secrets.github-nixpkgs-review-token.path})" ''; }; }; diff --git a/modules/home/optional/work.nix b/modules/home/optional/work.nix index 6941c79..cd91509 100644 --- a/modules/home/optional/work.nix +++ b/modules/home/optional/work.nix @@ -4,542 +4,445 @@ let in { options.swarselmodules.optional.work = lib.mkEnableOption "optional work settings"; - config = lib.mkIf config.swarselmodules.optional.work - { - home.packages = with pkgs; [ - stable.teams-for-linux - shellcheck - dig - docker - postman - rclone - stable24_05.awscli2 - libguestfs-with-appliance - stable.prometheus.cli - tigervnc - openstackclient - pizauth - ]; + config = lib.mkIf config.swarselmodules.optional.work { + home.packages = with pkgs; [ + stable.teams-for-linux + shellcheck + dig + docker + postman + rclone + stable24_05.awscli2 + libguestfs-with-appliance + stable.prometheus.cli + tigervnc + openstackclient + ]; - systemd.user.services.pizauth = { - Unit = { - Description = "Pizauth OAuth2 token manager"; + home.sessionVariables = { + DOCUMENT_DIR_PRIV = lib.mkForce "${homeDir}/Documents/Private"; + DOCUMENT_DIR_WORK = lib.mkForce "${homeDir}/Documents/Work"; + }; + + wayland.windowManager.sway.config = { + output = { + "Applied Creative Technology Transmitter QUATTRO201811" = { + bg = "${self}/files/wallpaper/navidrome.png ${config.stylix.imageScalingMode}"; }; - - Service = { - Type = "simple"; - ExecStart = "${pkgs.pizauth}/bin/pizauth server -vvvv -d"; - ExecReload = "${pkgs.pizauth}/bin/pizauth reload"; - ExecStop = "${pkgs.pizauth}/bin/pizauth shutdown"; + "Hewlett Packard HP Z24i CN44250RDT" = { + bg = "${self}/files/wallpaper/op6wp.png ${config.stylix.imageScalingMode}"; }; - - Install = { - WantedBy = [ "default.target" ]; + "HP Inc. HP 732pk CNC4080YL5" = { + bg = "${self}/files/wallpaper/botanicswp.png ${config.stylix.imageScalingMode}"; }; }; - - home.sessionVariables = { - DOCUMENT_DIR_PRIV = lib.mkForce "${homeDir}/Documents/Private"; - DOCUMENT_DIR_WORK = lib.mkForce "${homeDir}/Documents/Work"; - }; - - accounts.email.accounts.work = - let - inherit (nixosConfig.repo.secrets.local.work) mailAddress mailName; - in - { - primary = false; - address = mailAddress; - userName = mailAddress; - realName = mailName; - passwordCommand = "pizauth show work"; - imap = { - host = "outlook.office365.com"; - port = 993; - tls.enable = true; # SSL/TLS - }; - smtp = { - host = "outlook.office365.com"; - port = 587; - tls = { - enable = true; # SSL/TLS - useStartTls = true; - }; - }; - thunderbird = { - enable = true; - profiles = [ "default" ]; - settings = id: { - "mail.smtpserver.smtp_${id}.authMethod" = 10; # oauth - "mail.server.server_${id}.authMethod" = 10; # oauth - # "toolkit.telemetry.enabled" = false; - # "toolkit.telemetry.rejected" = true; - # "toolkit.telemetry.prompted" = 2; - }; - }; - msmtp = { - enable = false; - extraConfig = { - account = "work"; - auth = "xoauth2"; - host = "outlook.office365.com"; - protocol = "smtp"; - port = "587"; - tls = "on"; - tls_starttls = "on"; - from = "${mailAddress}"; - user = "${mailAddress}"; - passwordeval = "pizauth show work"; - }; - }; - mu.enable = false; - mbsync = { - enable = false; - expunge = "both"; - extraConfig = { - account = { - AuthMechs = "XOAUTH2"; - }; - }; - }; - }; - - wayland.windowManager.sway.config = { - output = { - "Applied Creative Technology Transmitter QUATTRO201811" = { - bg = "${self}/files/wallpaper/navidrome.png ${config.stylix.imageScalingMode}"; - }; - "Hewlett Packard HP Z24i CN44250RDT" = { - bg = "${self}/files/wallpaper/op6wp.png ${config.stylix.imageScalingMode}"; - }; - "HP Inc. HP 732pk CNC4080YL5" = { - bg = "${self}/files/wallpaper/botanicswp.png ${config.stylix.imageScalingMode}"; - }; - }; - }; - - stylix = { - targets.firefox.profileNames = - let - inherit (nixosConfig.repo.secrets.local.work) user1 user2 user3; - in - [ - "${user1}" - "${user2}" - "${user3}" - "work" - ]; - }; - - programs = - let - inherit (nixosConfig.repo.secrets.local.work) user1 user1Long user2 user2Long user3 user3Long user4 path1 loc1 loc2 site1 site2 site3 site4 site5 site6 site7 lifecycle1 lifecycle2 domain1 domain2 gitMail; - in - { - git.userEmail = lib.mkForce gitMail; - - zsh = { - shellAliases = { - dssh = "ssh -l ${user1Long}"; - cssh = "ssh -l ${user2Long}"; - wssh = "ssh -l ${user3Long}"; - }; - cdpath = [ - "~/Documents/Work" - ]; - dirHashes = { - d = "$HOME/.dotfiles"; - w = "$HOME/Documents/Work"; - s = "$HOME/.dotfiles/secrets"; - pr = "$HOME/Documents/Private"; - ac = path1; - }; - }; - - ssh = { - matchBlocks = { - "${loc1}" = { - hostname = "${loc1}.${domain2}"; - user = user4; - }; - "${loc1}.stg" = { - hostname = "${loc1}.${lifecycle1}.${domain2}"; - user = user4; - }; - "${loc1}.staging" = { - hostname = "${loc1}.${lifecycle1}.${domain2}"; - user = user4; - }; - "${loc1}.dev" = { - hostname = "${loc1}.${lifecycle2}.${domain2}"; - user = user4; - }; - "${loc2}" = { - hostname = "${loc2}.${domain1}"; - user = user1Long; - }; - "${loc2}.stg" = { - hostname = "${loc2}.${lifecycle1}.${domain2}"; - user = user1Long; - }; - "${loc2}.staging" = { - hostname = "${loc2}.${lifecycle1}.${domain2}"; - user = user1Long; - }; - "*.${domain1}" = { - user = user1Long; - }; - }; - }; - - firefox = { - profiles = - let - isDefault = false; - in - { - "${user1}" = lib.recursiveUpdate - { - inherit isDefault; - id = 1; - settings = { - "browser.startup.homepage" = "${site1}|${site2}"; - }; - } - vars.firefox; - "${user2}" = lib.recursiveUpdate - { - inherit isDefault; - id = 2; - settings = { - "browser.startup.homepage" = "${site3}"; - }; - } - vars.firefox; - "${user3}" = lib.recursiveUpdate - { - inherit isDefault; - id = 3; - } - vars.firefox; - work = lib.recursiveUpdate - { - inherit isDefault; - id = 4; - settings = { - "browser.startup.homepage" = "${site4}|${site5}|${site6}|${site7}"; - }; - } - vars.firefox; - }; - }; - - chromium = { - enable = true; - package = pkgs.chromium; - - extensions = [ - # 1password - "gejiddohjgogedgjnonbofjigllpkmbf" - # dark reader - "eimadpbcbfnmbkopoojfekhnkhdbieeh" - # ublock origin - "cjpalhdlnbpafiamejdnhcphjbkeiagm" - # i still dont care about cookies - "edibdbjcniadpccecjdfdjjppcpchdlm" - # browserpass - "naepdomgkenhinolocfifgehidddafch" - ]; - }; - }; - - services = { - kanshi = { - settings = [ - { - # seminary room - output = { - criteria = "Applied Creative Technology Transmitter QUATTRO201811"; - scale = 1.0; - mode = "1280x720"; - }; - } - { - # work main screen - output = { - criteria = "HP Inc. HP 732pk CNC4080YL5"; - scale = 1.0; - mode = "3840x2160"; - }; - } - { - # work side screen - output = { - criteria = "Hewlett Packard HP Z24i CN44250RDT"; - scale = 1.0; - mode = "1920x1200"; - transform = "270"; - }; - } - { - profile = { - name = "lidopen"; - outputs = [ - { - criteria = config.swarselsystems.sharescreen; - status = "enable"; - scale = 1.5; - position = "1462,0"; - } - { - criteria = "HP Inc. HP 732pk CNC4080YL5"; - scale = 1.4; - mode = "3840x2160"; - position = "-1280,0"; - } - { - criteria = "Hewlett Packard HP Z24i CN44250RDT"; - scale = 1.0; - mode = "1920x1200"; - transform = "90"; - position = "-2480,0"; - } - ]; - }; - } - { - profile = { - name = "lidopen"; - outputs = [ - { - criteria = config.swarselsystems.sharescreen; - status = "enable"; - scale = 1.7; - position = "2560,0"; - } - { - criteria = "Applied Creative Technology Transmitter QUATTRO201811"; - scale = 1.0; - mode = "1280x720"; - position = "10000,10000"; - } - ]; - }; - } - { - profile = { - name = "lidclosed"; - outputs = [ - { - criteria = config.swarselsystems.sharescreen; - status = "disable"; - } - { - criteria = "HP Inc. HP 732pk CNC4080YL5"; - scale = 1.4; - mode = "3840x2160"; - position = "-1280,0"; - } - { - criteria = "Hewlett Packard HP Z24i CN44250RDT"; - scale = 1.0; - mode = "1920x1200"; - transform = "270"; - position = "-2480,0"; - } - ]; - }; - } - { - profile = { - name = "lidclosed"; - outputs = [ - { - criteria = config.swarselsystems.sharescreen; - status = "disable"; - } - { - criteria = "Applied Creative Technology Transmitter QUATTRO201811"; - scale = 1.0; - mode = "1280x720"; - position = "10000,10000"; - } - ]; - }; - } - ]; - }; - }; - - xdg = - let - inherit (nixosConfig.repo.secrets.local.work) user1 user2 user3; - in - { - configFile."pizauth.conf".text = '' - account "work" { - auth_uri = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize"; - token_uri = "https://login.microsoftonline.com/common/oauth2/v2.0/token"; - client_id = "08162f7c-0fd2-4200-a84a-f25a4db0b584"; - client_secret = "TxRBilcHdC6WGBee]fs?QR:SJ8nI[g82"; - scopes = [ - "https://outlook.office365.com/IMAP.AccessAsUser.All", - "https://outlook.office365.com/SMTP.Send", - "offline_access" - ]; - // You don't have to specify login_hint, but it does make - // authentication a little easier. - login_hint = "${nixosConfig.repo.secrets.local.work.mailAddress}"; - } - ''; - - mimeApps = { - defaultApplications = { - "x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ]; - }; - }; - desktopEntries = - let - terminal = false; - categories = [ "Application" ]; - icon = "firefox"; - in - { - firefox_work = { - name = "Firefox (work)"; - genericName = "Firefox work"; - exec = "firefox -p work"; - inherit terminal categories icon; - }; - "firefox_${user1}" = { - name = "Firefox (${user1})"; - genericName = "Firefox ${user1}"; - exec = "firefox -p ${user1}"; - inherit terminal categories icon; - }; - - "firefox_${user2}" = { - name = "Firefox (${user2})"; - genericName = "Firefox ${user2}"; - exec = "firefox -p ${user2}"; - inherit terminal categories icon; - }; - - "firefox_${user3}" = { - name = "Firefox (${user3})"; - genericName = "Firefox ${user3}"; - exec = "firefox -p ${user3}"; - inherit terminal categories icon; - }; - - - }; - }; - swarselsystems = { - startup = [ - # { command = "nextcloud --background"; } - { command = "vesktop --start-minimized --enable-speech-dispatcher --ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime"; } - { command = "element-desktop --hidden --enable-features=UseOzonePlatform --ozone-platform=wayland --disable-gpu-driver-bug-workarounds"; } - { command = "ANKI_WAYLAND=1 anki"; } - { command = "OBSIDIAN_USE_WAYLAND=1 obsidian"; } - { command = "nm-applet"; } - # { command = "feishin"; } - { command = "teams-for-linux --disableGpu=true --minimized=true --trayIconEnabled=true"; } - { command = "1password"; } - ]; - monitors = { - main = { - name = "BOE 0x0BC9 Unknown"; - mode = "2560x1600"; # TEMPLATE - scale = "1"; - position = "2560,0"; - workspace = "15:L"; - output = "eDP-2"; - }; - homedesktop = { - name = "Philips Consumer Electronics Company PHL BDM3270 AU11806002320"; - mode = "2560x1440"; - scale = "1"; - position = "0,0"; - workspace = "1:一"; - output = "DP-11"; - }; - work_back_middle = { - name = "LG Electronics LG Ultra HD 0x000305A6"; - mode = "2560x1440"; - scale = "1"; - position = "5120,0"; - workspace = "1:一"; - output = "DP-10"; - }; - work_front_left = { - name = "LG Electronics LG Ultra HD 0x0007AB45"; - mode = "3840x2160"; - scale = "1"; - position = "5120,0"; - workspace = "1:一"; - output = "DP-7"; - }; - work_back_right = { - name = "HP Inc. HP Z32 CN41212T55"; - mode = "3840x2160"; - scale = "1"; - position = "5120,0"; - workspace = "1:一"; - output = "DP-3"; - }; - work_middle_middle_main = { - name = "HP Inc. HP 732pk CNC4080YL5"; - mode = "3840x2160"; - scale = "1"; - position = "-1280,0"; - workspace = "11:M"; - output = "DP-8"; - }; - work_middle_middle_side = { - name = "Hewlett Packard HP Z24i CN44250RDT"; - mode = "1920x1200"; - transform = "270"; - scale = "1"; - position = "-2480,0"; - workspace = "12:S"; - output = "DP-9"; - }; - work_seminary = { - name = "Applied Creative Technology Transmitter QUATTRO201811"; - mode = "1280x720"; - scale = "1"; - position = "10000,10000"; # i.e. this screen is inaccessible by moving the mouse - workspace = "14:T"; - output = "DP-4"; - }; - }; - inputs = { - "1133:45081:MX_Master_2S_Keyboard" = { - xkb_layout = "us"; - xkb_variant = "altgr-intl"; - }; - # "2362:628:PIXA3854:00_093A:0274_Touchpad" = { - # dwt = "enabled"; - # tap = "enabled"; - # natural_scroll = "enabled"; - # middle_emulation = "enabled"; - # drag_lock = "disabled"; - # }; - "1133:50504:Logitech_USB_Receiver" = { - xkb_layout = "us"; - xkb_variant = "altgr-intl"; - }; - "1133:45944:MX_KEYS_S" = { - xkb_layout = "us"; - xkb_variant = "altgr-intl"; - }; - }; - keybindings = { - "Mod4+Ctrl+Shift+p" = "exec screenshare"; - }; - - }; }; + stylix = { + targets.firefox.profileNames = + let + inherit (nixosConfig.repo.secrets.local.work) user1 user2 user3; + in + [ + "${user1}" + "${user2}" + "${user3}" + "work" + ]; + }; + + programs = + let + inherit (nixosConfig.repo.secrets.local.work) user1 user1Long user2 user2Long user3 user3Long user4 path1 loc1 loc2 site1 site2 site3 site4 site5 site6 site7 lifecycle1 lifecycle2 domain1 domain2 gitMail; + in + { + git.userEmail = lib.mkForce gitMail; + + zsh = { + shellAliases = { + dssh = "ssh -l ${user1Long}"; + cssh = "ssh -l ${user2Long}"; + wssh = "ssh -l ${user3Long}"; + }; + cdpath = [ + "~/Documents/Work" + ]; + dirHashes = { + d = "$HOME/.dotfiles"; + w = "$HOME/Documents/Work"; + s = "$HOME/.dotfiles/secrets"; + pr = "$HOME/Documents/Private"; + ac = path1; + }; + }; + + ssh = { + matchBlocks = { + "${loc1}" = { + hostname = "${loc1}.${domain2}"; + user = user4; + }; + "${loc1}.stg" = { + hostname = "${loc1}.${lifecycle1}.${domain2}"; + user = user4; + }; + "${loc1}.staging" = { + hostname = "${loc1}.${lifecycle1}.${domain2}"; + user = user4; + }; + "${loc1}.dev" = { + hostname = "${loc1}.${lifecycle2}.${domain2}"; + user = user4; + }; + "${loc2}" = { + hostname = "${loc2}.${domain1}"; + user = user1Long; + }; + "${loc2}.stg" = { + hostname = "${loc2}.${lifecycle1}.${domain2}"; + user = user1Long; + }; + "${loc2}.staging" = { + hostname = "${loc2}.${lifecycle1}.${domain2}"; + user = user1Long; + }; + "*.${domain1}" = { + user = user1Long; + }; + }; + }; + + firefox = { + profiles = + let + isDefault = false; + in + { + "${user1}" = lib.recursiveUpdate + { + inherit isDefault; + id = 1; + settings = { + "browser.startup.homepage" = "${site1}|${site2}"; + }; + } + vars.firefox; + "${user2}" = lib.recursiveUpdate + { + inherit isDefault; + id = 2; + settings = { + "browser.startup.homepage" = "${site3}"; + }; + } + vars.firefox; + "${user3}" = lib.recursiveUpdate + { + inherit isDefault; + id = 3; + } + vars.firefox; + work = lib.recursiveUpdate + { + inherit isDefault; + id = 4; + settings = { + "browser.startup.homepage" = "${site4}|${site5}|${site6}|${site7}"; + }; + } + vars.firefox; + }; + }; + + chromium = { + enable = true; + package = pkgs.chromium; + + extensions = [ + # 1password + "gejiddohjgogedgjnonbofjigllpkmbf" + # dark reader + "eimadpbcbfnmbkopoojfekhnkhdbieeh" + # ublock origin + "cjpalhdlnbpafiamejdnhcphjbkeiagm" + # i still dont care about cookies + "edibdbjcniadpccecjdfdjjppcpchdlm" + # browserpass + "naepdomgkenhinolocfifgehidddafch" + ]; + }; + }; + + services = { + kanshi = { + settings = [ + { + # seminary room + output = { + criteria = "Applied Creative Technology Transmitter QUATTRO201811"; + scale = 1.0; + mode = "1280x720"; + }; + } + { + # work main screen + output = { + criteria = "HP Inc. HP 732pk CNC4080YL5"; + scale = 1.0; + mode = "3840x2160"; + }; + } + { + # work side screen + output = { + criteria = "Hewlett Packard HP Z24i CN44250RDT"; + scale = 1.0; + mode = "1920x1200"; + transform = "270"; + }; + } + { + profile = { + name = "lidopen"; + outputs = [ + { + criteria = config.swarselsystems.sharescreen; + status = "enable"; + scale = 1.5; + position = "1462,0"; + } + { + criteria = "HP Inc. HP 732pk CNC4080YL5"; + scale = 1.4; + mode = "3840x2160"; + position = "-1280,0"; + } + { + criteria = "Hewlett Packard HP Z24i CN44250RDT"; + scale = 1.0; + mode = "1920x1200"; + transform = "90"; + position = "-2480,0"; + } + ]; + }; + } + { + profile = { + name = "lidopen"; + outputs = [ + { + criteria = config.swarselsystems.sharescreen; + status = "enable"; + scale = 1.7; + position = "2560,0"; + } + { + criteria = "Applied Creative Technology Transmitter QUATTRO201811"; + scale = 1.0; + mode = "1280x720"; + position = "10000,10000"; + } + ]; + }; + } + { + profile = { + name = "lidclosed"; + outputs = [ + { + criteria = config.swarselsystems.sharescreen; + status = "disable"; + } + { + criteria = "HP Inc. HP 732pk CNC4080YL5"; + scale = 1.4; + mode = "3840x2160"; + position = "-1280,0"; + } + { + criteria = "Hewlett Packard HP Z24i CN44250RDT"; + scale = 1.0; + mode = "1920x1200"; + transform = "270"; + position = "-2480,0"; + } + ]; + }; + } + { + profile = { + name = "lidclosed"; + outputs = [ + { + criteria = config.swarselsystems.sharescreen; + status = "disable"; + } + { + criteria = "Applied Creative Technology Transmitter QUATTRO201811"; + scale = 1.0; + mode = "1280x720"; + position = "10000,10000"; + } + ]; + }; + } + ]; + }; + }; + + xdg = + let + inherit (nixosConfig.repo.secrets.local.work) user1 user2 user3; + in + { + mimeApps = { + defaultApplications = { + "x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ]; + }; + }; + desktopEntries = + let + terminal = false; + categories = [ "Application" ]; + icon = "firefox"; + in + { + firefox_work = { + name = "Firefox (work)"; + genericName = "Firefox work"; + exec = "firefox -p work"; + inherit terminal categories icon; + }; + "firefox_${user1}" = { + name = "Firefox (${user1})"; + genericName = "Firefox ${user1}"; + exec = "firefox -p ${user1}"; + inherit terminal categories icon; + }; + + "firefox_${user2}" = { + name = "Firefox (${user2})"; + genericName = "Firefox ${user2}"; + exec = "firefox -p ${user2}"; + inherit terminal categories icon; + }; + + "firefox_${user3}" = { + name = "Firefox (${user3})"; + genericName = "Firefox ${user3}"; + exec = "firefox -p ${user3}"; + inherit terminal categories icon; + }; + + + }; + }; + swarselsystems = { + startup = [ + # { command = "nextcloud --background"; } + { command = "vesktop --start-minimized --enable-speech-dispatcher --ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime"; } + { command = "element-desktop --hidden --enable-features=UseOzonePlatform --ozone-platform=wayland --disable-gpu-driver-bug-workarounds"; } + { command = "ANKI_WAYLAND=1 anki"; } + { command = "OBSIDIAN_USE_WAYLAND=1 obsidian"; } + { command = "nm-applet"; } + # { command = "feishin"; } + { command = "teams-for-linux --disableGpu=true --minimized=true --trayIconEnabled=true"; } + { command = "1password"; } + ]; + monitors = { + main = { + name = "BOE 0x0BC9 Unknown"; + mode = "2560x1600"; # TEMPLATE + scale = "1"; + position = "2560,0"; + workspace = "15:L"; + output = "eDP-2"; + }; + homedesktop = { + name = "Philips Consumer Electronics Company PHL BDM3270 AU11806002320"; + mode = "2560x1440"; + scale = "1"; + position = "0,0"; + workspace = "1:一"; + output = "DP-11"; + }; + work_back_middle = { + name = "LG Electronics LG Ultra HD 0x000305A6"; + mode = "2560x1440"; + scale = "1"; + position = "5120,0"; + workspace = "1:一"; + output = "DP-10"; + }; + work_front_left = { + name = "LG Electronics LG Ultra HD 0x0007AB45"; + mode = "3840x2160"; + scale = "1"; + position = "5120,0"; + workspace = "1:一"; + output = "DP-7"; + }; + work_back_right = { + name = "HP Inc. HP Z32 CN41212T55"; + mode = "3840x2160"; + scale = "1"; + position = "5120,0"; + workspace = "1:一"; + output = "DP-3"; + }; + work_middle_middle_main = { + name = "HP Inc. HP 732pk CNC4080YL5"; + mode = "3840x2160"; + scale = "1"; + position = "-1280,0"; + workspace = "11:M"; + output = "DP-8"; + }; + work_middle_middle_side = { + name = "Hewlett Packard HP Z24i CN44250RDT"; + mode = "1920x1200"; + transform = "270"; + scale = "1"; + position = "-2480,0"; + workspace = "12:S"; + output = "DP-9"; + }; + work_seminary = { + name = "Applied Creative Technology Transmitter QUATTRO201811"; + mode = "1280x720"; + scale = "1"; + position = "10000,10000"; # i.e. this screen is inaccessible by moving the mouse + workspace = "14:T"; + output = "DP-4"; + }; + }; + inputs = { + "1133:45081:MX_Master_2S_Keyboard" = { + xkb_layout = "us"; + xkb_variant = "altgr-intl"; + }; + # "2362:628:PIXA3854:00_093A:0274_Touchpad" = { + # dwt = "enabled"; + # tap = "enabled"; + # natural_scroll = "enabled"; + # middle_emulation = "enabled"; + # drag_lock = "disabled"; + # }; + "1133:50504:Logitech_USB_Receiver" = { + xkb_layout = "us"; + xkb_variant = "altgr-intl"; + }; + "1133:45944:MX_KEYS_S" = { + xkb_layout = "us"; + xkb_variant = "altgr-intl"; + }; + }; + keybindings = { + "Mod4+Ctrl+Shift+p" = "exec screenshare"; + }; + + }; + }; + } diff --git a/modules/nixos/client/env.nix b/modules/nixos/client/env.nix index a7ad7a5..ad9fad9 100644 --- a/modules/nixos/client/env.nix +++ b/modules/nixos/client/env.nix @@ -13,9 +13,7 @@ gst-plugins-ugly gst-libav ]); - } // (lib.optionalAttrs (!config.swarselsystems.isPublic) { - GITHUB_NOTIFICATION_TOKEN_PATH = config.sops.secrets.github-notifications-token.path; - }); + }; }; }; } diff --git a/modules/nixos/client/login.nix b/modules/nixos/client/login.nix index 528501e..11f0c37 100644 --- a/modules/nixos/client/login.nix +++ b/modules/nixos/client/login.nix @@ -7,7 +7,7 @@ settings = { initial_session.command = "sway"; default_session.command = '' - ${pkgs.tuigreet}/bin/tuigreet \ + ${pkgs.greetd.tuigreet}/bin/tuigreet \ --time \ --asterisks \ --user-menu \ diff --git a/modules/nixos/client/nix-ld.nix b/modules/nixos/client/nix-ld.nix index 1720691..48895bf 100644 --- a/modules/nixos/client/nix-ld.nix +++ b/modules/nixos/client/nix-ld.nix @@ -82,7 +82,7 @@ pixman speex stdenv.cc.cc - stable.steam-fhsenv-without-steam + steam-fhsenv-without-steam systemd tbb vulkan-loader diff --git a/modules/nixos/client/systemd.nix b/modules/nixos/client/systemd.nix index 2341d95..5ad6aaa 100644 --- a/modules/nixos/client/systemd.nix +++ b/modules/nixos/client/systemd.nix @@ -3,9 +3,9 @@ options.swarselmodules.systemdTimeout = lib.mkEnableOption "systemd timeout config"; config = lib.mkIf config.swarselmodules.systemdTimeout { # systemd - systemd.settings.Manager = { - DefaultTimeoutStartSec = "60s"; - DefaultTimeoutStopSec = "15s"; - }; + systemd.extraConfig = '' + DefaultTimeoutStartSec=60s + DefaultTimeoutStopSec=15s + ''; }; } diff --git a/modules/nixos/common/home-manager-secrets.nix b/modules/nixos/common/home-manager-secrets.nix index 3be77fa..a4ade64 100644 --- a/modules/nixos/common/home-manager-secrets.nix +++ b/modules/nixos/common/home-manager-secrets.nix @@ -19,7 +19,6 @@ in fever-pw = { path = "${homeDir}/.emacs.d/.fever"; owner = mainUser; }; }) // (lib.optionalAttrs modules.zsh { croc-password = { owner = mainUser; }; - github-nixpkgs-review-token = { owner = mainUser; }; }) // (lib.optionalAttrs modules.emacs { emacs-radicale-pw = { owner = mainUser; }; }); diff --git a/modules/nixos/common/home-manager.nix b/modules/nixos/common/home-manager.nix index 59fcd94..081b0b8 100644 --- a/modules/nixos/common/home-manager.nix +++ b/modules/nixos/common/home-manager.nix @@ -7,7 +7,7 @@ useUserPackages = true; verbose = true; users.${config.swarselsystems.mainUser}.imports = [ - inputs.nix-index-database.homeModules.nix-index + inputs.nix-index-database.hmModules.nix-index inputs.sops-nix.homeManagerModules.sops # inputs.stylix.homeModules.stylix { diff --git a/modules/nixos/optional/work.nix b/modules/nixos/optional/work.nix index 79a33bd..5ac8a2c 100644 --- a/modules/nixos/optional/work.nix +++ b/modules/nixos/optional/work.nix @@ -213,12 +213,13 @@ in gh ]; + services = { spice-vdagentd.enable = true; openssh = { enable = true; extraConfig = '' - ''; + ''; }; syncthing = { diff --git a/secrets/general/secrets.yaml b/secrets/general/secrets.yaml index 412f4aa..ebaf097 100644 --- a/secrets/general/secrets.yaml +++ b/secrets/general/secrets.yaml @@ -22,8 +22,6 @@ croc-password: ENC[AES256_GCM,data:uz7vI2rrPi1uTKEks4IPnWOt/R6ydlp/cQ==,iv:ZE01X github-api-token: ENC[AES256_GCM,data:9AhHkmv4JUjmir77INYflGvjNWW/E17FmfoXs5IUnAlL7B/l8s7UlVob0Az4lOUnm3+R0RWJz0HKMvOdZVZjd3RakdoWqvBHFqOVNF1MNthg2izIiaERsnDXcxj54qJfpD505xFSBWmnTKWVwRZlW5WEsFPuvaVy,iv:wzXT+qsn4VG+R8tGU33EWoaMKs4c/BB5W7f2JvuX2eY=,tag:EEhbktsmWHBwh0iBtfaXlA==,type:str] #ENC[AES256_GCM,data:vQF1i7rtfz/MBElKIN9j8N0=,iv:jf2SZpulx85yx2sHcnA3iwkiXJcHq4x1fdBUcSRuiK0=,tag:WpUNpH6/8jDvQA8zRGrdKg==,type:comment] emacs-radicale-pw: ENC[AES256_GCM,data:BIORG0geX8s1WOA=,iv:SeoVn8xHlqQGxZzHrm5I5LITMoutRnz3OygswDc96ew=,tag:C3S4a8IEvCjHgAyRrCaaRw==,type:str] -#ENC[AES256_GCM,data:qsBNKxd3Ng==,iv:1fNMDJt7vgKFSdghYBZsuDoZ1sWvzj1Zu8NmkjX6Zh8=,tag:0D7EsgN8B1z7/y4iZS/PtQ==,type:comment] -github-nixpkgs-review-token: ENC[AES256_GCM,data:/4ssZAEwEc9fZeR69GCvLMm4eRv4uabyDbGDGqfRUllO5DVSbZxO+A==,iv:mcARvAyPAB9pyCGFy2A/6qeZbSepHyWVNyusaQ5ze3I=,tag:o7AP6g8XHkPUaCnXK3CFig==,type:str] sops: age: - recipient: age1h72072slm2pthn9m2qwjsyy2dsazc6hz97kpzh4gksvv0r2jqecqul8w63 @@ -89,8 +87,8 @@ sops: SjV6L3crUkdLWTlsNFgyRHBla2FFam8KILYsNbLdCirfoC/Vex8yEYpS2G4O0EQP wa1xzPk3Ue0/g67dv5UZFhUn0ZB2XGFC3kEPWpptTj0VL+9Z/r0zKA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-08-05T09:33:50Z" - mac: ENC[AES256_GCM,data:rMtrDQtYsDyNqqVYKY9vg7fDGJjO2zQ+boN3j0dmYKyr5zzbbJAeCxAs3H/rNkgc3ril7sCfyAvP8n9KtYO6xmQuvu3Qgj2oqBiyvolfmYCArT0l7n+ImnNUGnFOfeugYPEIxvhDcEDK6dKiBMlEuyhtJ0hbVfvE4POQZi/jvMM=,iv:imWVUiFAbgzhPN/RNecx2LzCC5MJFg5nAIvGDCN2k0I=,tag:z0P180ZKj5p/g/E38CUjAQ==,type:str] + lastmodified: "2025-07-22T05:16:03Z" + mac: ENC[AES256_GCM,data:CoOd5ki9DoSBzwTeTw3JDGPReJD4th+v20AItwIZBLX15eLb1KXANdz5ekHeFZ6ntHq4ij0FUH63W6ojpBdvzJS7GgboQyAThkyJSmqtr7lN9rTa3XZSIKDTZCKm4wrG60q17vUIZXPLxM+NN1Fp2oEyCwt1s7SHM11xJ3JdyBk=,iv:ofyAhu4pjzNAJguU5Z5H9Capqcky/mTMXHEYS/qhvNs=,tag:L9tZRzd5VgbB7lyCkT6yTA==,type:str] pgp: - created_at: "2025-07-10T23:51:26Z" enc: |-