diff --git a/.github/README.md b/.github/README.md index 6a24483..08fdce4 100644 --- a/.github/README.md +++ b/.github/README.md @@ -257,45 +257,45 @@
Click here to expand... - - [guibou](https://github.com/guibou/) - - [rycee](https://github.com/rycee) - - [adisbladis](https://github.com/adisbladis) - - [Mic92](https://github.com/Mic92/sops-nix) - - [lassulus](https://github.com/lassulus) - - [danth](https://github.com/danth/) - - [LnL7](https://github.com/LnL7) - - [t184256](https://github.com/t184256) - - [bennofs](https://github.com/bennofs) - - [Pandapip1](https://github.com/Pandapip1) - - [zowoq](https://github.com/zowoq) - - [numtide](https://github.com/numtide) - - [hsjobeki](https://github.com/hsjobeki) - - [blitz](https://github.com/blitz) - - [RaitoBezarius](https://github.com/RaitoBezarius) - - [nikstur](https://github.com/nikstur) - - [talyz](https://github.com/talyz) - - [infinisil](https://github.com/infinisil) - - [zhaofengli](https://github.com/zhaofengli) - - [Artturin](https://github.com/Artturin) - - [oddlama](https://github.com/oddlama) + - [guibou](https://github.com/guibou/) + - [rycee](https://github.com/rycee) + - [adisbladis](https://github.com/adisbladis) + - [Mic92](https://github.com/Mic92/sops-nix) + - [lassulus](https://github.com/lassulus) + - [danth](https://github.com/danth/) + - [LnL7](https://github.com/LnL7) + - [t184256](https://github.com/t184256) + - [bennofs](https://github.com/bennofs) + - [Pandapip1](https://github.com/Pandapip1) + - [zowoq](https://github.com/zowoq) + - [numtide](https://github.com/numtide) + - [hsjobeki](https://github.com/hsjobeki) + - [blitz](https://github.com/blitz) + - [RaitoBezarius](https://github.com/RaitoBezarius) + - [nikstur](https://github.com/nikstur) + - [talyz](https://github.com/talyz) + - [infinisil](https://github.com/infinisil) + - [zhaofengli](https://github.com/zhaofengli) + - [Artturin](https://github.com/Artturin) + - [oddlama](https://github.com/oddlama)
- All the people who have inspired me with their configurations (sadly also highly incomplete):
Click here to expand... - - [theSuess](https://github.com/theSuess) with their [home-manager](https://code.kulupu.party/thesuess/home-manager) - - [hlissner](https://github.com/hlissner) with their [dotfiles](https://github.com/hlissner/dotfiles) - - [drduh](https://github.com/drduh/YubiKey-Guide) with their [YubiKey-Guide](https://github.com/drduh/YubiKey-Guide) - - [AntonHakansson](https://github.com/AntonHakansson) with their [nixos-config](https://github.com/AntonHakansson/nixos-config?tab=readme-ov-file) - - [Guekka](https://github.com/Guekka/) with their [blog](https://guekka.github.io/) - - [NotAShelf](https://github.com/NotAShelf) with their [nyx](https://github.com/NotAShelf/nyx) - - [Misterio77](https://github.com/Misterio77) with their [nix-config](https://github.com/Misterio77/nix-config) - - [0xdade](https://github.com/0xdade) with their [blog](https://0xda.de/blog/) - - [EmergentMind](https://github.com/EmergentMind) with their [nix-config](https://github.com/EmergentMind/nix-config) - - [librephoenix](https://github.com/librephoenix) with their [nixos-config](https://github.com/librephoenix/nixos-config) - - [Xe](https://github.com/Xe) with their [blog](https://xeiaso.net/blog/) - - [oddlama](https://github.com/oddlama) with their absolutely incredible [nix-config](https:/github.com/oddlama/nix-config) + - [theSuess](https://github.com/theSuess) with their [home-manager](https://code.kulupu.party/thesuess/home-manager) + - [hlissner](https://github.com/hlissner) with their [dotfiles](https://github.com/hlissner/dotfiles) + - [drduh](https://github.com/drduh/YubiKey-Guide) with their [YubiKey-Guide](https://github.com/drduh/YubiKey-Guide) + - [AntonHakansson](https://github.com/AntonHakansson) with their [nixos-config](https://github.com/AntonHakansson/nixos-config?tab=readme-ov-file) + - [Guekka](https://github.com/Guekka/) with their [blog](https://guekka.github.io/) + - [NotAShelf](https://github.com/NotAShelf) with their [nyx](https://github.com/NotAShelf/nyx) + - [Misterio77](https://github.com/Misterio77) with their [nix-config](https://github.com/Misterio77/nix-config) + - [0xdade](https://github.com/0xdade) with their [blog](https://0xda.de/blog/) + - [EmergentMind](https://github.com/EmergentMind) with their [nix-config](https://github.com/EmergentMind/nix-config) + - [librephoenix](https://github.com/librephoenix) with their [nixos-config](https://github.com/librephoenix/nixos-config) + - [Xe](https://github.com/Xe) with their [blog](https://xeiaso.net/blog/) + - [oddlama](https://github.com/oddlama) with their absolutely incredible [nix-config](https:/github.com/oddlama/nix-config)
If you feel that I forgot to pay you tribute for code that I used in this repository, please shoot me a message and I will fix it :) diff --git a/SwarselSystems.org b/SwarselSystems.org index e04006f..67399e8 100644 --- a/SwarselSystems.org +++ b/SwarselSystems.org @@ -854,8 +854,7 @@ The rest of the outputs either define or help define the actual configurations: inputs.home-manager.nixosModules.home-manager inputs.stylix.nixosModules.stylix inputs.nswitch-rcm-nix.nixosModules.nswitch-rcm - # inputs.swarsel-modules.nixosModules.default - inputs.swarsel-nix.nixosModules.default + inputs.swarsel-modules.nixosModules.default inputs.niri-flake.nixosModules.niri inputs.microvm.nixosModules.host inputs.microvm.nixosModules.microvm @@ -1483,9 +1482,9 @@ On the structure of overlays: as you notice, all of the attributes within overla additions = final: _: import "${self}/pkgs" { pkgs = final; inherit self lib; }; modifications = final: prev: { - # vesktop = prev.vesktop.override { - # withSystemVencord = true; - # }; + vesktop = prev.vesktop.override { + withSystemVencord = true; + }; firefox = prev.firefox.override { nativeMessagingHosts = [ @@ -4229,8 +4228,7 @@ We enable the use of =home-manager= as a NixoS module. A nice trick here is the inputs.nix-index-database.homeModules.nix-index inputs.sops-nix.homeManagerModules.sops inputs.spicetify-nix.homeManagerModules.default - # inputs.swarsel-modules.homeModules.default - inputs.swarsel-nix.homeModules.default + inputs.swarsel-modules.homeModules.default { imports = [ "${self}/profiles/home" @@ -4661,7 +4659,7 @@ Mostly used to install some compilers and lsp's that I want to have available wh # pinentry dbus - # swaylock-effects + swaylock-effects syncthingtray-minimal swayosd @@ -11009,14 +11007,7 @@ Again, we adapt =nix= to our needs, enable the home-manager command for non-NixO nixpkgs.overlays = lib.mkIf config.swarselsystems.isNixos (lib.mkForce null); - programs = { - home-manager.enable = lib.mkIf (!config.swarselsystems.isNixos) true; - man = { - enable = true; - generateCaches = true; - }; - }; - + programs.home-manager.enable = lib.mkIf (!config.swarselsystems.isNixos) true; targets.genericLinux.enable = lib.mkIf (!config.swarselsystems.isNixos) true; home = { @@ -11027,11 +11018,6 @@ Again, we adapt =nix= to our needs, enable the home-manager command for non-NixO sessionVariables = { FLAKE = "/home/${mainUser}/.dotfiles"; }; - extraOutputsToInstall = [ - "doc" - "info" - "devdoc" - ]; }; }; @@ -11172,7 +11158,7 @@ This holds packages that I can use as provided, or with small modifications (as restic # "big" programs - # obs-studio + obs-studio gimp inkscape zoom-us @@ -11181,14 +11167,14 @@ This holds packages that I can use as provided, or with small modifications (as xournalpp # obsidian # spotify - # vesktop # discord client + vesktop # discord client # nextcloud-client # enables a systemd service that I do not want - # spotify-player - # element-desktop - + spotify-player + element-desktop nicotine-plus stable.transmission_3 mktorrent + hexchat hugo # kyria @@ -11649,7 +11635,7 @@ Also in firefox `about:config > toolkit.legacyUserProfileCustomizations.styleshe "tridactyl/tridactylrc".source = self + /files/firefox/tridactyl/tridactylrc; "tridactyl/themes/base16-codeschool.css".source = self + /files/firefox/tridactyl/themes/base16-codeschool.css; "tridactyl/themes/swarsel.css".source = self + /files/firefox/tridactyl/themes/swarsel.css; - # "swayidle/config".source = self + /files/swayidle/config; + "swayidle/config".source = self + /files/swayidle/config; }; }; } @@ -11701,7 +11687,7 @@ Sets environment variables. Here I am only setting the EDITOR variable, most var } #+end_src -**** General Programs: bottom, imv, less, lesspipe, sioyek, bat, carapace, wlogout, swayr, yt-dlp, mpv, jq, nix-index, ripgrep, pandoc, fzf, zoxide, timidity +**** General Programs: bottom, imv, sioyek, bat, carapace, wlogout, swayr, yt-dlp, mpv, jq, nix-index, ripgrep, pandoc, fzf, zoxide :PROPERTIES: :CUSTOM_ID: h:f0e0b580-2e1c-4ca6-a983-f05d3ebbbcde :END: @@ -11714,30 +11700,26 @@ This section is for programs that require no further configuration. zsh Integrat options.swarselmodules.programs = lib.mkEnableOption "programs settings"; config = lib.mkIf config.swarselmodules.programs { programs = { + bottom.enable = true; + imv.enable = true; + sioyek.enable = true; bat = { enable = true; extraPackages = with pkgs.bat-extras; [ batdiff batman batgrep batwatch ]; }; - bottom.enable = true; carapace.enable = true; + wlogout.enable = true; + swayr.enable = true; + yt-dlp.enable = true; + mpv.enable = true; + jq.enable = true; + ripgrep.enable = true; + pandoc.enable = true; fzf = { enable = true; enableBashIntegration = false; enableZshIntegration = false; }; - imv.enable = true; - jq.enable = true; - less.enable = true; - lesspipe.enable = true; - mpv.enable = true; - pandoc.enable = true; - rclone.enable = true; - ripgrep.enable = true; - sioyek.enable = true; - swayr.enable = true; - timidity.enable = true; - wlogout.enable = true; - yt-dlp.enable = true; zoxide = { enable = true; enableZshIntegration = true; @@ -11784,24 +11766,6 @@ nix-index provides a way to find out which packages are provided by which deriva } #+end_src -**** nix-your-shell - -#+begin_src nix-ts :tangle modules/home/common/nix-your-shell.nix - { lib, config, ... }: - let - moduleName = "nix-your-shell"; - in - { - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - programs.${moduleName} = { - enable = true; - enableZshIntegration = true; - }; - }; - } -#+end_src - **** password-store :PROPERTIES: :CUSTOM_ID: h:ac0e5e62-0dbf-4782-9a96-9e558eae86ae @@ -13746,9 +13710,8 @@ Currently, I am too lazy to explain every option here, but most of it is very se "${modifier}+Shift+p" = "exec pass-fuzzel --type"; "${modifier}+Shift+o" = "exec pass-fuzzel --otp --type"; "${modifier}+Ctrl+p" = "exec 1password --quick-acces"; - # "${modifier}+Escape" = "mode $exit"; + "${modifier}+Escape" = "mode $exit"; "${modifier}+Shift+Escape" = "exec kitty -o confirm_os_window_close=0 btm"; - "${modifier}+Escape" = "exec wlogout"; "${modifier}+h" = "exec hyprpicker | wl-copy"; "${modifier}+s" = "exec grim -g \"$(slurp)\" -t png - | wl-copy -t image/png"; "${modifier}+Shift+s" = "exec slurp | grim -g - Pictures/Screenshots/$(date +'screenshot_%Y-%m-%d-%H%M%S.png')"; @@ -13989,26 +13952,26 @@ Currently, I am too lazy to explain every option here, but most of it is very se swayfxSettings = config.swarselsystems.swayfxConfig; in " - # exec_always autotiling - # set $exit \"exit: [s]leep, [l]ock, [p]oweroff, [r]eboot, [u]ser logout\" + exec_always autotiling + set $exit \"exit: [s]leep, [l]ock, [p]oweroff, [r]eboot, [u]ser logout\" - # mode $exit { - # bindsym --to-code { - # s exec \"systemctl suspend\", mode \"default\" - # h exec \"systemctl hibernate\", mode \"default\" - # l exec \"swaylock --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2 --daemonize\", mode \"default\ - # p exec \"systemctl poweroff\" - # r exec \"systemctl reboot\" - # u exec \"swaymsg exit\" + mode $exit { + bindsym --to-code { + s exec \"systemctl suspend\", mode \"default\" + h exec \"systemctl hibernate\", mode \"default\" + l exec \"swaylock --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2 --daemonize\", mode \"default\ + p exec \"systemctl poweroff\" + r exec \"systemctl reboot\" + u exec \"swaymsg exit\" - # Return mode \"default\" - # Escape mode \"default\" - # ${modifier}+Escape mode \"default\" - # } - # } + Return mode \"default\" + Escape mode \"default\" + ${modifier}+Escape mode \"default\" + } + } exec systemctl --user import-environment - # exec swayidle -w + exec swayidle -w seat * hide_cursor 2000 @@ -14623,7 +14586,7 @@ This service changes the screen hue at night. I am not sure if that really does spacebarRatesCard = true; # videoDriver = "opengl"; sync = { - autoSync = false; # sync on profile close will delay system shutdown + autoSync = true; syncMedia = true; url = "https://${globals.services.ankisync.domain}"; usernameFile = nixosConfig.sops.secrets.anki-user.path; @@ -14662,287 +14625,6 @@ This service changes the screen hue at night. I am not sure if that really does } #+end_src -**** Element-desktop - - -#+begin_src nix-ts :tangle modules/home/common/element.nix - { lib, config, ... }: - let - moduleName = "element-desktop"; - in - { - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - programs.element-desktop = { - enable = true; - settings = { - default_server_config = { - "m.homeserver" = { - base_url = "https://swatrix.swarsel.win/"; - }; - }; - UIFeature = { - feedback = false; - voip = false; - widgets = false; - shareSocial = false; - registration = false; - passwordReset = false; - deactivate = false; - }; - }; - }; - }; - - } -#+end_src - -**** Hexchat - - -#+begin_src nix-ts :tangle modules/home/common/hexchat.nix - { lib, config, nixosConfig ? config, ... }: - let - moduleName = "hexchat"; - inherit (nixosConfig.repo.secrets.common.irc) irc_nick1; - in - { - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - programs.${moduleName} = { - enable = true; - settings = { - inherit irc_nick1; - }; - }; - }; - - } -#+end_src - -**** obs-studio - - -#+begin_src nix-ts :tangle modules/home/common/obs-studio.nix - { lib, config, ... }: - let - moduleName = "obs-studio"; - in - { - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - programs.${moduleName} = { - enable = true; - }; - }; - - } -#+end_src - -**** spotify-player - -#+begin_src nix-ts :tangle modules/home/common/spotify-player.nix - { lib, config, ... }: - let - moduleName = "spotify-player"; - in - { - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - programs.${moduleName} = { - enable = true; - }; - }; - - } -#+end_src - -**** vesktop - -#+begin_src nix-ts :tangle modules/home/common/vesktop.nix - { lib, config, ... }: - let - moduleName = "vesktop"; - in - { - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - programs.${moduleName} = { - enable = true; - settings = { - appBadge = false; - arRPC = false; - checkUpdates = false; - customTitleBar = false; - disableMinSize = true; - minimizeToTray = true; - tray = true; - staticTitle = true; - hardwareAcceleration = true; - discordBranch = "stable"; - }; - vencord = { - useSystem = true; - settings = { - autoUpdate = false; - autoUpdateNotification = false; - enableReactDevtools = false; - frameless = false; - transparent = false; - winCtrlQ = false; - notifyAboutUpdates = false; - useQuickCss = true; - disableMinSize = true; - winNativeTitleBar = false; - plugins = { - MessageLogger = { - enabled = true; - ignoreSelf = true; - }; - ChatInputButtonAPI = { - enabled = false; - }; - CommandsAPI = { - enabled = true; - }; - MemberListDecoratorsAPI = { - enabled = false; - }; - MessageAccessoriesAPI = { - enabled = true; - }; - MessageDecorationsAPI = { - enabled = false; - }; - MessageEventsAPI = { - enabled = false; - }; - MessagePopoverAPI = { - enabled = false; - }; - MessageUpdaterAPI = { - enabled = false; - }; - ServerListAPI = { - enabled = false; - }; - UserSettingsAPI = { - enabled = true; - }; - FakeNitro = { - enabled = true; - }; - }; - }; - }; - }; - }; - - } -#+end_src - -**** batsignal - -#+begin_src nix-ts :tangle modules/home/common/batsignal.nix - { lib, config, ... }: - let - moduleName = "batsignal"; - in - { - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - services.${moduleName} = { - enable = true; - }; - }; - - } -#+end_src - -**** autotiling - -#+begin_src nix-ts :tangle modules/home/common/autotiling.nix - { lib, config, ... }: - let - moduleName = "autotiling"; - in - { - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - swarselservices.${moduleName} = { - enable = true; - systemdTarget = config.wayland.systemd.target; - }; - }; - - } -#+end_src - -**** swayidle - -#+begin_src nix-ts :tangle modules/home/common/swayidle.nix - { lib, config, pkgs, ... }: - let - moduleName = "swayidle"; - in - { - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - services.${moduleName} = - let - brightnessctl = "${lib.getExe pkgs.brightnessctl}"; - swaylock = "${lib.getExe pkgs.swaylock-effects}"; - suspend = "${pkgs.systemd}/bin/systemctl"; - in - { - enable = true; - systemdTarget = config.wayland.systemd.target; - extraArgs = [ "-w" ]; - timeouts = [ - { timeout = 60; command = "${brightnessctl} -s; ${brightnessctl} set 80%-"; resumeCommand = "${brightnessctl} -r"; } - # { timeout = 300; command = "${lib.getExe pkgs.swaylock-effects} -f --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2"; } - { timeout = 300; command = "${swaylock} -f"; } - # { timeout = 600; command = ''${pkgs.sway}/bin/swaymsg "output * dpms off"; resumeCommand = "${pkgs.sway}/bin/swaymsg output * dpms on''; } - { timeout = 600; command = "${suspend}"; } - ]; - events = [ - # { event = "before-sleep"; command = "${lib.getExe pkgs.swaylock-effects} -f --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2"; } - { event = "before-sleep"; command = "${swaylock} -f "; } - { event = "lock"; command = "${swaylock} -f "; } - ]; - }; - }; - - } -#+end_src - -**** swaylock - -#+begin_src nix-ts :tangle modules/home/common/swaylock.nix - { lib, config, pkgs, ... }: - let - moduleName = "swaylock"; - in - { - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - programs.${moduleName} = { - enable = true; - package = pkgs.swaylock-effects; - settings = { - screenshots = true; - clock = true; - effect-blur = "7x5"; - effect-vignette = "0.5:0.5"; - fade-in = "0.2"; - }; - }; - }; - - } -#+end_src - - *** Server :PROPERTIES: :CUSTOM_ID: h:b1a00339-6e9b-4ae4-b5dc-6fd5669a2ddb @@ -15045,17 +14727,14 @@ Akin to the [[#h:f9aa9af0-9b8d-43ff-901d-9ffccdd70589][Optional]] NixOS modules. The rest of the settings is at [[#h:fb3f3e01-7df4-4b06-9e91-aa9cac61a431][gaming]]. #+begin_src nix-ts :tangle modules/home/optional/gaming.nix - { lib, config, pkgs, nixosConfig ? config, ... }: - let - inherit (config.swarselsystems) isNixos; - in + { lib, config, pkgs, ... }: { options.swarselmodules.optional.gaming = lib.mkEnableOption "optional gaming settings"; config = lib.mkIf config.swarselmodules.optional.gaming { # specialisation = { # gaming.configuration = { home.packages = with pkgs; [ - # lutris + lutris wine protonplus winetricks @@ -15083,22 +14762,6 @@ The rest of the settings is at [[#h:fb3f3e01-7df4-4b06-9e91-aa9cac61a431][gaming retroarch flips ]; - - programs.lutris = { - enable = true; - extraPackages = with pkgs; [ - winetricks - gamescope - umu-launcher - ]; - steamPackage = if isNixos then nixosConfig.programs.steam.package else pkgs.steam; - winePackages = with pkgs; [ - wineWow64Packages.waylandFull - ]; - protonPackages = with pkgs; [ - proton-ge-bin - ]; - }; # }; # }; }; @@ -15115,631 +14778,613 @@ The rest of the settings is at [[#h:bbf2ecb6-c8ff-4462-b5d5-d45b28604ddf][work]] #+begin_src nix-ts :tangle modules/home/optional/work.nix :noweb yes { self, config, pkgs, lib, vars, nixosConfig ? config, ... }: - let - inherit (config.swarselsystems) homeDir; - in + let + inherit (config.swarselsystems) homeDir; + in + { + options.swarselmodules.optional.work = lib.mkEnableOption "optional work settings"; + config = lib.mkIf config.swarselmodules.optional.work { - 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 + + vscode + ]; + + systemd.user.sessionVariables = { + DOCUMENT_DIR_WORK = lib.mkForce "${homeDir}/Documents/Work"; + }; + + accounts.email.accounts.work = + let + inherit (nixosConfig.repo.secrets.local.work) mailAddress mailName; + in { - home.packages = with pkgs; [ - stable.teams-for-linux - shellcheck - dig - docker - postman - # rclone - libguestfs-with-appliance - stable.prometheus.cli - tigervnc - # openstackclient + 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 = true; + extraConfig = { + 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 = true; + mbsync = { + enable = true; + expunge = "both"; + patterns = [ "INBOX" ]; + extraConfig = { + account = { + AuthMechs = "XOAUTH2"; + }; + }; + }; + }; - vscode + # 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; - systemd.user.sessionVariables = { - 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 = true; - extraConfig = { - 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 = true; - mbsync = { - enable = true; - expunge = "both"; - patterns = [ "INBOX" ]; - extraConfig = { - account = { - AuthMechs = "XOAUTH2"; - }; - }; - }; + 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; }; - # 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}"; - # }; - # }; - # }; + sessionVariables = { + VSPHERE_USER = "$(cat ${nixosConfig.sops.secrets.vcuser.path})"; + VSPHERE_PW = "$(cat ${nixosConfig.sops.secrets.vcpw.path})"; + GOVC_USERNAME = "$(cat ${nixosConfig.sops.secrets.govcuser.path})"; + GOVC_PASSWORD = "$(cat ${nixosConfig.sops.secrets.govcpw.path})"; + GOVC_URL = "$(cat ${nixosConfig.sops.secrets.govcurl.path})"; + GOVC_DATACENTER = "$(cat ${nixosConfig.sops.secrets.govcdc.path})"; + GOVC_DATASTORE = "$(cat ${nixosConfig.sops.secrets.govcds.path})"; + GOVC_HOST = "$(cat ${nixosConfig.sops.secrets.govchost.path})"; + GOVC_RESOURCE_POOL = "$(cat ${nixosConfig.sops.secrets.govcpool.path})"; + GOVC_NETWORK = "$(cat ${nixosConfig.sops.secrets.govcnetwork.path})"; + }; + }; - stylix = { - targets.firefox.profileNames = + 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 - inherit (nixosConfig.repo.secrets.local.work) user1 user2 user3; + isDefault = false; in - [ - "${user1}" - "${user2}" - "${user3}" - "work" - ]; + { + "${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; + }; }; - 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 clouds; - in + 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 = [ { - openstackclient = { - enable = true; - inherit clouds; - }; - awscli = { - enable = true; - package = pkgs.stable24_05.awscli2; - settings = { - "default" = { }; - "profile s3-imagebuilder-prod" = { }; - }; - credentials = { - "s3-imagebuilder-prod" = { - aws_access_key_id = "5OYXY4879EJG9I91K1B6"; - credential_process = "${pkgs.pass}/bin/pass show work/awscli/s3-imagebuilder-prod/secret-key"; - }; - }; + # seminary room + output = { + criteria = "Applied Creative Technology Transmitter QUATTRO201811"; + scale = 1.0; + mode = "1280x720"; }; - git.userEmail = lib.mkForce gitMail; - - zsh = { - shellAliases = { - dssh = "ssh -l ${user1Long}"; - cssh = "ssh -l ${user2Long}"; - wssh = "ssh -l ${user3Long}"; - }; - cdpath = [ - "~/Documents/Work" + } + { + # 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"; + exec = [ + "${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP 732pk CNC4080YL5' --image ${self}/files/wallpaper/botanicswp.png --mode ${config.stylix.imageScalingMode}" + "${pkgs.swaybg}/bin/swaybg --output 'Hewlett Packard HP Z24i CN44250RDT' --image ${self}/files/wallpaper/op6wp.png --mode ${config.stylix.imageScalingMode}" ]; - dirHashes = { - d = "$HOME/.dotfiles"; - w = "$HOME/Documents/Work"; - s = "$HOME/.dotfiles/secrets"; - pr = "$HOME/Documents/Private"; - ac = path1; - }; - - sessionVariables = { - VSPHERE_USER = "$(cat ${nixosConfig.sops.secrets.vcuser.path})"; - VSPHERE_PW = "$(cat ${nixosConfig.sops.secrets.vcpw.path})"; - GOVC_USERNAME = "$(cat ${nixosConfig.sops.secrets.govcuser.path})"; - GOVC_PASSWORD = "$(cat ${nixosConfig.sops.secrets.govcpw.path})"; - GOVC_URL = "$(cat ${nixosConfig.sops.secrets.govcurl.path})"; - GOVC_DATACENTER = "$(cat ${nixosConfig.sops.secrets.govcdc.path})"; - GOVC_DATASTORE = "$(cat ${nixosConfig.sops.secrets.govcds.path})"; - GOVC_HOST = "$(cat ${nixosConfig.sops.secrets.govchost.path})"; - GOVC_RESOURCE_POOL = "$(cat ${nixosConfig.sops.secrets.govcpool.path})"; - GOVC_NETWORK = "$(cat ${nixosConfig.sops.secrets.govcnetwork.path})"; - }; - }; - - 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 + outputs = [ { - "${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" + 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"; + } ]; }; - }; - - services = { - kanshi = { - settings = [ + } + { + profile = + let + monitor = "Applied Creative Technology Transmitter QUATTRO201811"; + in { - # seminary room - output = { - criteria = "Applied Creative Technology Transmitter QUATTRO201811"; - scale = 1.0; - mode = "1280x720"; - }; - } - { - # work main screen - output = { + name = "lidopen"; + exec = [ + "${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/navidrome.png --mode ${config.stylix.imageScalingMode}" + "${pkgs.kanshare}/bin/kanshare ${config.swarselsystems.sharescreen} '${monitor}'" + ]; + 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"; + exec = [ + "${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP 732pk CNC4080YL5' --image ${self}/files/wallpaper/botanicswp.png --mode ${config.stylix.imageScalingMode}" + "${pkgs.swaybg}/bin/swaybg --output 'Hewlett Packard HP Z24i CN44250RDT' --image ${self}/files/wallpaper/op6wp.png --mode ${config.stylix.imageScalingMode}" + ]; + outputs = [ + { + criteria = config.swarselsystems.sharescreen; + status = "disable"; + } + { criteria = "HP Inc. HP 732pk CNC4080YL5"; - scale = 1.0; + scale = 1.4; mode = "3840x2160"; - }; - } - { - # work side screen - output = { + position = "-1280,0"; + } + { criteria = "Hewlett Packard HP Z24i CN44250RDT"; scale = 1.0; mode = "1920x1200"; transform = "270"; - }; - } - { - profile = { - name = "lidopen"; - exec = [ - "${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP 732pk CNC4080YL5' --image ${self}/files/wallpaper/botanicswp.png --mode ${config.stylix.imageScalingMode}" - "${pkgs.swaybg}/bin/swaybg --output 'Hewlett Packard HP Z24i CN44250RDT' --image ${self}/files/wallpaper/op6wp.png --mode ${config.stylix.imageScalingMode}" - ]; - 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 = - let - monitor = "Applied Creative Technology Transmitter QUATTRO201811"; - in - { - name = "lidopen"; - exec = [ - "${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/navidrome.png --mode ${config.stylix.imageScalingMode}" - "${pkgs.kanshare}/bin/kanshare ${config.swarselsystems.sharescreen} '${monitor}'" - ]; - 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"; - exec = [ - "${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP 732pk CNC4080YL5' --image ${self}/files/wallpaper/botanicswp.png --mode ${config.stylix.imageScalingMode}" - "${pkgs.swaybg}/bin/swaybg --output 'Hewlett Packard HP Z24i CN44250RDT' --image ${self}/files/wallpaper/op6wp.png --mode ${config.stylix.imageScalingMode}" - ]; - 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 = - let - monitor = "Applied Creative Technology Transmitter QUATTRO201811"; - in - { - name = "lidclosed"; - exec = [ - "${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/navidrome.png --mode ${config.stylix.imageScalingMode}" - ]; - outputs = [ - { - criteria = config.swarselsystems.sharescreen; - status = "disable"; - } - { - criteria = "Applied Creative Technology Transmitter QUATTRO201811"; - scale = 1.0; - mode = "1280x720"; - position = "10000,10000"; - } - ]; - }; - } - ]; - }; - }; - - systemd.user.services = { - pizauth.Service = { - ExecStartPost = [ - "${pkgs.toybox}/bin/sleep 1" - "//bin/sh -c '${lib.getExe pkgs.pizauth} restore < ${homeDir}/.pizauth.state'" - ]; - }; - - teams-applet = { - Unit = { - Description = "teams applet"; - Requires = [ "tray.target" ]; - After = [ - "graphical-session.target" - "tray.target" + position = "-2480,0"; + } ]; - PartOf = [ "graphical-session.target" ]; }; - - Install = { - WantedBy = [ "graphical-session.target" ]; - }; - - Service = { - ExecStart = "${pkgs.stable.teams-for-linux}/bin/teams-for-linux --disableGpu=true --minimized=true --trayIconEnabled=true"; - }; - }; - - onepassword-applet = { - Unit = { - Description = "1password applet"; - Requires = [ "tray.target" ]; - After = [ - "graphical-session.target" - "tray.target" - ]; - PartOf = [ "graphical-session.target" ]; - }; - - Install = { - WantedBy = [ "graphical-session.target" ]; - }; - - Service = { - ExecStart = "${pkgs._1password-gui}/bin/1password"; - }; - }; - - }; - - swarselservices.pizauth = { - enable = true; - extraConfig = '' - auth_notify_cmd = "if [[ \"$(notify-send -A \"Open $PIZAUTH_ACCOUNT\" -t 30000 'pizauth authorisation')\" == \"0\" ]]; then open \"$PIZAUTH_URL\"; fi"; - error_notify_cmd = "notify-send -t 90000 \"pizauth error for $PIZAUTH_ACCOUNT\" \"$PIZAUTH_MSG\""; - token_event_cmd = "pizauth dump > ${homeDir}/.pizauth.state"; - ''; - accounts = { - work = { - authUri = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize"; - tokenUri = "https://login.microsoftonline.com/common/oauth2/v2.0/token"; - clientId = "08162f7c-0fd2-4200-a84a-f25a4db0b584"; - clientSecret = "TxRBilcHdC6WGBee]fs?QR:SJ8nI[g82"; - scopes = [ - "https://outlook.office365.com/IMAP.AccessAsUser.All" - "https://outlook.office365.com/SMTP.Send" - "offline_access" - ]; - loginHint = "${nixosConfig.repo.secrets.local.work.mailAddress}"; - }; - }; - - }; - - xdg = - let - inherit (nixosConfig.repo.secrets.local.work) user1 user2 user3; - in + } { - mimeApps = { - defaultApplications = { - "x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ]; - }; - }; - desktopEntries = + profile = let - terminal = false; - categories = [ "Application" ]; - icon = "firefox"; + monitor = "Applied Creative Technology Transmitter QUATTRO201811"; 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; - }; - - + name = "lidclosed"; + exec = [ + "${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/navidrome.png --mode ${config.stylix.imageScalingMode}" + ]; + outputs = [ + { + criteria = config.swarselsystems.sharescreen; + status = "disable"; + } + { + criteria = "Applied Creative Technology Transmitter QUATTRO201811"; + scale = 1.0; + mode = "1280x720"; + position = "10000,10000"; + } + ]; }; - }; - 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"; } - # { command = "obsidian"; } - # { command = "nm-applet"; } - # { command = "feishin"; } - # { command = "teams-for-linux --disableGpu=true --minimized=true --trayIconEnabled=true"; } - # { command = "1password"; } - ]; - monitors = { - work_back_middle = rec { - name = "LG Electronics LG Ultra HD 0x000305A6"; - mode = "2560x1440"; - scale = "1"; - position = "5120,0"; - workspace = "1:一"; - # output = "DP-10"; - output = name; - }; - work_front_left = rec { - name = "LG Electronics LG Ultra HD 0x0007AB45"; - mode = "3840x2160"; - scale = "1"; - position = "5120,0"; - workspace = "1:一"; - # output = "DP-7"; - output = name; - }; - work_back_right = rec { - name = "HP Inc. HP Z32 CN41212T55"; - mode = "3840x2160"; - scale = "1"; - position = "5120,0"; - workspace = "1:一"; - # output = "DP-3"; - output = name; - }; - work_middle_middle_main = rec { - name = "HP Inc. HP 732pk CNC4080YL5"; - mode = "3840x2160"; - scale = "1"; - position = "-1280,0"; - workspace = "11:M"; - # output = "DP-8"; - output = name; - }; - work_middle_middle_side = rec { - name = "Hewlett Packard HP Z24i CN44250RDT"; - mode = "1920x1200"; - transform = "270"; - scale = "1"; - position = "-2480,0"; - workspace = "12:S"; - # output = "DP-9"; - output = name; - }; - work_seminary = rec { - 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"; - output = name; - }; - }; - 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"; - }; - }; + } + ]; + }; + }; + systemd.user.services = { + pizauth.Service = { + ExecStartPost = [ + "${pkgs.toybox}/bin/sleep 1" + "//bin/sh -c '${lib.getExe pkgs.pizauth} restore < ${homeDir}/.pizauth.state'" + ]; + }; + + teams-applet = { + Unit = { + Description = "teams applet"; + Requires = [ "tray.target" ]; + After = [ + "graphical-session.target" + "tray.target" + ]; + PartOf = [ "graphical-session.target" ]; + }; + + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + + Service = { + ExecStart = "${pkgs.stable.teams-for-linux}/bin/teams-for-linux --disableGpu=true --minimized=true --trayIconEnabled=true"; }; }; - } + onepassword-applet = { + Unit = { + Description = "1password applet"; + Requires = [ "tray.target" ]; + After = [ + "graphical-session.target" + "tray.target" + ]; + PartOf = [ "graphical-session.target" ]; + }; + + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + + Service = { + ExecStart = "${pkgs._1password-gui}/bin/1password"; + }; + }; + + }; + + swarselservices.pizauth = { + enable = true; + extraConfig = '' + auth_notify_cmd = "if [[ \"$(notify-send -A \"Open $PIZAUTH_ACCOUNT\" -t 30000 'pizauth authorisation')\" == \"0\" ]]; then open \"$PIZAUTH_URL\"; fi"; + error_notify_cmd = "notify-send -t 90000 \"pizauth error for $PIZAUTH_ACCOUNT\" \"$PIZAUTH_MSG\""; + token_event_cmd = "pizauth dump > ${homeDir}/.pizauth.state"; + ''; + accounts = { + work = { + authUri = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize"; + tokenUri = "https://login.microsoftonline.com/common/oauth2/v2.0/token"; + clientId = "08162f7c-0fd2-4200-a84a-f25a4db0b584"; + clientSecret = "TxRBilcHdC6WGBee]fs?QR:SJ8nI[g82"; + scopes = [ + "https://outlook.office365.com/IMAP.AccessAsUser.All" + "https://outlook.office365.com/SMTP.Send" + "offline_access" + ]; + loginHint = "${nixosConfig.repo.secrets.local.work.mailAddress}"; + }; + }; + + }; + + 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"; } + # { command = "obsidian"; } + # { command = "nm-applet"; } + # { command = "feishin"; } + # { command = "teams-for-linux --disableGpu=true --minimized=true --trayIconEnabled=true"; } + # { command = "1password"; } + ]; + monitors = { + work_back_middle = rec { + name = "LG Electronics LG Ultra HD 0x000305A6"; + mode = "2560x1440"; + scale = "1"; + position = "5120,0"; + workspace = "1:一"; + # output = "DP-10"; + output = name; + }; + work_front_left = rec { + name = "LG Electronics LG Ultra HD 0x0007AB45"; + mode = "3840x2160"; + scale = "1"; + position = "5120,0"; + workspace = "1:一"; + # output = "DP-7"; + output = name; + }; + work_back_right = rec { + name = "HP Inc. HP Z32 CN41212T55"; + mode = "3840x2160"; + scale = "1"; + position = "5120,0"; + workspace = "1:一"; + # output = "DP-3"; + output = name; + }; + work_middle_middle_main = rec { + name = "HP Inc. HP 732pk CNC4080YL5"; + mode = "3840x2160"; + scale = "1"; + position = "-1280,0"; + workspace = "11:M"; + # output = "DP-8"; + output = name; + }; + work_middle_middle_side = rec { + name = "Hewlett Packard HP Z24i CN44250RDT"; + mode = "1920x1200"; + transform = "270"; + scale = "1"; + position = "-2480,0"; + workspace = "12:S"; + # output = "DP-9"; + output = name; + }; + work_seminary = rec { + 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"; + output = name; + }; + }; + 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"; + }; + }; + + }; + }; + + } #+end_src @@ -16028,7 +15673,6 @@ In short, the options defined here are passed to the modules systems using =_mod { "extensions.autoDisableScopes" = 0; "browser.bookmarks.showMobileBookmarks" = true; - "browser.autofocus" = false; "toolkit.legacyUserProfileCustomizations.stylesheets" = true; "browser.search.suggest.enabled" = false; "browser.search.suggest.enabled.private" = false; @@ -18083,52 +17727,52 @@ Modules that need to be loaded on the NixOS level. Note that these will not be a options.swarselprofiles.personal = lib.mkEnableOption "is this a personal host"; config = lib.mkIf config.swarselprofiles.personal { swarselmodules = { - # keyd = lib.mkDefault true; - appimage = lib.mkDefault true; - autologin = lib.mkDefault true; - blueman = lib.mkDefault true; - boot = lib.mkDefault true; - btrfs = lib.mkDefault true; - distrobox = lib.mkDefault true; - env = lib.mkDefault true; - general = lib.mkDefault true; - gnome-keyring = lib.mkDefault true; - gvfs = lib.mkDefault true; - hardware = lib.mkDefault true; - home-manager = lib.mkDefault true; - impermanence = lib.mkDefault true; - interceptionTools = lib.mkDefault true; - keyboards = lib.mkDefault true; - lanzaboote = lib.mkDefault true; - ledger = lib.mkDefault true; - lid = lib.mkDefault true; - login = lib.mkDefault true; - lowBattery = lib.mkDefault false; - network = lib.mkDefault true; - networkDevices = lib.mkDefault true; - niri = lib.mkDefault true; - nix-ld = lib.mkDefault true; - nvd = lib.mkDefault true; packages = lib.mkDefault true; pii = lib.mkDefault true; - pipewire = lib.mkDefault true; - ppd = lib.mkDefault true; - programs = lib.mkDefault true; - pulseaudio = lib.mkDefault true; + general = lib.mkDefault true; + home-manager = lib.mkDefault true; + xserver = lib.mkDefault true; + users = lib.mkDefault true; + env = lib.mkDefault true; security = lib.mkDefault true; + systemdTimeout = lib.mkDefault true; + hardware = lib.mkDefault true; + pulseaudio = lib.mkDefault true; + pipewire = lib.mkDefault true; + network = lib.mkDefault true; + time = lib.mkDefault true; sops = lib.mkDefault true; stylix = lib.mkDefault true; - sway = lib.mkDefault true; - swayosd = lib.mkDefault true; - syncthing = lib.mkDefault true; - systemdTimeout = lib.mkDefault true; - time = lib.mkDefault true; - users = lib.mkDefault true; - uwsm = lib.mkDefault true; - xdg-portal = lib.mkDefault true; - xserver = lib.mkDefault true; - yubikey = lib.mkDefault true; + programs = lib.mkDefault true; zsh = lib.mkDefault true; + syncthing = lib.mkDefault true; + blueman = lib.mkDefault true; + networkDevices = lib.mkDefault true; + gvfs = lib.mkDefault true; + interceptionTools = lib.mkDefault true; + # keyd = lib.mkDefault true; + swayosd = lib.mkDefault true; + ppd = lib.mkDefault true; + yubikey = lib.mkDefault true; + ledger = lib.mkDefault true; + keyboards = lib.mkDefault true; + login = lib.mkDefault true; + nix-ld = lib.mkDefault true; + impermanence = lib.mkDefault true; + nvd = lib.mkDefault true; + gnome-keyring = lib.mkDefault true; + uwsm = lib.mkDefault true; + sway = lib.mkDefault true; + niri = lib.mkDefault true; + xdg-portal = lib.mkDefault true; + distrobox = lib.mkDefault true; + appimage = lib.mkDefault true; + lid = lib.mkDefault true; + lowBattery = lib.mkDefault true; + lanzaboote = lib.mkDefault true; + autologin = lib.mkDefault true; + boot = lib.mkDefault true; + btrfs = lib.mkDefault true; }; home-manager.users."${config.swarselsystems.mainUser}" = { @@ -18407,63 +18051,53 @@ This holds modules that are to be used on most hosts. These are also the most im options.swarselprofiles.personal = lib.mkEnableOption "is this a personal host"; config = lib.mkIf config.swarselprofiles.personal { swarselmodules = { - anki = lib.mkDefault true; - anki-tray = lib.mkDefault true; - atuin = lib.mkDefault true; - autotiling = lib.mkDefault true; - batsignal = lib.mkDefault true; - blueman-applet = lib.mkDefault true; - desktop = lib.mkDefault true; - direnv = lib.mkDefault true; - element-desktop = lib.mkDefault true; - element-tray = lib.mkDefault true; - emacs = lib.mkDefault true; - env = lib.mkDefault true; - eza = lib.mkDefault true; - firefox = lib.mkDefault true; - fuzzel = lib.mkDefault true; - gammastep = lib.mkDefault true; - general = lib.mkDefault true; - git = lib.mkDefault true; - gnome-keyring = lib.mkDefault true; - gpgagent = lib.mkDefault true; - hexchat = lib.mkDefault true; - kanshi = lib.mkDefault true; - kdeconnect = lib.mkDefault true; - kitty = lib.mkDefault true; - mail = lib.mkDefault true; - mako = lib.mkDefault true; - niri = lib.mkDefault true; - nix-index = lib.mkDefault true; - nixgl = lib.mkDefault true; - nix-your-shell = lib.mkDefault true; - nm-applet = lib.mkDefault true; - obs-studio = lib.mkDefault true; - obsidian = lib.mkDefault true; - obsidian-tray = lib.mkDefault true; - ownpackages = lib.mkDefault true; packages = lib.mkDefault true; - passwordstore = lib.mkDefault true; - programs = lib.mkDefault true; + ownpackages = lib.mkDefault true; + general = lib.mkDefault true; + nixgl = lib.mkDefault true; sops = lib.mkDefault false; - spicetify = lib.mkDefault true; - spotify-player = lib.mkDefault true; - ssh = lib.mkDefault true; - starship = lib.mkDefault true; - stylix = lib.mkDefault true; - sway = lib.mkDefault true; - swayidle = lib.mkDefault true; - swaylock = lib.mkDefault true; - swayosd = lib.mkDefault true; - symlink = lib.mkDefault true; - tmux = lib.mkDefault true; - vesktop = lib.mkDefault true; - vesktop-tray = lib.mkDefault true; - waybar = lib.mkDefault true; yubikey = lib.mkDefault false; - yubikeytouch = lib.mkDefault true; - zellij = lib.mkDefault true; + ssh = lib.mkDefault true; + stylix = lib.mkDefault true; + desktop = lib.mkDefault true; + symlink = lib.mkDefault true; + env = lib.mkDefault true; + programs = lib.mkDefault true; + nix-index = lib.mkDefault true; + passwordstore = lib.mkDefault true; + direnv = lib.mkDefault true; + eza = lib.mkDefault true; + atuin = lib.mkDefault true; + git = lib.mkDefault true; + fuzzel = lib.mkDefault true; + starship = lib.mkDefault true; + kitty = lib.mkDefault true; zsh = lib.mkDefault true; + zellij = lib.mkDefault true; + tmux = lib.mkDefault true; + mail = lib.mkDefault true; + emacs = lib.mkDefault true; + waybar = lib.mkDefault true; + firefox = lib.mkDefault true; + gnome-keyring = lib.mkDefault true; + kdeconnect = lib.mkDefault true; + mako = lib.mkDefault true; + swayosd = lib.mkDefault true; + yubikeytouch = lib.mkDefault true; + sway = lib.mkDefault true; + niri = lib.mkDefault true; + kanshi = lib.mkDefault true; + gpgagent = lib.mkDefault true; + gammastep = lib.mkDefault true; + spicetify = lib.mkDefault true; + blueman-applet = lib.mkDefault true; + nm-applet = lib.mkDefault true; + obsidian-tray = lib.mkDefault true; + obsidian = lib.mkDefault true; + anki-tray = lib.mkDefault true; + element-tray = lib.mkDefault true; + vesktop-tray = lib.mkDefault true; + anki = lib.mkDefault true; }; }; @@ -22113,6 +21747,7 @@ bind gwe tab_or_tabopen_local exivity.vbc.ac.at bind gwg tab_or_tabopen_local github.com bind gwG tab_or_tabopen_local goc.egi.eu bind gwh tab_or_tabopen_local jupyterhub.vbc.ac.at +bind gwH tab_or_tabopen_local test-jupyterhub.vbc.ac.at bind gwj tab_or_tabopen_local jenkins.vbc.ac.at bind gwJ tab_or_tabopen_local test-jenkins.vbc.ac.at bind gwl tab_or_tabopen_local lucid.app @@ -22126,20 +21761,6 @@ bind gwt tab_or_tabopen_local tower.vbc.ac.at bind gwv tab_or_tabopen_local vc-impimba-1.m.imp.ac.at/ui bind gwx tab_or_tabopen_local xclarity.vbc.ac.at -unbind --mode=normal gh -bind ghp tab_or_tabopen_local https://github.com/pulls -bind ghi tab_or_tabopen_local https://github.com/issues/assigned?q=is%3Aissue%20state%3Aopen%20archived%3Afalse%20(assignee%3A%40me%20OR%20author%3A%40me)%20sort%3Aupdated-desc -bind ghv tab_or_tabopen_local github.com/orgs/vbc-it/repositories -bind ghc tab_or_tabopen_local github.com/orgs/CLIP-HPC/repositories -bind ghd tab_or_tabopen_local github.com/Swarsel/.dotfiles -bind ghni tab_or_tabopen_local github.com/NixOS/nixpkgs/issues -bind ghnp tab_or_tabopen_local github.com/NixOS/nixpkgs/pulls - -unbind --mode=normal gp -bind gprn tab_or_tabopen_local www.reddit.com/r/NixOS/ -bind gpd tab_or_tabopen_local discourse.nixos.org/ -bind gpp tab_or_tabopen_local parkour.wien/categories - " Search in page set findcase smart bind / fillcmdline find @@ -22194,15 +21815,6 @@ set hintdelay 100 " Some pages like github break on the tridactyl quick search. have this as a fallback unbind -" Do not let websites steal sitefocus -set allowautofocus false - -" whitelist sites -" :seturl [URL regex for sites with text editors you use] allowautofocus true - -" stronger blacklist for specific sites -seturl vbc.atlassian.net preventautofocusjackhammer true - " Subconfig Settings seturl www.google.com followpagepatterns.next Next seturl www.google.com followpagepatterns.prev Previous @@ -24432,45 +24044,45 @@ Here lies defined the readme for GitHub and Forgejo:
Click here to expand... - - [guibou](https://github.com/guibou/) - - [rycee](https://github.com/rycee) - - [adisbladis](https://github.com/adisbladis) - - [Mic92](https://github.com/Mic92/sops-nix) - - [lassulus](https://github.com/lassulus) - - [danth](https://github.com/danth/) - - [LnL7](https://github.com/LnL7) - - [t184256](https://github.com/t184256) - - [bennofs](https://github.com/bennofs) - - [Pandapip1](https://github.com/Pandapip1) - - [zowoq](https://github.com/zowoq) - - [numtide](https://github.com/numtide) - - [hsjobeki](https://github.com/hsjobeki) - - [blitz](https://github.com/blitz) - - [RaitoBezarius](https://github.com/RaitoBezarius) - - [nikstur](https://github.com/nikstur) - - [talyz](https://github.com/talyz) - - [infinisil](https://github.com/infinisil) - - [zhaofengli](https://github.com/zhaofengli) - - [Artturin](https://github.com/Artturin) - - [oddlama](https://github.com/oddlama) + - [guibou](https://github.com/guibou/) + - [rycee](https://github.com/rycee) + - [adisbladis](https://github.com/adisbladis) + - [Mic92](https://github.com/Mic92/sops-nix) + - [lassulus](https://github.com/lassulus) + - [danth](https://github.com/danth/) + - [LnL7](https://github.com/LnL7) + - [t184256](https://github.com/t184256) + - [bennofs](https://github.com/bennofs) + - [Pandapip1](https://github.com/Pandapip1) + - [zowoq](https://github.com/zowoq) + - [numtide](https://github.com/numtide) + - [hsjobeki](https://github.com/hsjobeki) + - [blitz](https://github.com/blitz) + - [RaitoBezarius](https://github.com/RaitoBezarius) + - [nikstur](https://github.com/nikstur) + - [talyz](https://github.com/talyz) + - [infinisil](https://github.com/infinisil) + - [zhaofengli](https://github.com/zhaofengli) + - [Artturin](https://github.com/Artturin) + - [oddlama](https://github.com/oddlama)
- All the people who have inspired me with their configurations (sadly also highly incomplete):
Click here to expand... - - [theSuess](https://github.com/theSuess) with their [home-manager](https://code.kulupu.party/thesuess/home-manager) - - [hlissner](https://github.com/hlissner) with their [dotfiles](https://github.com/hlissner/dotfiles) - - [drduh](https://github.com/drduh/YubiKey-Guide) with their [YubiKey-Guide](https://github.com/drduh/YubiKey-Guide) - - [AntonHakansson](https://github.com/AntonHakansson) with their [nixos-config](https://github.com/AntonHakansson/nixos-config?tab=readme-ov-file) - - [Guekka](https://github.com/Guekka/) with their [blog](https://guekka.github.io/) - - [NotAShelf](https://github.com/NotAShelf) with their [nyx](https://github.com/NotAShelf/nyx) - - [Misterio77](https://github.com/Misterio77) with their [nix-config](https://github.com/Misterio77/nix-config) - - [0xdade](https://github.com/0xdade) with their [blog](https://0xda.de/blog/) - - [EmergentMind](https://github.com/EmergentMind) with their [nix-config](https://github.com/EmergentMind/nix-config) - - [librephoenix](https://github.com/librephoenix) with their [nixos-config](https://github.com/librephoenix/nixos-config) - - [Xe](https://github.com/Xe) with their [blog](https://xeiaso.net/blog/) - - [oddlama](https://github.com/oddlama) with their absolutely incredible [nix-config](https:/github.com/oddlama/nix-config) + - [theSuess](https://github.com/theSuess) with their [home-manager](https://code.kulupu.party/thesuess/home-manager) + - [hlissner](https://github.com/hlissner) with their [dotfiles](https://github.com/hlissner/dotfiles) + - [drduh](https://github.com/drduh/YubiKey-Guide) with their [YubiKey-Guide](https://github.com/drduh/YubiKey-Guide) + - [AntonHakansson](https://github.com/AntonHakansson) with their [nixos-config](https://github.com/AntonHakansson/nixos-config?tab=readme-ov-file) + - [Guekka](https://github.com/Guekka/) with their [blog](https://guekka.github.io/) + - [NotAShelf](https://github.com/NotAShelf) with their [nyx](https://github.com/NotAShelf/nyx) + - [Misterio77](https://github.com/Misterio77) with their [nix-config](https://github.com/Misterio77/nix-config) + - [0xdade](https://github.com/0xdade) with their [blog](https://0xda.de/blog/) + - [EmergentMind](https://github.com/EmergentMind) with their [nix-config](https://github.com/EmergentMind/nix-config) + - [librephoenix](https://github.com/librephoenix) with their [nixos-config](https://github.com/librephoenix/nixos-config) + - [Xe](https://github.com/Xe) with their [blog](https://xeiaso.net/blog/) + - [oddlama](https://github.com/oddlama) with their absolutely incredible [nix-config](https:/github.com/oddlama/nix-config)
If you feel that I forgot to pay you tribute for code that I used in this repository, please shoot me a message and I will fix it :) diff --git a/files/firefox/tridactyl/tridactylrc b/files/firefox/tridactyl/tridactylrc index f87a332..1f050ef 100644 --- a/files/firefox/tridactyl/tridactylrc +++ b/files/firefox/tridactyl/tridactylrc @@ -45,6 +45,7 @@ bind gwe tab_or_tabopen_local exivity.vbc.ac.at bind gwg tab_or_tabopen_local github.com bind gwG tab_or_tabopen_local goc.egi.eu bind gwh tab_or_tabopen_local jupyterhub.vbc.ac.at +bind gwH tab_or_tabopen_local test-jupyterhub.vbc.ac.at bind gwj tab_or_tabopen_local jenkins.vbc.ac.at bind gwJ tab_or_tabopen_local test-jenkins.vbc.ac.at bind gwl tab_or_tabopen_local lucid.app @@ -58,20 +59,6 @@ bind gwt tab_or_tabopen_local tower.vbc.ac.at bind gwv tab_or_tabopen_local vc-impimba-1.m.imp.ac.at/ui bind gwx tab_or_tabopen_local xclarity.vbc.ac.at -unbind --mode=normal gh -bind ghp tab_or_tabopen_local https://github.com/pulls -bind ghi tab_or_tabopen_local https://github.com/issues/assigned?q=is%3Aissue%20state%3Aopen%20archived%3Afalse%20(assignee%3A%40me%20OR%20author%3A%40me)%20sort%3Aupdated-desc -bind ghv tab_or_tabopen_local github.com/orgs/vbc-it/repositories -bind ghc tab_or_tabopen_local github.com/orgs/CLIP-HPC/repositories -bind ghd tab_or_tabopen_local github.com/Swarsel/.dotfiles -bind ghni tab_or_tabopen_local github.com/NixOS/nixpkgs/issues -bind ghnp tab_or_tabopen_local github.com/NixOS/nixpkgs/pulls - -unbind --mode=normal gp -bind gprn tab_or_tabopen_local www.reddit.com/r/NixOS/ -bind gpd tab_or_tabopen_local discourse.nixos.org/ -bind gpp tab_or_tabopen_local parkour.wien/categories - " Search in page set findcase smart bind / fillcmdline find @@ -126,15 +113,6 @@ set hintdelay 100 " Some pages like github break on the tridactyl quick search. have this as a fallback unbind -" Do not let websites steal sitefocus -set allowautofocus false - -" whitelist sites -" :seturl [URL regex for sites with text editors you use] allowautofocus true - -" stronger blacklist for specific sites -seturl vbc.atlassian.net preventautofocusjackhammer true - " Subconfig Settings seturl www.google.com followpagepatterns.next Next seturl www.google.com followpagepatterns.prev Previous diff --git a/flake.lock b/flake.lock index ae80937..942ab6b 100644 --- a/flake.lock +++ b/flake.lock @@ -9596,11 +9596,11 @@ "systems": "systems_43" }, "locked": { - "lastModified": 1760190732, - "narHash": "sha256-Bxn/5+MCKOzR9LgUyHDhxCU3eejxz+hfsAT9Sqqz6B0=", + "lastModified": 1759958031, + "narHash": "sha256-rfwQQ42aQrzXYEzjQrqFA1NKoxgo9bqg/RIc2wKBsEQ=", "owner": "Swarsel", "repo": "swarsel-nix", - "rev": "f0ab1f68c94d777aa7d0a8f23745cb9aa8172fd4", + "rev": "ab8460e796c0694fe612a02817d8c290d0662188", "type": "github" }, "original": { diff --git a/hosts/nixos/pyramid/secrets/pii.nix.enc b/hosts/nixos/pyramid/secrets/pii.nix.enc index 1cd9d41..f5a735a 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: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,iv:Fu+GmDArq6JSpODMPTJ7boKT/N33l57UbHqdTwpYuxA=,tag:gi/VuS3QTzeOiUsZBfm7BQ==,type:str]", + "data": "ENC[AES256_GCM,data:p68IT8Bx7PKlHX5ZI5L0pU64WGA+q3byfbT9yOceKKq4BxD2ZX4zwxXrTsb1q6WOcxOfr7aqqJ8uzkSURKbSbjd1sImBrrzTh2BU80PnM7d8n2GuqJdj2TsiJ25MD5BNG2v0Ib3jDErI5cA6DWkQgzZV3gyfc486XpsFP8TZLjdHBqVO+FcDde/yqLMbAzaGfsOL/yvqsKgoCLQIsY9XyKVuVYuzreBRKo/kXUROCIB9wNFKvXvsMquCPGGDeumjVmcOvKqds3Gz4Ij3YjMiuLEcy4fJCl+Oqt9uKTAzETtxh+0G6UxqPc0IpS3ZzBGKVN+waOqbee0EgZys187qDVkg57L2QZ8I5An7EsMpo7T4KQDhxE8ZU4aLvwS/fobHaFW/9pSjqnH1v1O7gVpPS1T+GDTBHUDvlFVA3EtmTaXT2P3JHpFZCGex9AuyqQPOggwC2CVedmeWEc5osbGJhJjWjHvqkfcfLjIJB8bvp5y3FBXodJAEX9lW+Kbhe3121JU5pAlDp9QWG7a9wHdTSLbhC3qJXAtovOrOqrPTUD/LkSVMYDI+MaN+kw1kgCXH/ZXZmE8WCu7e8g7Vh4XEuRwhwAloGN6KyU+0LUP1SaMRTktur6sUtTIGdWdkaIVXn5sHMiLFYmwXy07uSZ3bGQ8nb3D0yInLkxCH/C/czS+bW3GFACo+bx9GcmDCPYXT1ay4HNFicCwcFNseDnbJMhs9SmI/EXQs1f7AaojMTnBmRpZLvAa++s5cW+GGYjoqZXn7CpGS9bPyv16MLv+81Is2zg1yXYTAwZyGjDrqYYBgsC0I1VgY1sDf1MRZtucL46GMaveIgrx8nlNB2vWkN9pky3GeZL9YvQgw6WEd32pnDxH2d7In83wqPjzk2Ce1fUG24nCBS/GLMEeE+DGud0jMaRbOkR4JmYGw9ej3En+52HHn+Nwy7nQy9gpvf0jOpzPyImCDbtIa+SgFm81nj3Di2SEcxhzqzY3oJbWdNmhbJzacxik73qi+PvY+s5eEr5/Xav8yUltWJHof7vCxw6qejBYa6gb01GOuWfyVVwMpmycrt7bbnWJQ1cULXnChwX3RaktMn1gYAO1kXpgOAEzGE0c/nIqnNWYdzQnfPmFUrBUSLj0SyymsGzBsTc8AmCk0ue8K8Z2lGYgSwHVRgvspWX4W3fvyL0AYwCureXh2MyqohNOEilKqolxQjNIM2B1hDNBWqN3dO6NnJKSE4XicfXHfd/6VVmpNVquWMq3SpcWMhiG3ZWMEWsJ8tTARlCg45uWCKq1iONd8baXLV3C+lutzQ86By5jmEGVYerSLvTsDN1t/VENaNqGCeJPNY5uLuhhoC55C/6zRYNQvzppWru7L+dMh/+t4i9cAgEgsVej5nJKnBPFlUFd2ZaaSoMf1Od1JjJSp3XdaQiXmAS2SUPPU3pLjM2xkpSSK0l1W7EKeQN2CA+dX3Whz3zBmRl8=,iv:DftbkwcfZYce8u+4APA0Od/J6gijDN1c35rBobS7kB4=,tag:IpqjdivPHQrjK/7oRx6spw==,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-10-11T08:44:45Z", - "mac": "ENC[AES256_GCM,data:pNbRA83NQcfWwTjgowEaFlfZVbZntWb1alGKdaX3IqjBlZEmYfJGKaxkbiL1uoMFNmrc5HtQUQLz0QVUpQ87ggH/HEUtdVcHnT65hxWjX3NWg3G2C9cbPqe3SiLv+UWPUsN70gu/xAJUuaiM9tsQoHkpNdefT3t382/uxF+Cb3M=,iv:1njSCqZFoCX46IhiowRqUteG8VJ5EEHDxricjMd4l58=,tag:9WBBXfUUW+7wmXy3zksMKQ==,type:str]", + "lastmodified": "2025-08-09T20:09:09Z", + "mac": "ENC[AES256_GCM,data:s+LaqADPYV1UjsYZlxh6LGqaTwGzDYWyfcxPXakVUEmCe0YHfphSyRmhWwlr7WWM3w6BsZESq+PKYKtL7UunoolPh0KVEcobsvp7K/ZEPzDOH14ddOGiXDEpYRNqVYZtprR9pvrydOCPJbXO+klpLl0o3mm6j9VX2tIQdx3HNiA=,iv:rI2MG8OJUM6RNkJ3GsSYedOnRBTa+tbpporHC337unE=,tag:SY4yi5T7sFTIV02I8BbISg==,type:str]", "pgp": [ { "created_at": "2025-06-14T22:31:01Z", @@ -21,6 +21,6 @@ } ], "unencrypted_suffix": "_unencrypted", - "version": "3.11.0" + "version": "3.10.2" } } diff --git a/index.html b/index.html index 3cd10b7..82e30e2 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + SwarselSystems: NixOS + Emacs Configurationo @@ -443,8 +443,8 @@
  • 3.2.5.8. Hibernation
  • 3.2.5.9. BTRFS
  • 3.2.5.10. work
  • -
  • 3.2.5.11. microvm-host
  • -
  • 3.2.5.12. microvm-guest
  • +
  • 3.2.5.11. microvm-host
  • +
  • 3.2.5.12. microvm-guest
  • @@ -470,56 +470,46 @@
  • 3.3.1.10. Desktop Entries, MIME types (xdg)
  • 3.3.1.11. Linking dotfiles (Symlinks home.file)
  • 3.3.1.12. Sourcing environment variables
  • -
  • 3.3.1.13. General Programs: bottom, imv, less, lesspipe, sioyek, bat, carapace, wlogout, swayr, yt-dlp, mpv, jq, nix-index, ripgrep, pandoc, fzf, zoxide, timidity
  • +
  • 3.3.1.13. General Programs: bottom, imv, sioyek, bat, carapace, wlogout, swayr, yt-dlp, mpv, jq, nix-index, ripgrep, pandoc, fzf, zoxide
  • 3.3.1.14. nix-index
  • -
  • 3.3.1.15. nix-your-shell
  • -
  • 3.3.1.16. password-store
  • -
  • 3.3.1.17. direnv
  • -
  • 3.3.1.18. eza
  • -
  • 3.3.1.19. atuin
  • -
  • 3.3.1.20. git
  • -
  • 3.3.1.21. Fuzzel
  • -
  • 3.3.1.22. Starship
  • -
  • 3.3.1.23. Kitty
  • -
  • 3.3.1.24. zsh
  • -
  • 3.3.1.25. zellij
  • -
  • 3.3.1.26. tmux
  • -
  • 3.3.1.27. Mail
  • -
  • 3.3.1.28. Home-manager: Emacs
  • -
  • 3.3.1.29. Waybar
  • -
  • 3.3.1.30. Firefox
  • -
  • 3.3.1.31. Services +
  • 3.3.1.15. password-store
  • +
  • 3.3.1.16. direnv
  • +
  • 3.3.1.17. eza
  • +
  • 3.3.1.18. atuin
  • +
  • 3.3.1.19. git
  • +
  • 3.3.1.20. Fuzzel
  • +
  • 3.3.1.21. Starship
  • +
  • 3.3.1.22. Kitty
  • +
  • 3.3.1.23. zsh
  • +
  • 3.3.1.24. zellij
  • +
  • 3.3.1.25. tmux
  • +
  • 3.3.1.26. Mail
  • +
  • 3.3.1.27. Home-manager: Emacs
  • +
  • 3.3.1.28. Waybar
  • +
  • 3.3.1.29. Firefox
  • +
  • 3.3.1.30. Services
  • -
  • 3.3.1.32. Sway
  • -
  • 3.3.1.33. Niri
  • -
  • 3.3.1.34. Kanshi
  • -
  • 3.3.1.35. gpg-agent
  • -
  • 3.3.1.36. gammastep
  • -
  • 3.3.1.37. Spicetify
  • -
  • 3.3.1.38. Obsidian
  • -
  • 3.3.1.39. Anki
  • -
  • 3.3.1.40. Element-desktop
  • -
  • 3.3.1.41. Hexchat
  • -
  • 3.3.1.42. obs-studio
  • -
  • 3.3.1.43. spotify-player
  • -
  • 3.3.1.44. vesktop
  • -
  • 3.3.1.45. batsignal
  • -
  • 3.3.1.46. autotiling
  • -
  • 3.3.1.47. swayidle
  • -
  • 3.3.1.48. swaylock
  • +
  • 3.3.1.31. Sway
  • +
  • 3.3.1.32. Niri
  • +
  • 3.3.1.33. Kanshi
  • +
  • 3.3.1.34. gpg-agent
  • +
  • 3.3.1.35. gammastep
  • +
  • 3.3.1.36. Spicetify
  • +
  • 3.3.1.37. Obsidian
  • +
  • 3.3.1.38. Anki
  • 3.3.2. Server @@ -584,7 +574,7 @@
  • 3.5.31. swarsel-build
  • 3.5.32. swarsel-instantiate
  • 3.5.33. sshrm
  • -
  • 3.5.34. endme
  • +
  • 3.5.34. endme
  • 3.6. Profiles @@ -593,7 +583,7 @@
    • 3.6.1.1. Personal
    • 3.6.1.2. Minimal
    • -
    • 3.6.1.3. Optionals
    • +
    • 3.6.1.3. Optionals
    • 3.6.1.4. Chaostheatre
    • 3.6.1.5. Work
    • 3.6.1.6. Uni
    • @@ -836,7 +826,7 @@

      -This file has 95668 words spanning 24729 lines and was last revised on 2025-10-11 23:49:08 +0200. +This file has 94619 words spanning 24340 lines and was last revised on 2025-10-09 02:38:15 +0200.

      @@ -905,7 +895,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-10-11 23:49:08 +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-10-09 02:38:15 +0200)

    @@ -1858,8 +1848,7 @@ The rest of the outputs either define or help define the actual configurations: inputs.home-manager.nixosModules.home-manager inputs.stylix.nixosModules.stylix inputs.nswitch-rcm-nix.nixosModules.nswitch-rcm - # inputs.swarsel-modules.nixosModules.default - inputs.swarsel-nix.nixosModules.default + inputs.swarsel-modules.nixosModules.default inputs.niri-flake.nixosModules.niri inputs.microvm.nixosModules.host inputs.microvm.nixosModules.microvm @@ -2539,9 +2528,9 @@ in additions = final: _: import "${self}/pkgs" { pkgs = final; inherit self lib; }; modifications = final: prev: { - # vesktop = prev.vesktop.override { - # withSystemVencord = true; - # }; + vesktop = prev.vesktop.override { + withSystemVencord = true; + }; firefox = prev.firefox.override { nativeMessagingHosts = [ @@ -5376,8 +5365,7 @@ We enable the use of home-manager as a NixoS module. A nice trick h inputs.nix-index-database.homeModules.nix-index inputs.sops-nix.homeManagerModules.sops inputs.spicetify-nix.homeManagerModules.default - # inputs.swarsel-modules.homeModules.default - inputs.swarsel-nix.homeModules.default + inputs.swarsel-modules.homeModules.default { imports = [ "${self}/profiles/home" @@ -5829,7 +5817,7 @@ Mostly used to install some compilers and lsp's that I want to have available wh # pinentry dbus - # swaylock-effects + swaylock-effects syncthingtray-minimal swayosd @@ -12115,8 +12103,8 @@ in -
    -
    3.2.5.11. microvm-host
    +
    +
    3.2.5.11. microvm-host

    Some standard options that should be set for every microvm host. @@ -12142,8 +12130,8 @@ Some standard options that should be set for every microvm host.

    -
    -
    3.2.5.12. microvm-guest
    +
    +
    3.2.5.12. microvm-guest

    Some standard options that should be set vor every microvm guest. We set the default @@ -12339,14 +12327,7 @@ in nixpkgs.overlays = lib.mkIf config.swarselsystems.isNixos (lib.mkForce null); - programs = { - home-manager.enable = lib.mkIf (!config.swarselsystems.isNixos) true; - man = { - enable = true; - generateCaches = true; - }; - }; - + programs.home-manager.enable = lib.mkIf (!config.swarselsystems.isNixos) true; targets.genericLinux.enable = lib.mkIf (!config.swarselsystems.isNixos) true; home = { @@ -12357,11 +12338,6 @@ in sessionVariables = { FLAKE = "/home/${mainUser}/.dotfiles"; }; - extraOutputsToInstall = [ - "doc" - "info" - "devdoc" - ]; }; }; @@ -12514,7 +12490,7 @@ This holds packages that I can use as provided, or with small modifications (as restic # "big" programs - # obs-studio + obs-studio gimp inkscape zoom-us @@ -12523,14 +12499,14 @@ This holds packages that I can use as provided, or with small modifications (as xournalpp # obsidian # spotify - # vesktop # discord client + vesktop # discord client # nextcloud-client # enables a systemd service that I do not want - # spotify-player - # element-desktop - + spotify-player + element-desktop nicotine-plus stable.transmission_3 mktorrent + hexchat hugo # kyria @@ -13020,7 +12996,7 @@ Also in firefox `about:config > toolkit.legacyUserProfileCustomizations.style "tridactyl/tridactylrc".source = self + /files/firefox/tridactyl/tridactylrc; "tridactyl/themes/base16-codeschool.css".source = self + /files/firefox/tridactyl/themes/base16-codeschool.css; "tridactyl/themes/swarsel.css".source = self + /files/firefox/tridactyl/themes/swarsel.css; - # "swayidle/config".source = self + /files/swayidle/config; + "swayidle/config".source = self + /files/swayidle/config; }; }; } @@ -13077,7 +13053,7 @@ in

    -
    3.3.1.13. General Programs: bottom, imv, less, lesspipe, sioyek, bat, carapace, wlogout, swayr, yt-dlp, mpv, jq, nix-index, ripgrep, pandoc, fzf, zoxide, timidity
    +
    3.3.1.13. General Programs: bottom, imv, sioyek, bat, carapace, wlogout, swayr, yt-dlp, mpv, jq, nix-index, ripgrep, pandoc, fzf, zoxide

    This section is for programs that require no further configuration. zsh Integration is enabled by default for these. @@ -13089,30 +13065,26 @@ This section is for programs that require no further configuration. zsh Integrat options.swarselmodules.programs = lib.mkEnableOption "programs settings"; config = lib.mkIf config.swarselmodules.programs { programs = { + bottom.enable = true; + imv.enable = true; + sioyek.enable = true; bat = { enable = true; extraPackages = with pkgs.bat-extras; [ batdiff batman batgrep batwatch ]; }; - bottom.enable = true; carapace.enable = true; + wlogout.enable = true; + swayr.enable = true; + yt-dlp.enable = true; + mpv.enable = true; + jq.enable = true; + ripgrep.enable = true; + pandoc.enable = true; fzf = { enable = true; enableBashIntegration = false; enableZshIntegration = false; }; - imv.enable = true; - jq.enable = true; - less.enable = true; - lesspipe.enable = true; - mpv.enable = true; - pandoc.enable = true; - rclone.enable = true; - ripgrep.enable = true; - sioyek.enable = true; - swayr.enable = true; - timidity.enable = true; - wlogout.enable = true; - yt-dlp.enable = true; zoxide = { enable = true; enableZshIntegration = true; @@ -13163,29 +13135,8 @@ nix-index provides a way to find out which packages are provided by which deriva

    -
    -
    3.3.1.15. nix-your-shell
    -
    -
    -
    { lib, config, ... }:
    -let
    -  moduleName = "nix-your-shell";
    -in
    -{
    -  options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
    -  config = lib.mkIf config.swarselmodules.${moduleName} {
    -    programs.${moduleName} = {
    -      enable = true;
    -      enableZshIntegration = true;
    -    };
    -  };
    -}
    -
    -
    -
    -
    -
    3.3.1.16. password-store
    +
    3.3.1.15. password-store

    Enables password store with the pass-otp extension which allows me to store and generate one-time-passwords. @@ -13210,7 +13161,7 @@ Enables password store with the pass-otp extension which allows me

    -
    3.3.1.17. direnv
    +
    3.3.1.16. direnv

    Enables direnv, which I use for nearly all of my nix dev flakes. @@ -13233,7 +13184,7 @@ Enables direnv, which I use for nearly all of my nix dev flakes.

    -
    3.3.1.18. eza
    +
    3.3.1.17. eza

    Eza provides me with a better ls command and some other useful aliases. @@ -13260,7 +13211,7 @@ Eza provides me with a better ls command and some other useful alia

    -
    3.3.1.19. atuin
    +
    3.3.1.18. atuin
    { lib, config, globals, ... }:
    @@ -13286,7 +13237,7 @@ in
     
    -
    3.3.1.20. git
    +
    3.3.1.19. git

    Here I set up my git config, automatic signing of commits, useful aliases for my ost used commands (for when I am not using Magit) as well as a git template defined in Linking dotfiles. @@ -13347,7 +13298,7 @@ in

    -
    3.3.1.21. Fuzzel
    +
    3.3.1.20. Fuzzel

    Here I only need to set basic layout options - the rest is being managed by stylix. @@ -13376,7 +13327,7 @@ Here I only need to set basic layout options - the rest is being managed by styl

    -
    3.3.1.22. Starship
    +
    3.3.1.21. Starship

    Starship makes my zsh look cooler! I have symbols for most programming languages and toolchains, also I build my own powerline. @@ -13512,7 +13463,7 @@ Starship makes my zsh look cooler! I have symbols for most programm

    -
    3.3.1.23. Kitty
    +
    3.3.1.22. Kitty

    Kitty is the terminal emulator of choice for me, it is nice to configure using nix, fast, and has a nice style. @@ -13543,7 +13494,7 @@ The theme is handled by stylix.

    -
    3.3.1.24. zsh
    +
    3.3.1.23. zsh

    zsh is the most convenient shell for me and it happens to be super neat to configure within home manager. @@ -13731,7 +13682,7 @@ in

    -
    3.3.1.25. zellij
    +
    3.3.1.24. zellij
    { self, lib, config, pkgs, ... }:
    @@ -13759,7 +13710,7 @@ in
     
    -
    3.3.1.26. tmux
    +
    3.3.1.25. tmux
    { lib, config, pkgs, ... }:
    @@ -13868,7 +13819,7 @@ in
     
    -
    3.3.1.27. Mail
    +
    3.3.1.26. Mail

    Normally I use 4 mail accounts - here I set them all up. Three of them are Google accounts (sadly), which are a chore to setup. The last is just a sender account that I setup SMTP for here. @@ -14071,7 +14022,7 @@ in

    -
    3.3.1.28. Home-manager: Emacs
    +
    3.3.1.27. Home-manager: Emacs

    By using the emacs-overlay NixOS module, I can install all Emacs packages that I want to use right through NixOS. This is done by passing my init.el file to the configuration which will then be parsed upon system rebuild, looking for use-package sections in the Elisp code. Also I define here the style of Emacs that I want to run - I am going with native Wayland Emacs here (emacs-pgtk). All of the nice options such as tree-sitter support are enabled by default, so I do not need to adjust the build process. @@ -14182,7 +14133,7 @@ in

    -
    3.3.1.29. Waybar
    +
    3.3.1.28. Waybar

    Again I am just using the first bar option here that I was able to find good understandable documentation for. Of note is that the `cpu` section's `format` is not defined here, but in section 1 (since not every machine has the same number of cores) @@ -14538,7 +14489,7 @@ in

    -
    3.3.1.30. Firefox
    +
    3.3.1.29. Firefox

    Setting up firefox along with some policies that are important to me (mostly disabling telemetry related stuff as well as Pocket). I also enable some integrations that enable super useful packages, namely tridactyl and browserpass. @@ -14717,14 +14668,14 @@ I used to build the firefox addon bypass-paywalls-clean myself here

    -
    3.3.1.31. Services
    +
    3.3.1.30. Services

    Services that can be defined through home-manager should be defined here.

    -
    3.3.1.31.1. gnome-keyring
    +
    3.3.1.30.1. gnome-keyring

    Used for storing sessions in e.g. Nextcloud @@ -14745,7 +14696,7 @@ Used for storing sessions in e.g. Nextcloud

    -
    3.3.1.31.2. KDE Connect
    +
    3.3.1.30.2. KDE Connect

    This enables phone/computer communication, including sending clipboard, files etc. Sadly on Wayland many of the features are broken (like remote control). @@ -14768,7 +14719,7 @@ This enables phone/computer communication, including sending clipboard, files et

    -
    3.3.1.31.3. Mako
    +
    3.3.1.30.3. Mako

    Desktop notifications! @@ -14819,7 +14770,7 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi

    -
    3.3.1.31.4. SwayOSD
    +
    3.3.1.30.4. SwayOSD
    { lib, pkgs, config, ... }:
    @@ -14838,7 +14789,7 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    3.3.1.31.5. yubikey-touch-detector
    +
    3.3.1.30.5. yubikey-touch-detector
    { lib, config, pkgs, ... }:
    @@ -14877,9 +14828,9 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    -
    3.3.1.31.6. blueman-applet
    -
    +
    +
    3.3.1.30.6. blueman-applet
    +
    { lib, config, ... }:
     {
    @@ -14892,9 +14843,9 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    -
    3.3.1.31.7. network-manager-applet
    -
    +
    +
    3.3.1.30.7. network-manager-applet
    +
    { lib, config, ... }:
     {
    @@ -14908,9 +14859,9 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    -
    3.3.1.31.8. obsidian service for tray
    -
    +
    +
    3.3.1.30.8. obsidian service for tray
    +
    { lib, config, ... }:
     {
    @@ -14943,9 +14894,9 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    -
    3.3.1.31.9. anki service for tray
    -
    +
    +
    3.3.1.30.9. anki service for tray
    +
    { lib, config, ... }:
     {
    @@ -14982,9 +14933,9 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    -
    3.3.1.31.10. element service for tray
    -
    +
    +
    3.3.1.30.10. element service for tray
    +
    { lib, config, pkgs, ... }:
     {
    @@ -15017,9 +14968,9 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    -
    3.3.1.31.11. vesktop service for tray
    -
    +
    +
    3.3.1.30.11. vesktop service for tray
    +
    { lib, config, pkgs, ... }:
     {
    @@ -15054,7 +15005,7 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
     
    -
    3.3.1.32. Sway
    +
    3.3.1.31. Sway

    I am currently using SwayFX, which adds some nice effects to sway, like rounded corners and hiding the separator between title and content of a window. @@ -15216,9 +15167,8 @@ Currently, I am too lazy to explain every option here, but most of it is very se "${modifier}+Shift+p" = "exec pass-fuzzel --type"; "${modifier}+Shift+o" = "exec pass-fuzzel --otp --type"; "${modifier}+Ctrl+p" = "exec 1password --quick-acces"; - # "${modifier}+Escape" = "mode $exit"; + "${modifier}+Escape" = "mode $exit"; "${modifier}+Shift+Escape" = "exec kitty -o confirm_os_window_close=0 btm"; - "${modifier}+Escape" = "exec wlogout"; "${modifier}+h" = "exec hyprpicker | wl-copy"; "${modifier}+s" = "exec grim -g \"$(slurp)\" -t png - | wl-copy -t image/png"; "${modifier}+Shift+s" = "exec slurp | grim -g - Pictures/Screenshots/$(date +'screenshot_%Y-%m-%d-%H%M%S.png')"; @@ -15311,10 +15261,9 @@ Currently, I am too lazy to explain every option here, but most of it is very se { command = "sleep 60; kitty -T spotifytui -o confirm_os_window_close=0 spotify_player"; } ]; seat = { - "*" = [ - { hide_cursor = "when-typing enable"; } - { hide_cursor = "2000"; } - ]; + "*" = { + hide_cursor = "when-typing enable"; + }; }; window = { border = 1; @@ -15460,28 +15409,28 @@ Currently, I am too lazy to explain every option here, but most of it is very se swayfxSettings = config.swarselsystems.swayfxConfig; in " -# exec_always autotiling - # set $exit \"exit: [s]leep, [l]ock, [p]oweroff, [r]eboot, [u]ser logout\" +exec_always autotiling + set $exit \"exit: [s]leep, [l]ock, [p]oweroff, [r]eboot, [u]ser logout\" - # mode $exit { - # bindsym --to-code { - # s exec \"systemctl suspend\", mode \"default\" - # h exec \"systemctl hibernate\", mode \"default\" - # l exec \"swaylock --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2 --daemonize\", mode \"default\ - # p exec \"systemctl poweroff\" - # r exec \"systemctl reboot\" - # u exec \"swaymsg exit\" + mode $exit { + bindsym --to-code { + s exec \"systemctl suspend\", mode \"default\" + h exec \"systemctl hibernate\", mode \"default\" + l exec \"swaylock --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2 --daemonize\", mode \"default\ + p exec \"systemctl poweroff\" + r exec \"systemctl reboot\" + u exec \"swaymsg exit\" - # Return mode \"default\" - # Escape mode \"default\" - # ${modifier}+Escape mode \"default\" - # } - # } + Return mode \"default\" + Escape mode \"default\" + ${modifier}+Escape mode \"default\" + } + } exec systemctl --user import-environment - # exec swayidle -w + exec swayidle -w - # seat * hide_cursor 2000 + seat * hide_cursor 2000 exec_always kill -1 $(pidof kanshi) @@ -15498,7 +15447,7 @@ Currently, I am too lazy to explain every option here, but most of it is very se

    -
    3.3.1.33. Niri
    +
    3.3.1.32. Niri
    { config, pkgs, lib, vars, ... }:
    @@ -15710,7 +15659,7 @@ Currently, I am too lazy to explain every option here, but most of it is very se
     
    -
    3.3.1.34. Kanshi
    +
    3.3.1.33. Kanshi
    { self, lib, pkgs, config, ... }:
    @@ -15817,7 +15766,7 @@ Currently, I am too lazy to explain every option here, but most of it is very se
     
    -
    3.3.1.35. gpg-agent
    +
    3.3.1.34. gpg-agent

    Settinfs that are needed for the gpg-agent. Also we are enabling emacs support for unlocking my Yubikey here. @@ -15874,7 +15823,7 @@ in

    -
    3.3.1.36. gammastep
    +
    3.3.1.35. gammastep

    This service changes the screen hue at night. I am not sure if that really does something, but I like the color anyways. @@ -15900,7 +15849,7 @@ in

    -
    3.3.1.37. Spicetify
    +
    3.3.1.36. Spicetify
    { inputs, lib, config, pkgs, ... }:
    @@ -15930,9 +15879,9 @@ in
     
    -
    -
    3.3.1.38. Obsidian
    -
    +
    +
    3.3.1.37. Obsidian
    +
    { lib, config, pkgs, nixosConfig ? config, ... }:
       let
    @@ -16070,11 +16019,11 @@ in
     
    -
    -
    3.3.1.39. Anki
    -
    +
    +
    3.3.1.38. Anki
    +
    -
    { lib, config, pkgs, globals, nixosConfig ? config, ... }:
    +
    { inputs, lib, config, pkgs, globals, nixosConfig ? config, ... }:
     let
       moduleName = "anki";
       inherit (config.swarselsystems) isPublic isNixos;
    @@ -16101,7 +16050,7 @@ in
           spacebarRatesCard = true;
           # videoDriver = "opengl";
           sync = {
    -        autoSync = false; # sync on profile close will delay system shutdown
    +        autoSync = true;
             syncMedia = true;
             url = "https://${globals.services.ankisync.domain}";
             usernameFile = nixosConfig.sops.secrets.anki-user.path;
    @@ -16137,310 +16086,6 @@ in
         };
       };
     
    -}
    -
    -
    -
    -
    -
    -
    3.3.1.40. Element-desktop
    -
    -
    -
    { lib, config, ... }:
    -let
    -  moduleName = "element-desktop";
    -in
    -{
    -  options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
    -  config = lib.mkIf config.swarselmodules.${moduleName} {
    -    programs.element-desktop = {
    -      enable = true;
    -      settings = {
    -        default_server_config = {
    -          "m.homeserver" = {
    -            base_url = "https://swatrix.swarsel.win/";
    -          };
    -        };
    -        UIFeature = {
    -          feedback = false;
    -          voip = false;
    -          widgets = false;
    -          shareSocial = false;
    -          registration = false;
    -          passwordReset = false;
    -          deactivate = false;
    -        };
    -      };
    -    };
    -  };
    -
    -}
    -
    -
    -
    -
    -
    -
    3.3.1.41. Hexchat
    -
    -
    -
    { lib, config, nixosConfig ? config, ... }:
    -let
    -  moduleName = "hexchat";
    -  inherit (nixosConfig.repo.secrets.common.irc) irc_nick1;
    -in
    -{
    -  options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
    -  config = lib.mkIf config.swarselmodules.${moduleName} {
    -    programs.${moduleName} = {
    -      enable = true;
    -      settings = {
    -        inherit irc_nick1;
    -        };
    -      };
    -    };
    -
    -  }
    -
    -
    -
    -
    -
    -
    3.3.1.42. obs-studio
    -
    -
    -
    { lib, config, ... }:
    -let
    -  moduleName = "obs-studio";
    -in
    -{
    -  options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
    -  config = lib.mkIf config.swarselmodules.${moduleName} {
    -    programs.${moduleName} = {
    -      enable = true;
    -      };
    -    };
    -
    -  }
    -
    -
    -
    -
    -
    -
    3.3.1.43. spotify-player
    -
    -
    -
    { lib, config, ... }:
    -let
    -  moduleName = "spotify-player";
    -in
    -{
    -  options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
    -  config = lib.mkIf config.swarselmodules.${moduleName} {
    -    programs.${moduleName} = {
    -      enable = true;
    -      };
    -    };
    -
    -  }
    -
    -
    -
    -
    -
    -
    3.3.1.44. vesktop
    -
    -
    -
    { lib, config, ... }:
    -let
    -  moduleName = "vesktop";
    -in
    -  {
    -  options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
    -  config = lib.mkIf config.swarselmodules.${moduleName} {
    -    programs.${moduleName} = {
    -      enable = true;
    -      settings = {
    -        appBadge = false;
    -        arRPC = false;
    -        checkUpdates = false;
    -        customTitleBar = false;
    -        disableMinSize = true;
    -        minimizeToTray = true;
    -        tray = true;
    -        staticTitle = true;
    -        hardwareAcceleration = true;
    -        discordBranch = "stable";
    -      };
    -      vencord = {
    -        useSystem = true;
    -        settings = {
    -          autoUpdate = false;
    -          autoUpdateNotification = false;
    -          enableReactDevtools = false;
    -          frameless = false;
    -          transparent = false;
    -          winCtrlQ = false;
    -          notifyAboutUpdates = false;
    -          useQuickCss = true;
    -          disableMinSize = true;
    -          winNativeTitleBar = false;
    -          plugins = {
    -            MessageLogger = {
    -              enabled = true;
    -              ignoreSelf = true;
    -            };
    -            ChatInputButtonAPI = {
    -              enabled = false;
    -            };
    -            CommandsAPI = {
    -              enabled = true;
    -            };
    -            MemberListDecoratorsAPI = {
    -              enabled = false;
    -            };
    -            MessageAccessoriesAPI = {
    -              enabled = true;
    -            };
    -            MessageDecorationsAPI = {
    -              enabled = false;
    -            };
    -            MessageEventsAPI = {
    -              enabled = false;
    -            };
    -            MessagePopoverAPI = {
    -              enabled = false;
    -            };
    -            MessageUpdaterAPI = {
    -              enabled = false;
    -            };
    -            ServerListAPI = {
    -              enabled = false;
    -            };
    -            UserSettingsAPI = {
    -              enabled = true;
    -            };
    -            FakeNitro = {
    -              enabled = true;
    -            };
    -          };
    -        };
    -      };
    -    };
    -  };
    -
    -}
    -
    -
    -
    -
    -
    -
    3.3.1.45. batsignal
    -
    -
    -
    { lib, config, ... }:
    -let
    -  moduleName = "batsignal";
    -in
    -{
    -  options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
    -  config = lib.mkIf config.swarselmodules.${moduleName} {
    -    services.${moduleName} = {
    -      enable = true;
    -    };
    -  };
    -
    -}
    -
    -
    -
    -
    -
    -
    3.3.1.46. autotiling
    -
    -
    -
    { lib, config, ... }:
    -let
    -  moduleName = "autotiling";
    -in
    -{
    -  options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
    -  config = lib.mkIf config.swarselmodules.${moduleName} {
    -    swarselservices.${moduleName} = {
    -      enable = true;
    -      systemdTarget = config.wayland.systemd.target;
    -    };
    -  };
    -
    -}
    -
    -
    -
    -
    -
    -
    3.3.1.47. swayidle
    -
    -
    -
    { lib, config, pkgs, ... }:
    -let
    -  moduleName = "swayidle";
    -in
    -{
    -  options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
    -  config = lib.mkIf config.swarselmodules.${moduleName} {
    -    services.${moduleName} =
    -      let
    -        brightnessctl = "${lib.getExe pkgs.brightnessctl}";
    -        swaylock = "${lib.getExe pkgs.swaylock-effects}";
    -        suspend = "${pkgs.systemd}/bin/systemctl";
    -      in
    -      {
    -        enable = true;
    -        systemdTarget = config.wayland.systemd.target;
    -        extraArgs = [ "-w" ];
    -        timeouts = [
    -          { timeout = 60; command = "${brightnessctl} -s; ${brightnessctl} set 80%-"; resumeCommand = "${brightnessctl} -r"; }
    -          # { timeout = 300; command =  "${lib.getExe pkgs.swaylock-effects} -f --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2"; }
    -          { timeout = 300; command = "${swaylock} -f"; }
    -          # { timeout = 600; command = ''${pkgs.sway}/bin/swaymsg "output * dpms off"; resumeCommand = "${pkgs.sway}/bin/swaymsg output * dpms on'';  }
    -          { timeout = 600; command = "${suspend}"; }
    -        ];
    -        events = [
    -          # { event = "before-sleep"; command = "${lib.getExe pkgs.swaylock-effects} -f --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2"; }
    -          { event = "before-sleep"; command = "${swaylock} -f "; }
    -          { event = "lock"; command = "${swaylock} -f "; }
    -        ];
    -      };
    -  };
    -
    -}
    -
    -
    -
    -
    -
    -
    3.3.1.48. swaylock
    -
    -
    -
    { lib, config, pkgs, ... }:
    -let
    -  moduleName = "swaylock";
    -in
    -{
    -  options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
    -  config = lib.mkIf config.swarselmodules.${moduleName} {
    -    programs.${moduleName} = {
    -      enable = true;
    -      package = pkgs.swaylock-effects;
    -      settings = {
    -        screenshots = true;
    -        clock = true;
    -        effect-blur = "7x5";
    -        effect-vignette = "0.5:0.5";
    -        fade-in = "0.2";
    -      };
    -    };
    -  };
    -
     }
     
    @@ -16560,17 +16205,14 @@ The rest of the settings is at
    -
    { lib, config, pkgs, nixosConfig ? config,  ... }:
    -let
    -  inherit (config.swarselsystems) isNixos;
    -in
    +
    { lib, config, pkgs, ... }:
     {
       options.swarselmodules.optional.gaming = lib.mkEnableOption "optional gaming settings";
       config = lib.mkIf config.swarselmodules.optional.gaming {
         # specialisation = {
         #   gaming.configuration = {
         home.packages = with pkgs; [
    -      # lutris
    +      lutris
           wine
           protonplus
           winetricks
    @@ -16598,22 +16240,6 @@ in
           retroarch
           flips
         ];
    -
    -    programs.lutris = {
    -      enable = true;
    -      extraPackages = with pkgs; [
    -        winetricks
    -        gamescope
    -        umu-launcher
    -      ];
    -      steamPackage = if isNixos then nixosConfig.programs.steam.package else pkgs.steam;
    -      winePackages = with pkgs; [
    -        wineWow64Packages.waylandFull
    -      ];
    -      protonPackages = with pkgs; [
    -        proton-ge-bin
    -      ];
    -    };
         #   };
         # };
       };
    @@ -16632,631 +16258,613 @@ The rest of the settings is at 
     
    { self, config, pkgs, lib, vars, nixosConfig ? config, ... }:
    -    let
    -      inherit (config.swarselsystems) homeDir;
    -    in
    +let
    +  inherit (config.swarselsystems) homeDir;
    +in
    +{
    +  options.swarselmodules.optional.work = lib.mkEnableOption "optional work settings";
    +  config = lib.mkIf config.swarselmodules.optional.work
         {
    -      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
    +
    +        vscode
    +      ];
    +
    +      systemd.user.sessionVariables = {
    +        DOCUMENT_DIR_WORK = lib.mkForce "${homeDir}/Documents/Work";
    +      };
    +
    +      accounts.email.accounts.work =
    +        let
    +          inherit (nixosConfig.repo.secrets.local.work) mailAddress mailName;
    +        in
             {
    -          home.packages = with pkgs; [
    -            stable.teams-for-linux
    -            shellcheck
    -            dig
    -            docker
    -            postman
    -            # rclone
    -            libguestfs-with-appliance
    -            stable.prometheus.cli
    -            tigervnc
    -            # openstackclient
    +          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 = true;
    +            extraConfig = {
    +              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 = true;
    +          mbsync = {
    +            enable = true;
    +            expunge = "both";
    +            patterns = [ "INBOX" ];
    +            extraConfig = {
    +              account = {
    +                AuthMechs = "XOAUTH2";
    +              };
    +            };
    +          };
    +        };
     
    -            vscode
    +      # 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;
     
    -          systemd.user.sessionVariables = {
    -            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 = true;
    -                extraConfig = {
    -                  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 = true;
    -              mbsync = {
    -                enable = true;
    -                expunge = "both";
    -                patterns = [ "INBOX" ];
    -                extraConfig = {
    -                  account = {
    -                    AuthMechs = "XOAUTH2";
    -                  };
    -                };
    -              };
    +          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;
                 };
     
    -          # 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}";
    -          #     };
    -          #   };
    -          # };
    +            sessionVariables = {
    +              VSPHERE_USER = "$(cat ${nixosConfig.sops.secrets.vcuser.path})";
    +              VSPHERE_PW = "$(cat ${nixosConfig.sops.secrets.vcpw.path})";
    +              GOVC_USERNAME = "$(cat ${nixosConfig.sops.secrets.govcuser.path})";
    +              GOVC_PASSWORD = "$(cat ${nixosConfig.sops.secrets.govcpw.path})";
    +              GOVC_URL = "$(cat ${nixosConfig.sops.secrets.govcurl.path})";
    +              GOVC_DATACENTER = "$(cat ${nixosConfig.sops.secrets.govcdc.path})";
    +              GOVC_DATASTORE = "$(cat ${nixosConfig.sops.secrets.govcds.path})";
    +              GOVC_HOST = "$(cat ${nixosConfig.sops.secrets.govchost.path})";
    +              GOVC_RESOURCE_POOL = "$(cat ${nixosConfig.sops.secrets.govcpool.path})";
    +              GOVC_NETWORK = "$(cat ${nixosConfig.sops.secrets.govcnetwork.path})";
    +            };
    +          };
     
    -          stylix = {
    -            targets.firefox.profileNames =
    +          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
    -                inherit (nixosConfig.repo.secrets.local.work) user1 user2 user3;
    +                isDefault = false;
                   in
    -              [
    -                "${user1}"
    -                "${user2}"
    -                "${user3}"
    -                "work"
    -              ];
    +              {
    +                "${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;
    +              };
               };
     
    -          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 clouds;
    -            in
    +          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 = [
                 {
    -              openstackclient = {
    -                enable = true;
    -                inherit clouds;
    -};
    -              awscli = {
    -                enable = true;
    -                package = pkgs.stable24_05.awscli2;
    -                settings = {
    -                  "default" = { };
    -                  "profile s3-imagebuilder-prod" = { };
    -                };
    -                credentials = {
    -                  "s3-imagebuilder-prod" = {
    -                    aws_access_key_id = "5OYXY4879EJG9I91K1B6";
    -                    credential_process = "${pkgs.pass}/bin/pass show work/awscli/s3-imagebuilder-prod/secret-key";
    -                  };
    -                };
    +              # seminary room
    +              output = {
    +                criteria = "Applied Creative Technology Transmitter QUATTRO201811";
    +                scale = 1.0;
    +                mode = "1280x720";
                   };
    -              git.userEmail = lib.mkForce gitMail;
    -
    -              zsh = {
    -                shellAliases = {
    -                  dssh = "ssh -l ${user1Long}";
    -                  cssh = "ssh -l ${user2Long}";
    -                  wssh = "ssh -l ${user3Long}";
    -                };
    -                cdpath = [
    -                  "~/Documents/Work"
    +            }
    +            {
    +              # 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";
    +                exec = [
    +                  "${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP 732pk CNC4080YL5' --image ${self}/files/wallpaper/botanicswp.png --mode ${config.stylix.imageScalingMode}"
    +                  "${pkgs.swaybg}/bin/swaybg --output 'Hewlett Packard HP Z24i CN44250RDT' --image ${self}/files/wallpaper/op6wp.png --mode ${config.stylix.imageScalingMode}"
                     ];
    -                dirHashes = {
    -                  d = "$HOME/.dotfiles";
    -                  w = "$HOME/Documents/Work";
    -                  s = "$HOME/.dotfiles/secrets";
    -                  pr = "$HOME/Documents/Private";
    -                  ac = path1;
    -                };
    -
    -                sessionVariables = {
    -                  VSPHERE_USER = "$(cat ${nixosConfig.sops.secrets.vcuser.path})";
    -                  VSPHERE_PW = "$(cat ${nixosConfig.sops.secrets.vcpw.path})";
    -                  GOVC_USERNAME = "$(cat ${nixosConfig.sops.secrets.govcuser.path})";
    -                  GOVC_PASSWORD = "$(cat ${nixosConfig.sops.secrets.govcpw.path})";
    -                  GOVC_URL = "$(cat ${nixosConfig.sops.secrets.govcurl.path})";
    -                  GOVC_DATACENTER = "$(cat ${nixosConfig.sops.secrets.govcdc.path})";
    -                  GOVC_DATASTORE = "$(cat ${nixosConfig.sops.secrets.govcds.path})";
    -                  GOVC_HOST = "$(cat ${nixosConfig.sops.secrets.govchost.path})";
    -                  GOVC_RESOURCE_POOL = "$(cat ${nixosConfig.sops.secrets.govcpool.path})";
    -                  GOVC_NETWORK = "$(cat ${nixosConfig.sops.secrets.govcnetwork.path})";
    -                };
    -              };
    -
    -              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
    +                outputs = [
                       {
    -                    "${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"
    +                    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";
    +                  }
                     ];
                   };
    -            };
    -
    -          services = {
    -            kanshi = {
    -              settings = [
    +            }
    +            {
    +              profile =
    +                let
    +                  monitor = "Applied Creative Technology Transmitter QUATTRO201811";
    +                in
                     {
    -                  # seminary room
    -                  output = {
    -                    criteria = "Applied Creative Technology Transmitter QUATTRO201811";
    -                    scale = 1.0;
    -                    mode = "1280x720";
    -                  };
    -                }
    -                {
    -                  # work main screen
    -                  output = {
    +                  name = "lidopen";
    +                  exec = [
    +                    "${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/navidrome.png --mode ${config.stylix.imageScalingMode}"
    +                    "${pkgs.kanshare}/bin/kanshare ${config.swarselsystems.sharescreen} '${monitor}'"
    +                  ];
    +                  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";
    +                exec = [
    +                  "${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP 732pk CNC4080YL5' --image ${self}/files/wallpaper/botanicswp.png --mode ${config.stylix.imageScalingMode}"
    +                  "${pkgs.swaybg}/bin/swaybg --output 'Hewlett Packard HP Z24i CN44250RDT' --image ${self}/files/wallpaper/op6wp.png --mode ${config.stylix.imageScalingMode}"
    +                ];
    +                outputs = [
    +                  {
    +                    criteria = config.swarselsystems.sharescreen;
    +                    status = "disable";
    +                  }
    +                  {
                         criteria = "HP Inc. HP 732pk CNC4080YL5";
    -                    scale = 1.0;
    +                    scale = 1.4;
                         mode = "3840x2160";
    -                  };
    -                }
    -                {
    -                  # work side screen
    -                  output = {
    +                    position = "-1280,0";
    +                  }
    +                  {
                         criteria = "Hewlett Packard HP Z24i CN44250RDT";
                         scale = 1.0;
                         mode = "1920x1200";
                         transform = "270";
    -                  };
    -                }
    -                {
    -                  profile = {
    -                    name = "lidopen";
    -                    exec = [
    -                      "${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP 732pk CNC4080YL5' --image ${self}/files/wallpaper/botanicswp.png --mode ${config.stylix.imageScalingMode}"
    -                      "${pkgs.swaybg}/bin/swaybg --output 'Hewlett Packard HP Z24i CN44250RDT' --image ${self}/files/wallpaper/op6wp.png --mode ${config.stylix.imageScalingMode}"
    -                    ];
    -                    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 =
    -                    let
    -                      monitor = "Applied Creative Technology Transmitter QUATTRO201811";
    -                    in
    -                    {
    -                      name = "lidopen";
    -                      exec = [
    -                        "${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/navidrome.png --mode ${config.stylix.imageScalingMode}"
    -                        "${pkgs.kanshare}/bin/kanshare ${config.swarselsystems.sharescreen} '${monitor}'"
    -                      ];
    -                      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";
    -                    exec = [
    -                      "${pkgs.swaybg}/bin/swaybg --output 'HP Inc. HP 732pk CNC4080YL5' --image ${self}/files/wallpaper/botanicswp.png --mode ${config.stylix.imageScalingMode}"
    -                      "${pkgs.swaybg}/bin/swaybg --output 'Hewlett Packard HP Z24i CN44250RDT' --image ${self}/files/wallpaper/op6wp.png --mode ${config.stylix.imageScalingMode}"
    -                    ];
    -                    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 =
    -                    let
    -                      monitor = "Applied Creative Technology Transmitter QUATTRO201811";
    -                    in
    -                    {
    -                      name = "lidclosed";
    -                      exec = [
    -                        "${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/navidrome.png --mode ${config.stylix.imageScalingMode}"
    -                      ];
    -                      outputs = [
    -                        {
    -                          criteria = config.swarselsystems.sharescreen;
    -                          status = "disable";
    -                        }
    -                        {
    -                          criteria = "Applied Creative Technology Transmitter QUATTRO201811";
    -                          scale = 1.0;
    -                          mode = "1280x720";
    -                          position = "10000,10000";
    -                        }
    -                      ];
    -                    };
    -                }
    -              ];
    -            };
    -          };
    -
    -          systemd.user.services = {
    -            pizauth.Service = {
    -              ExecStartPost = [
    -                "${pkgs.toybox}/bin/sleep 1"
    -                "//bin/sh -c '${lib.getExe pkgs.pizauth} restore < ${homeDir}/.pizauth.state'"
    -              ];
    -            };
    -
    -            teams-applet = {
    -              Unit = {
    -                Description = "teams applet";
    -                Requires = [ "tray.target" ];
    -                After = [
    -                  "graphical-session.target"
    -                  "tray.target"
    +                    position = "-2480,0";
    +                  }
                     ];
    -                PartOf = [ "graphical-session.target" ];
                   };
    -
    -              Install = {
    -                WantedBy = [ "graphical-session.target" ];
    -              };
    -
    -              Service = {
    -                ExecStart = "${pkgs.stable.teams-for-linux}/bin/teams-for-linux --disableGpu=true --minimized=true --trayIconEnabled=true";
    -              };
    -            };
    -
    -            onepassword-applet = {
    -              Unit = {
    -                Description = "1password applet";
    -                Requires = [ "tray.target" ];
    -                After = [
    -                  "graphical-session.target"
    -                  "tray.target"
    -                ];
    -                PartOf = [ "graphical-session.target" ];
    -              };
    -
    -              Install = {
    -                WantedBy = [ "graphical-session.target" ];
    -              };
    -
    -              Service = {
    -                ExecStart = "${pkgs._1password-gui}/bin/1password";
    -              };
    -            };
    -
    -          };
    -
    -          swarselservices.pizauth = {
    -            enable = true;
    -            extraConfig = ''
    -              auth_notify_cmd = "if [[ \"$(notify-send -A \"Open $PIZAUTH_ACCOUNT\" -t 30000 'pizauth authorisation')\" == \"0\" ]]; then open \"$PIZAUTH_URL\"; fi";
    -              error_notify_cmd = "notify-send -t 90000 \"pizauth error for $PIZAUTH_ACCOUNT\" \"$PIZAUTH_MSG\"";
    -              token_event_cmd = "pizauth dump > ${homeDir}/.pizauth.state";
    -            '';
    -            accounts = {
    -              work = {
    -                authUri = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize";
    -                tokenUri = "https://login.microsoftonline.com/common/oauth2/v2.0/token";
    -                clientId = "08162f7c-0fd2-4200-a84a-f25a4db0b584";
    -                clientSecret = "TxRBilcHdC6WGBee]fs?QR:SJ8nI[g82";
    -                scopes = [
    -                  "https://outlook.office365.com/IMAP.AccessAsUser.All"
    -                  "https://outlook.office365.com/SMTP.Send"
    -                  "offline_access"
    -                ];
    -                loginHint = "${nixosConfig.repo.secrets.local.work.mailAddress}";
    -              };
    -            };
    -
    -          };
    -
    -          xdg =
    -            let
    -              inherit (nixosConfig.repo.secrets.local.work) user1 user2 user3;
    -            in
    +            }
                 {
    -              mimeApps = {
    -                defaultApplications = {
    -                  "x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ];
    -                };
    -              };
    -              desktopEntries =
    +              profile =
                     let
    -                  terminal = false;
    -                  categories = [ "Application" ];
    -                  icon = "firefox";
    +                  monitor = "Applied Creative Technology Transmitter QUATTRO201811";
                     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;
    -                  };
    -
    -
    +                  name = "lidclosed";
    +                  exec = [
    +                    "${pkgs.swaybg}/bin/swaybg --output '${monitor}' --image ${self}/files/wallpaper/navidrome.png --mode ${config.stylix.imageScalingMode}"
    +                  ];
    +                  outputs = [
    +                    {
    +                      criteria = config.swarselsystems.sharescreen;
    +                      status = "disable";
    +                    }
    +                    {
    +                      criteria = "Applied Creative Technology Transmitter QUATTRO201811";
    +                      scale = 1.0;
    +                      mode = "1280x720";
    +                      position = "10000,10000";
    +                    }
    +                  ];
                     };
    -            };
    -          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"; }
    -              # { command = "obsidian"; }
    -              # { command = "nm-applet"; }
    -              # { command = "feishin"; }
    -              # { command = "teams-for-linux --disableGpu=true --minimized=true --trayIconEnabled=true"; }
    -              # { command = "1password"; }
    -            ];
    -            monitors = {
    -              work_back_middle = rec {
    -                name = "LG Electronics LG Ultra HD 0x000305A6";
    -                mode = "2560x1440";
    -                scale = "1";
    -                position = "5120,0";
    -                workspace = "1:一";
    -                # output = "DP-10";
    -                output = name;
    -              };
    -              work_front_left = rec {
    -                name = "LG Electronics LG Ultra HD 0x0007AB45";
    -                mode = "3840x2160";
    -                scale = "1";
    -                position = "5120,0";
    -                workspace = "1:一";
    -                # output = "DP-7";
    -                output = name;
    -              };
    -              work_back_right = rec {
    -                name = "HP Inc. HP Z32 CN41212T55";
    -                mode = "3840x2160";
    -                scale = "1";
    -                position = "5120,0";
    -                workspace = "1:一";
    -                # output = "DP-3";
    -                output = name;
    -              };
    -              work_middle_middle_main = rec {
    -                name = "HP Inc. HP 732pk CNC4080YL5";
    -                mode = "3840x2160";
    -                scale = "1";
    -                position = "-1280,0";
    -                workspace = "11:M";
    -                # output = "DP-8";
    -                output = name;
    -              };
    -              work_middle_middle_side = rec {
    -                name = "Hewlett Packard HP Z24i CN44250RDT";
    -                mode = "1920x1200";
    -                transform = "270";
    -                scale = "1";
    -                position = "-2480,0";
    -                workspace = "12:S";
    -                # output = "DP-9";
    -                output = name;
    -              };
    -              work_seminary = rec {
    -                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";
    -                output = name;
    -              };
    -            };
    -            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";
    -              };
    -            };
    +            }
    +          ];
    +        };
    +      };
     
    +      systemd.user.services = {
    +        pizauth.Service = {
    +          ExecStartPost = [
    +            "${pkgs.toybox}/bin/sleep 1"
    +            "//bin/sh -c '${lib.getExe pkgs.pizauth} restore < ${homeDir}/.pizauth.state'"
    +          ];
    +        };
    +
    +        teams-applet = {
    +          Unit = {
    +            Description = "teams applet";
    +            Requires = [ "tray.target" ];
    +            After = [
    +              "graphical-session.target"
    +              "tray.target"
    +            ];
    +            PartOf = [ "graphical-session.target" ];
    +          };
    +
    +          Install = {
    +            WantedBy = [ "graphical-session.target" ];
    +          };
    +
    +          Service = {
    +            ExecStart = "${pkgs.stable.teams-for-linux}/bin/teams-for-linux --disableGpu=true --minimized=true --trayIconEnabled=true";
               };
             };
     
    -    }
    +        onepassword-applet = {
    +          Unit = {
    +            Description = "1password applet";
    +            Requires = [ "tray.target" ];
    +            After = [
    +              "graphical-session.target"
    +              "tray.target"
    +            ];
    +            PartOf = [ "graphical-session.target" ];
    +          };
    +
    +          Install = {
    +            WantedBy = [ "graphical-session.target" ];
    +          };
    +
    +          Service = {
    +            ExecStart = "${pkgs._1password-gui}/bin/1password";
    +          };
    +        };
    +
    +      };
    +
    +      swarselservices.pizauth = {
    +        enable = true;
    +        extraConfig = ''
    +          auth_notify_cmd = "if [[ \"$(notify-send -A \"Open $PIZAUTH_ACCOUNT\" -t 30000 'pizauth authorisation')\" == \"0\" ]]; then open \"$PIZAUTH_URL\"; fi";
    +          error_notify_cmd = "notify-send -t 90000 \"pizauth error for $PIZAUTH_ACCOUNT\" \"$PIZAUTH_MSG\"";
    +          token_event_cmd = "pizauth dump > ${homeDir}/.pizauth.state";
    +        '';
    +        accounts = {
    +          work = {
    +            authUri = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize";
    +            tokenUri = "https://login.microsoftonline.com/common/oauth2/v2.0/token";
    +            clientId = "08162f7c-0fd2-4200-a84a-f25a4db0b584";
    +            clientSecret = "TxRBilcHdC6WGBee]fs?QR:SJ8nI[g82";
    +            scopes = [
    +              "https://outlook.office365.com/IMAP.AccessAsUser.All"
    +              "https://outlook.office365.com/SMTP.Send"
    +              "offline_access"
    +            ];
    +            loginHint = "${nixosConfig.repo.secrets.local.work.mailAddress}";
    +          };
    +        };
    +
    +      };
    +
    +      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"; }
    +          # { command = "obsidian"; }
    +          # { command = "nm-applet"; }
    +          # { command = "feishin"; }
    +          # { command = "teams-for-linux --disableGpu=true --minimized=true --trayIconEnabled=true"; }
    +          # { command = "1password"; }
    +        ];
    +        monitors = {
    +          work_back_middle = rec {
    +            name = "LG Electronics LG Ultra HD 0x000305A6";
    +            mode = "2560x1440";
    +            scale = "1";
    +            position = "5120,0";
    +            workspace = "1:一";
    +            # output = "DP-10";
    +            output = name;
    +          };
    +          work_front_left = rec {
    +            name = "LG Electronics LG Ultra HD 0x0007AB45";
    +            mode = "3840x2160";
    +            scale = "1";
    +            position = "5120,0";
    +            workspace = "1:一";
    +            # output = "DP-7";
    +            output = name;
    +          };
    +          work_back_right = rec {
    +            name = "HP Inc. HP Z32 CN41212T55";
    +            mode = "3840x2160";
    +            scale = "1";
    +            position = "5120,0";
    +            workspace = "1:一";
    +            # output = "DP-3";
    +            output = name;
    +          };
    +          work_middle_middle_main = rec {
    +            name = "HP Inc. HP 732pk CNC4080YL5";
    +            mode = "3840x2160";
    +            scale = "1";
    +            position = "-1280,0";
    +            workspace = "11:M";
    +            # output = "DP-8";
    +            output = name;
    +          };
    +          work_middle_middle_side = rec {
    +            name = "Hewlett Packard HP Z24i CN44250RDT";
    +            mode = "1920x1200";
    +            transform = "270";
    +            scale = "1";
    +            position = "-2480,0";
    +            workspace = "12:S";
    +            # output = "DP-9";
    +            output = name;
    +          };
    +          work_seminary = rec {
    +            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";
    +            output = name;
    +          };
    +        };
    +        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";
    +          };
    +        };
    +
    +      };
    +    };
    +
    +}
     
     
    @@ -17564,7 +17172,6 @@ In short, the options defined here are passed to the modules systems using
    -
    -

    3.5.34. endme

    +
    +

    3.5.34. endme

    Sometimes my DE crashes after putting it to suspend - to be precise, it happens when I put it into suspend when I have multiple screens plugged in. I have never taken the time to debug the issue, but instead just switch to a different TTY and then use this script to kill the hanging session. @@ -19682,52 +19289,52 @@ in options.swarselprofiles.personal = lib.mkEnableOption "is this a personal host"; config = lib.mkIf config.swarselprofiles.personal { swarselmodules = { - # keyd = lib.mkDefault true; - appimage = lib.mkDefault true; - autologin = lib.mkDefault true; - blueman = lib.mkDefault true; - boot = lib.mkDefault true; - btrfs = lib.mkDefault true; - distrobox = lib.mkDefault true; - env = lib.mkDefault true; - general = lib.mkDefault true; - gnome-keyring = lib.mkDefault true; - gvfs = lib.mkDefault true; - hardware = lib.mkDefault true; - home-manager = lib.mkDefault true; - impermanence = lib.mkDefault true; - interceptionTools = lib.mkDefault true; - keyboards = lib.mkDefault true; - lanzaboote = lib.mkDefault true; - ledger = lib.mkDefault true; - lid = lib.mkDefault true; - login = lib.mkDefault true; - lowBattery = lib.mkDefault false; - network = lib.mkDefault true; - networkDevices = lib.mkDefault true; - niri = lib.mkDefault true; - nix-ld = lib.mkDefault true; - nvd = lib.mkDefault true; packages = lib.mkDefault true; pii = lib.mkDefault true; - pipewire = lib.mkDefault true; - ppd = lib.mkDefault true; - programs = lib.mkDefault true; - pulseaudio = lib.mkDefault true; + general = lib.mkDefault true; + home-manager = lib.mkDefault true; + xserver = lib.mkDefault true; + users = lib.mkDefault true; + env = lib.mkDefault true; security = lib.mkDefault true; + systemdTimeout = lib.mkDefault true; + hardware = lib.mkDefault true; + pulseaudio = lib.mkDefault true; + pipewire = lib.mkDefault true; + network = lib.mkDefault true; + time = lib.mkDefault true; sops = lib.mkDefault true; stylix = lib.mkDefault true; - sway = lib.mkDefault true; - swayosd = lib.mkDefault true; - syncthing = lib.mkDefault true; - systemdTimeout = lib.mkDefault true; - time = lib.mkDefault true; - users = lib.mkDefault true; - uwsm = lib.mkDefault true; - xdg-portal = lib.mkDefault true; - xserver = lib.mkDefault true; - yubikey = lib.mkDefault true; + programs = lib.mkDefault true; zsh = lib.mkDefault true; + syncthing = lib.mkDefault true; + blueman = lib.mkDefault true; + networkDevices = lib.mkDefault true; + gvfs = lib.mkDefault true; + interceptionTools = lib.mkDefault true; + # keyd = lib.mkDefault true; + swayosd = lib.mkDefault true; + ppd = lib.mkDefault true; + yubikey = lib.mkDefault true; + ledger = lib.mkDefault true; + keyboards = lib.mkDefault true; + login = lib.mkDefault true; + nix-ld = lib.mkDefault true; + impermanence = lib.mkDefault true; + nvd = lib.mkDefault true; + gnome-keyring = lib.mkDefault true; + uwsm = lib.mkDefault true; + sway = lib.mkDefault true; + niri = lib.mkDefault true; + xdg-portal = lib.mkDefault true; + distrobox = lib.mkDefault true; + appimage = lib.mkDefault true; + lid = lib.mkDefault true; + lowBattery = lib.mkDefault true; + lanzaboote = lib.mkDefault true; + autologin = lib.mkDefault true; + boot = lib.mkDefault true; + btrfs = lib.mkDefault true; }; home-manager.users."${config.swarselsystems.mainUser}" = { @@ -19782,8 +19389,8 @@ in

    -
    -
    3.6.1.3. Optionals
    +
    +
    3.6.1.3. Optionals
    { lib, config, ... }:
    @@ -20013,63 +19620,53 @@ in
       options.swarselprofiles.personal = lib.mkEnableOption "is this a personal host";
       config = lib.mkIf config.swarselprofiles.personal {
         swarselmodules = {
    -      anki = lib.mkDefault true;
    -      anki-tray = lib.mkDefault true;
    -      atuin = lib.mkDefault true;
    -      autotiling = lib.mkDefault true;
    -      batsignal = lib.mkDefault true;
    -      blueman-applet = lib.mkDefault true;
    -      desktop = lib.mkDefault true;
    -      direnv = lib.mkDefault true;
    -      element-desktop = lib.mkDefault true;
    -      element-tray = lib.mkDefault true;
    -      emacs = lib.mkDefault true;
    -      env = lib.mkDefault true;
    -      eza = lib.mkDefault true;
    -      firefox = lib.mkDefault true;
    -      fuzzel = lib.mkDefault true;
    -      gammastep = lib.mkDefault true;
    -      general = lib.mkDefault true;
    -      git = lib.mkDefault true;
    -      gnome-keyring = lib.mkDefault true;
    -      gpgagent = lib.mkDefault true;
    -      hexchat = lib.mkDefault true;
    -      kanshi = lib.mkDefault true;
    -      kdeconnect = lib.mkDefault true;
    -      kitty = lib.mkDefault true;
    -      mail = lib.mkDefault true;
    -      mako = lib.mkDefault true;
    -      niri = lib.mkDefault true;
    -      nix-index = lib.mkDefault true;
    -      nixgl = lib.mkDefault true;
    -      nix-your-shell = lib.mkDefault true;
    -      nm-applet = lib.mkDefault true;
    -      obs-studio = lib.mkDefault true;
    -      obsidian = lib.mkDefault true;
    -      obsidian-tray = lib.mkDefault true;
    -      ownpackages = lib.mkDefault true;
           packages = lib.mkDefault true;
    -      passwordstore = lib.mkDefault true;
    -      programs = lib.mkDefault true;
    +      ownpackages = lib.mkDefault true;
    +      general = lib.mkDefault true;
    +      nixgl = lib.mkDefault true;
           sops = lib.mkDefault false;
    -      spicetify = lib.mkDefault true;
    -      spotify-player = lib.mkDefault true;
    -      ssh = lib.mkDefault true;
    -      starship = lib.mkDefault true;
    -      stylix = lib.mkDefault true;
    -      sway = lib.mkDefault true;
    -      swayidle = lib.mkDefault true;
    -      swaylock = lib.mkDefault true;
    -      swayosd = lib.mkDefault true;
    -      symlink = lib.mkDefault true;
    -      tmux = lib.mkDefault true;
    -      vesktop = lib.mkDefault true;
    -      vesktop-tray = lib.mkDefault true;
    -      waybar = lib.mkDefault true;
           yubikey = lib.mkDefault false;
    -      yubikeytouch = lib.mkDefault true;
    -      zellij = lib.mkDefault true;
    +      ssh = lib.mkDefault true;
    +      stylix = lib.mkDefault true;
    +      desktop = lib.mkDefault true;
    +      symlink = lib.mkDefault true;
    +      env = lib.mkDefault true;
    +      programs = lib.mkDefault true;
    +      nix-index = lib.mkDefault true;
    +      passwordstore = lib.mkDefault true;
    +      direnv = lib.mkDefault true;
    +      eza = lib.mkDefault true;
    +      atuin = lib.mkDefault true;
    +      git = lib.mkDefault true;
    +      fuzzel = lib.mkDefault true;
    +      starship = lib.mkDefault true;
    +      kitty = lib.mkDefault true;
           zsh = lib.mkDefault true;
    +      zellij = lib.mkDefault true;
    +      tmux = lib.mkDefault true;
    +      mail = lib.mkDefault true;
    +      emacs = lib.mkDefault true;
    +      waybar = lib.mkDefault true;
    +      firefox = lib.mkDefault true;
    +      gnome-keyring = lib.mkDefault true;
    +      kdeconnect = lib.mkDefault true;
    +      mako = lib.mkDefault true;
    +      swayosd = lib.mkDefault true;
    +      yubikeytouch = lib.mkDefault true;
    +      sway = lib.mkDefault true;
    +      niri = lib.mkDefault true;
    +      kanshi = lib.mkDefault true;
    +      gpgagent = lib.mkDefault true;
    +      gammastep = lib.mkDefault true;
    +      spicetify = lib.mkDefault true;
    +      blueman-applet = lib.mkDefault true;
    +      nm-applet = lib.mkDefault true;
    +      obsidian-tray = lib.mkDefault true;
    +      obsidian = lib.mkDefault true;
    +      anki-tray = lib.mkDefault true;
    +      element-tray = lib.mkDefault true;
    +      vesktop-tray = lib.mkDefault true;
    +      anki = lib.mkDefault true;
         };
       };
     
    @@ -24108,6 +23705,7 @@ bind gwe tab_or_tabopen_local exivity.vbc.ac.at
     bind gwg tab_or_tabopen_local github.com
     bind gwG tab_or_tabopen_local goc.egi.eu
     bind gwh tab_or_tabopen_local jupyterhub.vbc.ac.at
    +bind gwH tab_or_tabopen_local test-jupyterhub.vbc.ac.at
     bind gwj tab_or_tabopen_local jenkins.vbc.ac.at
     bind gwJ tab_or_tabopen_local test-jenkins.vbc.ac.at
     bind gwl tab_or_tabopen_local lucid.app
    @@ -24121,20 +23719,6 @@ bind gwt tab_or_tabopen_local tower.vbc.ac.at
     bind gwv tab_or_tabopen_local vc-impimba-1.m.imp.ac.at/ui
     bind gwx tab_or_tabopen_local xclarity.vbc.ac.at
     
    -unbind --mode=normal gh
    -bind ghp tab_or_tabopen_local https://github.com/pulls
    -bind ghi tab_or_tabopen_local https://github.com/issues/assigned?q=is%3Aissue%20state%3Aopen%20archived%3Afalse%20(assignee%3A%40me%20OR%20author%3A%40me)%20sort%3Aupdated-desc
    -bind ghv tab_or_tabopen_local github.com/orgs/vbc-it/repositories
    -bind ghc tab_or_tabopen_local github.com/orgs/CLIP-HPC/repositories
    -bind ghd tab_or_tabopen_local github.com/Swarsel/.dotfiles
    -bind ghni tab_or_tabopen_local github.com/NixOS/nixpkgs/issues
    -bind ghnp tab_or_tabopen_local github.com/NixOS/nixpkgs/pulls
    -
    -unbind --mode=normal gp
    -bind gprn tab_or_tabopen_local www.reddit.com/r/NixOS/
    -bind gpd tab_or_tabopen_local discourse.nixos.org/
    -bind gpp tab_or_tabopen_local parkour.wien/categories
    -
     " Search in page
     set findcase smart
     bind / fillcmdline find
    @@ -24189,15 +23773,6 @@ set hintdelay 100
     " Some pages like github break on the tridactyl quick search. have this as a fallback
     unbind <C-f>
     
    -" Do not let websites steal sitefocus
    -set allowautofocus false
    -
    -" whitelist sites
    -" :seturl [URL regex for sites with text editors you use] allowautofocus true
    -
    -" stronger blacklist for specific sites
    -seturl vbc.atlassian.net preventautofocusjackhammer true
    -
     " Subconfig Settings
     seturl www.google.com followpagepatterns.next Next
     seturl www.google.com followpagepatterns.prev Previous
    @@ -26504,45 +26079,45 @@ Here lies defined the readme for GitHub and Forgejo:
       <details>
         <summary>Click here to expand...</summary>
     
    -  - [guibou](https://github.com/guibou/)
    -  - [rycee](https://github.com/rycee)
    -  - [adisbladis](https://github.com/adisbladis)
    -  - [Mic92](https://github.com/Mic92/sops-nix)
    -  - [lassulus](https://github.com/lassulus)
    -  - [danth](https://github.com/danth/)
    -  - [LnL7](https://github.com/LnL7)
    -  - [t184256](https://github.com/t184256)
    -  - [bennofs](https://github.com/bennofs)
    -  - [Pandapip1](https://github.com/Pandapip1)
    -  - [zowoq](https://github.com/zowoq)
    -  - [numtide](https://github.com/numtide)
    -  - [hsjobeki](https://github.com/hsjobeki)
    -  - [blitz](https://github.com/blitz)
    -  - [RaitoBezarius](https://github.com/RaitoBezarius)
    -  - [nikstur](https://github.com/nikstur)
    -  - [talyz](https://github.com/talyz)
    -  - [infinisil](https://github.com/infinisil)
    -  - [zhaofengli](https://github.com/zhaofengli)
    -  - [Artturin](https://github.com/Artturin)
    -  - [oddlama](https://github.com/oddlama)
    +    - [guibou](https://github.com/guibou/)
    +    - [rycee](https://github.com/rycee)
    +    - [adisbladis](https://github.com/adisbladis)
    +    - [Mic92](https://github.com/Mic92/sops-nix)
    +    - [lassulus](https://github.com/lassulus)
    +    - [danth](https://github.com/danth/)
    +    - [LnL7](https://github.com/LnL7)
    +    - [t184256](https://github.com/t184256)
    +    - [bennofs](https://github.com/bennofs)
    +    - [Pandapip1](https://github.com/Pandapip1)
    +    - [zowoq](https://github.com/zowoq)
    +    - [numtide](https://github.com/numtide)
    +    - [hsjobeki](https://github.com/hsjobeki)
    +    - [blitz](https://github.com/blitz)
    +    - [RaitoBezarius](https://github.com/RaitoBezarius)
    +    - [nikstur](https://github.com/nikstur)
    +    - [talyz](https://github.com/talyz)
    +    - [infinisil](https://github.com/infinisil)
    +    - [zhaofengli](https://github.com/zhaofengli)
    +    - [Artturin](https://github.com/Artturin)
    +    - [oddlama](https://github.com/oddlama)
       </details>
     
       - All the people who have inspired me with their configurations (sadly also highly incomplete):
       <details>
         <summary>Click here to expand...</summary>
     
    -  - [theSuess](https://github.com/theSuess) with their [home-manager](https://code.kulupu.party/thesuess/home-manager)
    -  - [hlissner](https://github.com/hlissner) with their [dotfiles](https://github.com/hlissner/dotfiles)
    -  - [drduh](https://github.com/drduh/YubiKey-Guide) with their [YubiKey-Guide](https://github.com/drduh/YubiKey-Guide)
    -  - [AntonHakansson](https://github.com/AntonHakansson) with their [nixos-config](https://github.com/AntonHakansson/nixos-config?tab=readme-ov-file)
    -  - [Guekka](https://github.com/Guekka/) with their [blog](https://guekka.github.io/)
    -  - [NotAShelf](https://github.com/NotAShelf) with their [nyx](https://github.com/NotAShelf/nyx)
    -  - [Misterio77](https://github.com/Misterio77) with their [nix-config](https://github.com/Misterio77/nix-config)
    -  - [0xdade](https://github.com/0xdade) with their [blog](https://0xda.de/blog/)
    -  - [EmergentMind](https://github.com/EmergentMind) with their [nix-config](https://github.com/EmergentMind/nix-config)
    -  - [librephoenix](https://github.com/librephoenix) with their [nixos-config](https://github.com/librephoenix/nixos-config)
    -  - [Xe](https://github.com/Xe) with their [blog](https://xeiaso.net/blog/)
    -  - [oddlama](https://github.com/oddlama) with their absolutely incredible [nix-config](https:/github.com/oddlama/nix-config)
    +    - [theSuess](https://github.com/theSuess) with their [home-manager](https://code.kulupu.party/thesuess/home-manager)
    +    - [hlissner](https://github.com/hlissner) with their [dotfiles](https://github.com/hlissner/dotfiles)
    +    - [drduh](https://github.com/drduh/YubiKey-Guide) with their [YubiKey-Guide](https://github.com/drduh/YubiKey-Guide)
    +    - [AntonHakansson](https://github.com/AntonHakansson) with their [nixos-config](https://github.com/AntonHakansson/nixos-config?tab=readme-ov-file)
    +    - [Guekka](https://github.com/Guekka/) with their [blog](https://guekka.github.io/)
    +    - [NotAShelf](https://github.com/NotAShelf) with their [nyx](https://github.com/NotAShelf/nyx)
    +    - [Misterio77](https://github.com/Misterio77) with their [nix-config](https://github.com/Misterio77/nix-config)
    +    - [0xdade](https://github.com/0xdade) with their [blog](https://0xda.de/blog/)
    +    - [EmergentMind](https://github.com/EmergentMind) with their [nix-config](https://github.com/EmergentMind/nix-config)
    +    - [librephoenix](https://github.com/librephoenix) with their [nixos-config](https://github.com/librephoenix/nixos-config)
    +    - [Xe](https://github.com/Xe) with their [blog](https://xeiaso.net/blog/)
    +    - [oddlama](https://github.com/oddlama) with their absolutely incredible [nix-config](https:/github.com/oddlama/nix-config)
       </details>
     
       If you feel that I forgot to pay you tribute for code that I used in this repository, please shoot me a message and I will fix it :)
    @@ -26874,7 +26449,7 @@ similarly, there exists an version that starts from the right.
     
    diff --git a/modules/home/common/anki.nix b/modules/home/common/anki.nix index 3d40308..f91d3fb 100644 --- a/modules/home/common/anki.nix +++ b/modules/home/common/anki.nix @@ -25,7 +25,7 @@ in spacebarRatesCard = true; # videoDriver = "opengl"; sync = { - autoSync = false; # sync on profile close will delay system shutdown + autoSync = true; syncMedia = true; url = "https://${globals.services.ankisync.domain}"; usernameFile = nixosConfig.sops.secrets.anki-user.path; diff --git a/modules/home/common/autotiling.nix b/modules/home/common/autotiling.nix deleted file mode 100644 index 2cf7223..0000000 --- a/modules/home/common/autotiling.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ lib, config, ... }: -let - moduleName = "autotiling"; -in -{ - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - swarselservices.${moduleName} = { - enable = true; - systemdTarget = config.wayland.systemd.target; - }; - }; - -} diff --git a/modules/home/common/batsignal.nix b/modules/home/common/batsignal.nix deleted file mode 100644 index 30d4495..0000000 --- a/modules/home/common/batsignal.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ lib, config, ... }: -let - moduleName = "batsignal"; -in -{ - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - services.${moduleName} = { - enable = true; - }; - }; - -} diff --git a/modules/home/common/element.nix b/modules/home/common/element.nix deleted file mode 100644 index f9ba831..0000000 --- a/modules/home/common/element.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ lib, config, ... }: -let - moduleName = "element-desktop"; -in -{ - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - programs.element-desktop = { - enable = true; - settings = { - default_server_config = { - "m.homeserver" = { - base_url = "https://swatrix.swarsel.win/"; - }; - }; - UIFeature = { - feedback = false; - voip = false; - widgets = false; - shareSocial = false; - registration = false; - passwordReset = false; - deactivate = false; - }; - }; - }; - }; - -} diff --git a/modules/home/common/hexchat.nix b/modules/home/common/hexchat.nix deleted file mode 100644 index f0d813a..0000000 --- a/modules/home/common/hexchat.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ lib, config, nixosConfig ? config, ... }: -let - moduleName = "hexchat"; - inherit (nixosConfig.repo.secrets.common.irc) irc_nick1; -in -{ - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - programs.${moduleName} = { - enable = true; - settings = { - inherit irc_nick1; - }; - }; - }; - -} diff --git a/modules/home/common/nix-your-shell.nix b/modules/home/common/nix-your-shell.nix deleted file mode 100644 index 1ad63cb..0000000 --- a/modules/home/common/nix-your-shell.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ lib, config, ... }: -let - moduleName = "nix-your-shell"; -in -{ - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - programs.${moduleName} = { - enable = true; - enableZshIntegration = true; - }; - }; -} diff --git a/modules/home/common/obs-studio.nix b/modules/home/common/obs-studio.nix deleted file mode 100644 index 03ef30c..0000000 --- a/modules/home/common/obs-studio.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ lib, config, ... }: -let - moduleName = "obs-studio"; -in -{ - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - programs.${moduleName} = { - enable = true; - }; - }; - -} diff --git a/modules/home/common/packages.nix b/modules/home/common/packages.nix index cfedf9d..10622dc 100644 --- a/modules/home/common/packages.nix +++ b/modules/home/common/packages.nix @@ -70,7 +70,7 @@ restic # "big" programs - # obs-studio + obs-studio gimp inkscape zoom-us @@ -79,14 +79,14 @@ xournalpp # obsidian # spotify - # vesktop # discord client + vesktop # discord client # nextcloud-client # enables a systemd service that I do not want - # element-desktop - # spotify-player - + spotify-player + element-desktop nicotine-plus stable.transmission_3 mktorrent + hexchat hugo # kyria diff --git a/modules/home/common/programs.nix b/modules/home/common/programs.nix index f577a87..f971174 100644 --- a/modules/home/common/programs.nix +++ b/modules/home/common/programs.nix @@ -3,30 +3,26 @@ options.swarselmodules.programs = lib.mkEnableOption "programs settings"; config = lib.mkIf config.swarselmodules.programs { programs = { + bottom.enable = true; + imv.enable = true; + sioyek.enable = true; bat = { enable = true; extraPackages = with pkgs.bat-extras; [ batdiff batman batgrep batwatch ]; }; - bottom.enable = true; carapace.enable = true; + wlogout.enable = true; + swayr.enable = true; + yt-dlp.enable = true; + mpv.enable = true; + jq.enable = true; + ripgrep.enable = true; + pandoc.enable = true; fzf = { enable = true; enableBashIntegration = false; enableZshIntegration = false; }; - imv.enable = true; - jq.enable = true; - less.enable = true; - lesspipe.enable = true; - mpv.enable = true; - pandoc.enable = true; - rclone.enable = true; - ripgrep.enable = true; - sioyek.enable = true; - swayr.enable = true; - timidity.enable = true; - wlogout.enable = true; - yt-dlp.enable = true; zoxide = { enable = true; enableZshIntegration = true; diff --git a/modules/home/common/settings.nix b/modules/home/common/settings.nix index f063300..e778bda 100644 --- a/modules/home/common/settings.nix +++ b/modules/home/common/settings.nix @@ -42,14 +42,7 @@ in nixpkgs.overlays = lib.mkIf config.swarselsystems.isNixos (lib.mkForce null); - programs = { - home-manager.enable = lib.mkIf (!config.swarselsystems.isNixos) true; - man = { - enable = true; - generateCaches = true; - }; - }; - + programs.home-manager.enable = lib.mkIf (!config.swarselsystems.isNixos) true; targets.genericLinux.enable = lib.mkIf (!config.swarselsystems.isNixos) true; home = { @@ -60,11 +53,6 @@ in sessionVariables = { FLAKE = "/home/${mainUser}/.dotfiles"; }; - extraOutputsToInstall = [ - "doc" - "info" - "devdoc" - ]; }; }; diff --git a/modules/home/common/spotify-player.nix b/modules/home/common/spotify-player.nix deleted file mode 100644 index 1ba1865..0000000 --- a/modules/home/common/spotify-player.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ lib, config, ... }: -let - moduleName = "spotify-player"; -in -{ - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - programs.${moduleName} = { - enable = true; - }; - }; - -} diff --git a/modules/home/common/sway.nix b/modules/home/common/sway.nix index 1fd6513..6977c49 100644 --- a/modules/home/common/sway.nix +++ b/modules/home/common/sway.nix @@ -149,9 +149,8 @@ in "${modifier}+Shift+p" = "exec pass-fuzzel --type"; "${modifier}+Shift+o" = "exec pass-fuzzel --otp --type"; "${modifier}+Ctrl+p" = "exec 1password --quick-acces"; - # "${modifier}+Escape" = "mode $exit"; + "${modifier}+Escape" = "mode $exit"; "${modifier}+Shift+Escape" = "exec kitty -o confirm_os_window_close=0 btm"; - "${modifier}+Escape" = "exec wlogout"; "${modifier}+h" = "exec hyprpicker | wl-copy"; "${modifier}+s" = "exec grim -g \"$(slurp)\" -t png - | wl-copy -t image/png"; "${modifier}+Shift+s" = "exec slurp | grim -g - Pictures/Screenshots/$(date +'screenshot_%Y-%m-%d-%H%M%S.png')"; @@ -392,26 +391,26 @@ in swayfxSettings = config.swarselsystems.swayfxConfig; in " -# exec_always autotiling - # set $exit \"exit: [s]leep, [l]ock, [p]oweroff, [r]eboot, [u]ser logout\" +exec_always autotiling + set $exit \"exit: [s]leep, [l]ock, [p]oweroff, [r]eboot, [u]ser logout\" - # mode $exit { - # bindsym --to-code { - # s exec \"systemctl suspend\", mode \"default\" - # h exec \"systemctl hibernate\", mode \"default\" - # l exec \"swaylock --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2 --daemonize\", mode \"default\ - # p exec \"systemctl poweroff\" - # r exec \"systemctl reboot\" - # u exec \"swaymsg exit\" + mode $exit { + bindsym --to-code { + s exec \"systemctl suspend\", mode \"default\" + h exec \"systemctl hibernate\", mode \"default\" + l exec \"swaylock --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2 --daemonize\", mode \"default\ + p exec \"systemctl poweroff\" + r exec \"systemctl reboot\" + u exec \"swaymsg exit\" - # Return mode \"default\" - # Escape mode \"default\" - # ${modifier}+Escape mode \"default\" - # } - # } + Return mode \"default\" + Escape mode \"default\" + ${modifier}+Escape mode \"default\" + } + } exec systemctl --user import-environment - # exec swayidle -w + exec swayidle -w seat * hide_cursor 2000 diff --git a/modules/home/common/swayidle.nix b/modules/home/common/swayidle.nix deleted file mode 100644 index a6db8e5..0000000 --- a/modules/home/common/swayidle.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ lib, config, pkgs, ... }: -let - moduleName = "swayidle"; -in -{ - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - services.${moduleName} = - let - brightnessctl = "${lib.getExe pkgs.brightnessctl}"; - swaylock = "${lib.getExe pkgs.swaylock-effects}"; - suspend = "${pkgs.systemd}/bin/systemctl"; - in - { - enable = true; - systemdTarget = config.wayland.systemd.target; - extraArgs = [ "-w" ]; - timeouts = [ - { timeout = 60; command = "${brightnessctl} -s; ${brightnessctl} set 80%-"; resumeCommand = "${brightnessctl} -r"; } - # { timeout = 300; command = "${lib.getExe pkgs.swaylock-effects} -f --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2"; } - { timeout = 300; command = "${swaylock} -f"; } - # { timeout = 600; command = ''${pkgs.sway}/bin/swaymsg "output * dpms off"; resumeCommand = "${pkgs.sway}/bin/swaymsg output * dpms on''; } - { timeout = 600; command = "${suspend}"; } - ]; - events = [ - # { event = "before-sleep"; command = "${lib.getExe pkgs.swaylock-effects} -f --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2"; } - { event = "before-sleep"; command = "${swaylock} -f "; } - { event = "lock"; command = "${swaylock} -f "; } - ]; - }; - }; - -} diff --git a/modules/home/common/swaylock.nix b/modules/home/common/swaylock.nix deleted file mode 100644 index a3483af..0000000 --- a/modules/home/common/swaylock.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ lib, config, pkgs, ... }: -let - moduleName = "swaylock"; -in -{ - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - programs.${moduleName} = { - enable = true; - package = pkgs.swaylock-effects; - settings = { - screenshots = true; - clock = true; - effect-blur = "7x5"; - effect-vignette = "0.5:0.5"; - fade-in = "0.2"; - }; - }; - }; - -} diff --git a/modules/home/common/symlink.nix b/modules/home/common/symlink.nix index 8f67660..8caca6e 100644 --- a/modules/home/common/symlink.nix +++ b/modules/home/common/symlink.nix @@ -26,7 +26,7 @@ "tridactyl/tridactylrc".source = self + /files/firefox/tridactyl/tridactylrc; "tridactyl/themes/base16-codeschool.css".source = self + /files/firefox/tridactyl/themes/base16-codeschool.css; "tridactyl/themes/swarsel.css".source = self + /files/firefox/tridactyl/themes/swarsel.css; - # "swayidle/config".source = self + /files/swayidle/config; + "swayidle/config".source = self + /files/swayidle/config; }; }; } diff --git a/modules/home/common/vesktop.nix b/modules/home/common/vesktop.nix deleted file mode 100644 index 2085653..0000000 --- a/modules/home/common/vesktop.nix +++ /dev/null @@ -1,79 +0,0 @@ -{ lib, config, ... }: -let - moduleName = "vesktop"; -in -{ - options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings"; - config = lib.mkIf config.swarselmodules.${moduleName} { - programs.${moduleName} = { - enable = true; - settings = { - appBadge = false; - arRPC = false; - checkUpdates = false; - customTitleBar = false; - disableMinSize = true; - minimizeToTray = true; - tray = true; - staticTitle = true; - hardwareAcceleration = true; - discordBranch = "stable"; - }; - vencord = { - useSystem = true; - settings = { - autoUpdate = false; - autoUpdateNotification = false; - enableReactDevtools = false; - frameless = false; - transparent = false; - winCtrlQ = false; - notifyAboutUpdates = false; - useQuickCss = true; - disableMinSize = true; - winNativeTitleBar = false; - plugins = { - MessageLogger = { - enabled = true; - ignoreSelf = true; - }; - ChatInputButtonAPI = { - enabled = false; - }; - CommandsAPI = { - enabled = true; - }; - MemberListDecoratorsAPI = { - enabled = false; - }; - MessageAccessoriesAPI = { - enabled = true; - }; - MessageDecorationsAPI = { - enabled = false; - }; - MessageEventsAPI = { - enabled = false; - }; - MessagePopoverAPI = { - enabled = false; - }; - MessageUpdaterAPI = { - enabled = false; - }; - ServerListAPI = { - enabled = false; - }; - UserSettingsAPI = { - enabled = true; - }; - FakeNitro = { - enabled = true; - }; - }; - }; - }; - }; - }; - -} diff --git a/modules/home/optional/gaming.nix b/modules/home/optional/gaming.nix index d9657db..e523332 100644 --- a/modules/home/optional/gaming.nix +++ b/modules/home/optional/gaming.nix @@ -1,14 +1,11 @@ -{ lib, config, pkgs, nixosConfig ? config, ... }: -let - inherit (config.swarselsystems) isNixos; -in +{ lib, config, pkgs, ... }: { options.swarselmodules.optional.gaming = lib.mkEnableOption "optional gaming settings"; config = lib.mkIf config.swarselmodules.optional.gaming { # specialisation = { # gaming.configuration = { home.packages = with pkgs; [ - # lutris + lutris wine protonplus winetricks @@ -36,22 +33,6 @@ in retroarch flips ]; - - programs.lutris = { - enable = true; - extraPackages = with pkgs; [ - winetricks - gamescope - umu-launcher - ]; - steamPackage = if isNixos then nixosConfig.programs.steam.package else pkgs.steam; - winePackages = with pkgs; [ - wineWow64Packages.waylandFull - ]; - protonPackages = with pkgs; [ - proton-ge-bin - ]; - }; # }; # }; }; diff --git a/modules/home/optional/work.nix b/modules/home/optional/work.nix index 11f4a98..ef5ca2d 100644 --- a/modules/home/optional/work.nix +++ b/modules/home/optional/work.nix @@ -12,16 +12,16 @@ in dig docker postman - # rclone + rclone + stable24_05.awscli2 libguestfs-with-appliance stable.prometheus.cli tigervnc - # openstackclient + openstackclient vscode ]; - systemd.user.sessionVariables = { DOCUMENT_DIR_WORK = lib.mkForce "${homeDir}/Documents/Work"; }; @@ -116,27 +116,9 @@ in 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 clouds; + 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 { - openstackclient = { - enable = true; - inherit clouds; - }; - awscli = { - enable = true; - package = pkgs.stable24_05.awscli2; - settings = { - "default" = { }; - "profile s3-imagebuilder-prod" = { }; - }; - credentials = { - "s3-imagebuilder-prod" = { - aws_access_key_id = "5OYXY4879EJG9I91K1B6"; - credential_process = "${pkgs.pass}/bin/pass show work/awscli/s3-imagebuilder-prod/secret-key"; - }; - }; - }; git.userEmail = lib.mkForce gitMail; zsh = { diff --git a/modules/nixos/client/packages.nix b/modules/nixos/client/packages.nix index 153cf90..2ac4386 100644 --- a/modules/nixos/client/packages.nix +++ b/modules/nixos/client/packages.nix @@ -21,7 +21,7 @@ # pinentry dbus - # swaylock-effects + swaylock-effects syncthingtray-minimal swayosd diff --git a/modules/nixos/common/home-manager.nix b/modules/nixos/common/home-manager.nix index 4bcb21a..47c2d06 100644 --- a/modules/nixos/common/home-manager.nix +++ b/modules/nixos/common/home-manager.nix @@ -10,8 +10,7 @@ inputs.nix-index-database.homeModules.nix-index inputs.sops-nix.homeManagerModules.sops inputs.spicetify-nix.homeManagerModules.default - # inputs.swarsel-modules.homeModules.default - inputs.swarsel-nix.homeModules.default + inputs.swarsel-modules.homeModules.default { imports = [ "${self}/profiles/home" diff --git a/modules/shared/vars.nix b/modules/shared/vars.nix index 3cf6ee6..d140bc2 100644 --- a/modules/shared/vars.nix +++ b/modules/shared/vars.nix @@ -123,7 +123,6 @@ { "extensions.autoDisableScopes" = 0; "browser.bookmarks.showMobileBookmarks" = true; - "browser.autofocus" = false; "toolkit.legacyUserProfileCustomizations.stylesheets" = true; "browser.search.suggest.enabled" = false; "browser.search.suggest.enabled.private" = false; diff --git a/nix/hosts.nix b/nix/hosts.nix index 7064a77..2eb1b92 100644 --- a/nix/hosts.nix +++ b/nix/hosts.nix @@ -18,8 +18,7 @@ inputs.home-manager.nixosModules.home-manager inputs.stylix.nixosModules.stylix inputs.nswitch-rcm-nix.nixosModules.nswitch-rcm - # inputs.swarsel-modules.nixosModules.default - inputs.swarsel-nix.nixosModules.default + inputs.swarsel-modules.nixosModules.default inputs.niri-flake.nixosModules.niri inputs.microvm.nixosModules.host inputs.microvm.nixosModules.microvm diff --git a/nix/overlays.nix b/nix/overlays.nix index 7b9b055..04222d3 100644 --- a/nix/overlays.nix +++ b/nix/overlays.nix @@ -12,9 +12,9 @@ in additions = final: _: import "${self}/pkgs" { pkgs = final; inherit self lib; }; modifications = final: prev: { - # vesktop = prev.vesktop.override { - # withSystemVencord = true; - # }; + vesktop = prev.vesktop.override { + withSystemVencord = true; + }; firefox = prev.firefox.override { nativeMessagingHosts = [ diff --git a/profiles/home/personal/default.nix b/profiles/home/personal/default.nix index cd554b7..3ca38e1 100644 --- a/profiles/home/personal/default.nix +++ b/profiles/home/personal/default.nix @@ -3,63 +3,53 @@ options.swarselprofiles.personal = lib.mkEnableOption "is this a personal host"; config = lib.mkIf config.swarselprofiles.personal { swarselmodules = { - anki = lib.mkDefault true; - anki-tray = lib.mkDefault true; - atuin = lib.mkDefault true; - autotiling = lib.mkDefault true; - batsignal = lib.mkDefault true; - blueman-applet = lib.mkDefault true; - desktop = lib.mkDefault true; - direnv = lib.mkDefault true; - element-desktop = lib.mkDefault true; - element-tray = lib.mkDefault true; - emacs = lib.mkDefault true; - env = lib.mkDefault true; - eza = lib.mkDefault true; - firefox = lib.mkDefault true; - fuzzel = lib.mkDefault true; - gammastep = lib.mkDefault true; - general = lib.mkDefault true; - git = lib.mkDefault true; - gnome-keyring = lib.mkDefault true; - gpgagent = lib.mkDefault true; - hexchat = lib.mkDefault true; - kanshi = lib.mkDefault true; - kdeconnect = lib.mkDefault true; - kitty = lib.mkDefault true; - mail = lib.mkDefault true; - mako = lib.mkDefault true; - niri = lib.mkDefault true; - nix-index = lib.mkDefault true; - nixgl = lib.mkDefault true; - nix-your-shell = lib.mkDefault true; - nm-applet = lib.mkDefault true; - obs-studio = lib.mkDefault true; - obsidian = lib.mkDefault true; - obsidian-tray = lib.mkDefault true; - ownpackages = lib.mkDefault true; packages = lib.mkDefault true; - passwordstore = lib.mkDefault true; - programs = lib.mkDefault true; + ownpackages = lib.mkDefault true; + general = lib.mkDefault true; + nixgl = lib.mkDefault true; sops = lib.mkDefault false; - spicetify = lib.mkDefault true; - spotify-player = lib.mkDefault true; - ssh = lib.mkDefault true; - starship = lib.mkDefault true; - stylix = lib.mkDefault true; - sway = lib.mkDefault true; - swayidle = lib.mkDefault true; - swaylock = lib.mkDefault true; - swayosd = lib.mkDefault true; - symlink = lib.mkDefault true; - tmux = lib.mkDefault true; - vesktop = lib.mkDefault true; - vesktop-tray = lib.mkDefault true; - waybar = lib.mkDefault true; yubikey = lib.mkDefault false; - yubikeytouch = lib.mkDefault true; - zellij = lib.mkDefault true; + ssh = lib.mkDefault true; + stylix = lib.mkDefault true; + desktop = lib.mkDefault true; + symlink = lib.mkDefault true; + env = lib.mkDefault true; + programs = lib.mkDefault true; + nix-index = lib.mkDefault true; + passwordstore = lib.mkDefault true; + direnv = lib.mkDefault true; + eza = lib.mkDefault true; + atuin = lib.mkDefault true; + git = lib.mkDefault true; + fuzzel = lib.mkDefault true; + starship = lib.mkDefault true; + kitty = lib.mkDefault true; zsh = lib.mkDefault true; + zellij = lib.mkDefault true; + tmux = lib.mkDefault true; + mail = lib.mkDefault true; + emacs = lib.mkDefault true; + waybar = lib.mkDefault true; + firefox = lib.mkDefault true; + gnome-keyring = lib.mkDefault true; + kdeconnect = lib.mkDefault true; + mako = lib.mkDefault true; + swayosd = lib.mkDefault true; + yubikeytouch = lib.mkDefault true; + sway = lib.mkDefault true; + niri = lib.mkDefault true; + kanshi = lib.mkDefault true; + gpgagent = lib.mkDefault true; + gammastep = lib.mkDefault true; + spicetify = lib.mkDefault true; + blueman-applet = lib.mkDefault true; + nm-applet = lib.mkDefault true; + obsidian-tray = lib.mkDefault true; + obsidian = lib.mkDefault true; + anki-tray = lib.mkDefault true; + element-tray = lib.mkDefault true; + vesktop-tray = lib.mkDefault true; + anki = lib.mkDefault true; }; }; diff --git a/profiles/nixos/personal/default.nix b/profiles/nixos/personal/default.nix index 1dadd06..f685224 100644 --- a/profiles/nixos/personal/default.nix +++ b/profiles/nixos/personal/default.nix @@ -3,52 +3,52 @@ options.swarselprofiles.personal = lib.mkEnableOption "is this a personal host"; config = lib.mkIf config.swarselprofiles.personal { swarselmodules = { - # keyd = lib.mkDefault true; - appimage = lib.mkDefault true; - autologin = lib.mkDefault true; - blueman = lib.mkDefault true; - boot = lib.mkDefault true; - btrfs = lib.mkDefault true; - distrobox = lib.mkDefault true; - env = lib.mkDefault true; - general = lib.mkDefault true; - gnome-keyring = lib.mkDefault true; - gvfs = lib.mkDefault true; - hardware = lib.mkDefault true; - home-manager = lib.mkDefault true; - impermanence = lib.mkDefault true; - interceptionTools = lib.mkDefault true; - keyboards = lib.mkDefault true; - lanzaboote = lib.mkDefault true; - ledger = lib.mkDefault true; - lid = lib.mkDefault true; - login = lib.mkDefault true; - lowBattery = lib.mkDefault false; - network = lib.mkDefault true; - networkDevices = lib.mkDefault true; - niri = lib.mkDefault true; - nix-ld = lib.mkDefault true; - nvd = lib.mkDefault true; packages = lib.mkDefault true; pii = lib.mkDefault true; - pipewire = lib.mkDefault true; - ppd = lib.mkDefault true; - programs = lib.mkDefault true; - pulseaudio = lib.mkDefault true; + general = lib.mkDefault true; + home-manager = lib.mkDefault true; + xserver = lib.mkDefault true; + users = lib.mkDefault true; + env = lib.mkDefault true; security = lib.mkDefault true; + systemdTimeout = lib.mkDefault true; + hardware = lib.mkDefault true; + pulseaudio = lib.mkDefault true; + pipewire = lib.mkDefault true; + network = lib.mkDefault true; + time = lib.mkDefault true; sops = lib.mkDefault true; stylix = lib.mkDefault true; - sway = lib.mkDefault true; - swayosd = lib.mkDefault true; - syncthing = lib.mkDefault true; - systemdTimeout = lib.mkDefault true; - time = lib.mkDefault true; - users = lib.mkDefault true; - uwsm = lib.mkDefault true; - xdg-portal = lib.mkDefault true; - xserver = lib.mkDefault true; - yubikey = lib.mkDefault true; + programs = lib.mkDefault true; zsh = lib.mkDefault true; + syncthing = lib.mkDefault true; + blueman = lib.mkDefault true; + networkDevices = lib.mkDefault true; + gvfs = lib.mkDefault true; + interceptionTools = lib.mkDefault true; + # keyd = lib.mkDefault true; + swayosd = lib.mkDefault true; + ppd = lib.mkDefault true; + yubikey = lib.mkDefault true; + ledger = lib.mkDefault true; + keyboards = lib.mkDefault true; + login = lib.mkDefault true; + nix-ld = lib.mkDefault true; + impermanence = lib.mkDefault true; + nvd = lib.mkDefault true; + gnome-keyring = lib.mkDefault true; + uwsm = lib.mkDefault true; + sway = lib.mkDefault true; + niri = lib.mkDefault true; + xdg-portal = lib.mkDefault true; + distrobox = lib.mkDefault true; + appimage = lib.mkDefault true; + lid = lib.mkDefault true; + lowBattery = lib.mkDefault true; + lanzaboote = lib.mkDefault true; + autologin = lib.mkDefault true; + boot = lib.mkDefault true; + btrfs = lib.mkDefault true; }; home-manager.users."${config.swarselsystems.mainUser}" = { diff --git a/secrets/repo/pii.nix.enc b/secrets/repo/pii.nix.enc index 89f4f54..7363f49 100644 --- a/secrets/repo/pii.nix.enc +++ b/secrets/repo/pii.nix.enc @@ -1,5 +1,5 @@ { - "data": "ENC[AES256_GCM,data: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,iv:Y6SA957nt4h9t7KP2btXKIVhWZXBjW+6BrZ6ylYidT0=,tag:eRzQgj1EU6eGAZjzgL4mhw==,type:str]", + "data": "ENC[AES256_GCM,data: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,iv:9zObdum4T/ejBPPtX06ncAdgBe3ypZHbtOBaelS9100=,tag:MQxyCpZ2Z7dB5Re1ty+jGA==,type:str]", "sops": { "age": [ { @@ -27,8 +27,8 @@ "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtU240VjVRZmJ5TGsrclJF\nRXRLbTRCZURtR0Z3d2E2eDNNeGRDODlXVEY4CllTeVFYbDJQWlRSS1RFLzAxSnlM\nZi9NU1c3cWo3YWRLcUJ2U2ZFWFBBVEEKLS0tIGtmZU9qSWdBT3RDeStaaFFDSWtk\ndkUzZXJwZUl4LzVxYXdidmxXRnNnclUKyAMZqCKSY/RQvTR4bbjLaPnGKwdBcHXc\nvtiVSrLdIdzMa6id/J07TJH5UesUmcp0wjU41MDa4aMBLy+cXhuBHA==\n-----END AGE ENCRYPTED FILE-----\n" } ], - "lastmodified": "2025-10-11T07:31:31Z", - "mac": "ENC[AES256_GCM,data:PnHpvceDR85hyKkOTcSaqY4Lg/2mqFvxCSShBxi4DSaTSJkSJwcJ+pWgSdZFu9+P2k/fQv49U/2uTiLZuvPZaIsZKFWG2ngQU9WgxDkte8/DlSHW2yjW2KdJrs4Gv45GcEMzGJRUC8XzY1r5x40VvqyYZX0F30qiOpYGtLJiGKk=,iv:QwhVQaGMj+2m8DDfXeX0iaOlOgwe4I9fhBEQ6t5WF9Y=,tag:cm+1ccwoDfLjbe8UcaTa+Q==,type:str]", + "lastmodified": "2025-10-08T21:54:23Z", + "mac": "ENC[AES256_GCM,data:vjpvEgzViQDpE4DQE34xKj3dj3yvva1NvjZqfzs9R3uAtqWu2fe5jkLcrMI4t35co3lP84VUwKM5HQ33wKYvmaCsPrM2tvPLI4KSXWU1e+TSfSFphDr21OGZImEUW5Je9hhmgo/rg37Dkc/hq3npoeG3mtHdl6zw2c8URgi/vqk=,iv:fZN8la3P4lalI0AGPJbHOo5D1Q+EmV3SOKg3s47/u0o=,tag:OLsMZbIMRV6X5Wc8NpDFnA==,type:str]", "pgp": [ { "created_at": "2025-06-13T20:13:06Z",