From 8be89a76cdb0a383d6cf78c75b96e2e4d7972f79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Av=C3=A9?= Date: Mon, 3 Jun 2024 17:18:13 +0200 Subject: [PATCH] Mon Jun 3 05:18:13 PM CEST 2024 --- h | 1483 ------------------------------------- home/email/default.nix | 62 +- home/hyprland/default.nix | 4 + home/ssh/default.nix | 4 + 4 files changed, 61 insertions(+), 1492 deletions(-) delete mode 100644 h diff --git a/h b/h deleted file mode 100644 index 5cd30e3..0000000 --- a/h +++ /dev/null @@ -1,1483 +0,0 @@ -diff --git flake.nix flake.nix -index f222823..39cd281 100644 ---- flake.nix -+++ flake.nix -@@ -22,13 +22,7 @@ - nur.url = "github:nix-community/NUR"; - }; -  -- outputs = -- { self -- , nixpkgs -- , home-manager -- , nur -- , ... -- }@inputs: -+ outputs = { self, nixpkgs, home-manager, nur, ... }@inputs: - let - system = "x86_64-linux"; - pkgs = nixpkgs.legacyPackages.${system}; -@@ -38,9 +32,9 @@ - { - networking.hostName = host; - boot.loader.systemd-boot = { -- enable = true; -- memtest86.enable = true; -- netbootxyz.enable = true; -+ enable = true; -+ memtest86.enable = true; -+ netbootxyz.enable = true; - }; - boot.loader.timeout = 1; - boot.loader.efi.canTouchEfiVariables = true; -@@ -48,15 +42,17 @@ -  - nix.settings = { - substituters = [ "https://hyprland.cachix.org" ]; -- trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ]; -+ trusted-public-keys = [ -+ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" -+ ]; - experimental-features = [ "nix-command" "flakes" ]; - auto-optimise-store = true; - }; -  - nix.gc = { -- automatic = true; -- dates = "daily"; -- options = "--delete-older-than 2d"; -+ automatic = true; -+ dates = "daily"; -+ options = "--delete-older-than 2d"; - }; -  - programs.zsh.enable = true; -@@ -99,12 +95,7 @@ - shell = pkgs.zsh; - }; -  -- -- environment.systemPackages = with pkgs; [ -- wget -- curl -- git -- ]; -+ environment.systemPackages = with pkgs; [ wget curl git ]; -  - services.openssh = { - enable = true; -@@ -116,7 +107,8 @@ -  - networking.firewall.enable = false; - system.stateVersion = "23.11"; -- environment.sessionVariables.NIXOS_OZONE_WL = "1"; #hint electron apps to use wayland: -+ environment.sessionVariables.NIXOS_OZONE_WL = -+ "1"; # hint electron apps to use wayland: -  - fonts.packages = with pkgs; [ - noto-fonts -@@ -130,31 +122,25 @@ - home-manager.nixosModules.home-manager - { - home-manager = { -- extraSpecialArgs = { inherit inputs; }; # allows access to flake inputs in hm modules -+ extraSpecialArgs = { -+ inherit inputs; -+ }; # allows access to flake inputs in hm modules - useGlobalPkgs = true; - useUserPackages = true; -- users.${user} = { -- imports = [ ./home/${host}.nix ]; -- }; -+ users.${user} = { imports = [ ./home/${host}.nix ]; }; - }; - } - ./hosts/${host} - ]; -- mkSystem = host: cfg: nixpkgs.lib.nixosSystem { -- system = cfg.system or "x86_64-linux"; -- modules = (commonModules host cfg.user) ++ (cfg.modules or [ ]); -- specialArgs = inputs; -- }; -- systems = { -- nixos = { -- user = "user"; -- }; -- Kell = { -- user = "user"; -+ mkSystem = host: cfg: -+ nixpkgs.lib.nixosSystem { -+ system = cfg.system or "x86_64-linux"; -+ modules = (commonModules host cfg.user) ++ (cfg.modules or [ ]); -+ specialArgs = inputs; - }; -+ systems = { -+ nixos = { user = "user"; }; -+ Kell = { user = "user"; }; - }; -- in -- { -- nixosConfigurations = nixpkgs.lib.mapAttrs mkSystem systems; -- }; -+ in { nixosConfigurations = nixpkgs.lib.mapAttrs mkSystem systems; }; - } -diff --git home/Kell.nix home/Kell.nix -index d6205a7..6d95393 100644 ---- home/Kell.nix -+++ home/Kell.nix -@@ -2,13 +2,13 @@ -  - { - imports = [ -- (import ./common.nix { inherit inputs config pkgs; }) -- (import ./hyprland { inherit inputs pkgs; }) -- (import ./waybar { inherit inputs pkgs; }) -- ./rofi -- ./alacritty -- ./firefox -- ./ssh -+ (import ./common.nix { inherit inputs config pkgs; }) -+ (import ./hyprland { inherit inputs pkgs; }) -+ (import ./waybar { inherit inputs pkgs; }) -+ ./rofi -+ ./alacritty -+ ./firefox -+ ./ssh - ]; - services.hyprpaper = { - settings = { -@@ -21,14 +21,8 @@ - }; -  - gtk.iconTheme = { -- name = "Papirus"; -- gtk.iconTheme.package = pkgs.papirus-icon-theme; -- }; -- programs.waybar = { -- settings = { -- mainBar = { -- output = "DP-2"; -- }; -- }; -+ name = "Papirus"; -+ gtk.iconTheme.package = pkgs.papirus-icon-theme; - }; -+ programs.waybar = { settings = { mainBar = { output = "DP-2"; }; }; }; - } -diff --git home/alacritty/default.nix home/alacritty/default.nix -index dc9799f..b8e2d40 100644 ---- home/alacritty/default.nix -+++ home/alacritty/default.nix -@@ -77,51 +77,51 @@ - action = "ReceiveChar"; - } - { -- chars = "\u001B[72;6u"; -+ chars = "u001B[72;6u"; - key = "H"; - mods = "Control|Shift"; - } - { -- chars = "\u001B[74;6u"; -+ chars = "u001B[74;6u"; - key = "J"; - mods = "Control|Shift"; - } - { -- chars = "\u001B[75;6u"; -+ chars = "u001B[75;6u"; - key = "K"; - mods = "Control|Shift"; - } - { -- chars = "\u001B[76;6u"; -+ chars = "u001B[76;6u"; - key = "L"; - mods = "Control|Shift"; - } - { -- chars = "\u001B[105;5u"; -+ chars = "u001B[105;5u"; - key = "I"; - mods = "Control"; - } - { -- chars = "\u001B[46;5u"; -+ chars = "u001B[46;5u"; - key = "Period"; - mods = "Control"; - } - { -- chars = "\u001B[44;5u"; -+ chars = "u001B[44;5u"; - key = "Comma"; - mods = "Control"; - } - { -- chars = "\u001B[59;5u"; -+ chars = "u001B[59;5u"; - key = "Semicolon"; - mods = "Control"; - } - { -- chars = "\u001B[13;2u"; -+ chars = "u001B[13;2u"; - key = "Return"; - mods = "Shift"; - } - ]; -- }; - }; -- } -+ }; -+} -diff --git home/common.nix home/common.nix -index 5e568e8..93d0d6b 100644 ---- home/common.nix -+++ home/common.nix -@@ -1,23 +1,13 @@ - { inputs, config, pkgs, ... }: -  - { -- imports = [ -- ./zsh -- ./git -- ./nvim -- ./email -- ./lf -- ]; -+ imports = [ ./zsh ./git ./nvim ./email ./lf ]; -  - home.stateVersion = "24.11"; - targets.genericLinux.enable = true; - nixpkgs.config.allowUnfree = true; - programs.home-manager.enable = true; -- home.packages = with pkgs; [ -- htop -- waypipe -- ]; -- -+ home.packages = with pkgs; [ htop waypipe ]; -  - home.sessionVariables = { - XDG_CONFIG_HOME = "${config.xdg.configHome}"; -diff --git home/email/default.nix home/email/default.nix -index caeaa36..6140376 100644 ---- home/email/default.nix -+++ home/email/default.nix -@@ -2,26 +2,21 @@ -  - { - home.file = { -- ".mailcap".text = "text/html; w3m -dump -o -document_charset=%{charset} %s; nametemplate=%s.html; copiousoutput"; -+ ".mailcap".text = -+ "text/html; w3m -dump -o -document_charset=%{charset} %s; nametemplate=%s.html; copiousoutput"; - }; -- home.packages = with pkgs; [ -- mailcap -- ]; -+ home.packages = with pkgs; [ mailcap ]; -  - programs.notmuch = { - enable = true; - extraConfig = { -- database = { -- path = "/home/user/.config/aerc/mail"; -- }; -+ database = { path = "/home/user/.config/aerc/mail"; }; - user = { - name = "Thomas Avé"; - primary_email = "email@thomasave.be"; - other_email = "Thomas.Ave@uantwerpen.be;Thomas.Ave@imec.be;"; - }; -- maildir = { -- synchronize_flags = "true"; -- }; -+ maildir = { synchronize_flags = "true"; }; - }; - }; - programs.aerc = { -@@ -157,9 +152,7 @@ - }; - }; - extraConfig = { -- general = { -- term = "xterm-256color"; -- }; -+ general = { term = "xterm-256color"; }; - ui = { - border-char-vertical = "│"; - border-char-horizontal = "─"; -@@ -170,12 +163,8 @@ - dirlist-right = "{{if .Unread}}{{humanReadable .Unread}}{{end}}"; - dirlist-tree = true; - }; -- viewer = { -- pager = "nvim -u $XDG_CONFIG_HOME/nvim/aerc.lua"; -- }; -- compose = { -- address-book-cmd = "notmuch address \"\%s\""; -- }; -+ viewer = { pager = "nvim -u $XDG_CONFIG_HOME/nvim/aerc.lua"; }; -+ compose = { address-book-cmd = ''notmuch address "%s"''; }; - multipart-converters = { - "text/html" = "w3m -dump -o display_link_number=1 -T text/html"; - }; -@@ -185,13 +174,14 @@ - "message/delivery-status" = "cat"; - "message/rfc822" = "cat"; - "text/html" = "w3m -dump -o display_link_number=1 -T text/html"; -- "text/*" = "bat -fP --file-name=\"$AERC_FILENAME\""; -+ "text/*" = ''bat -fP --file-name="$AERC_FILENAME"''; - "application/x-sh" = "bat -fP -l sh"; - }; - }; - }; -  -- home.file."${config.xdg.configHome}/aerc/map.conf".text = "Inbox=tag:inbox and not tag:archived and not tag:deleted"; -+ home.file."${config.xdg.configHome}/aerc/map.conf".text = -+ "Inbox=tag:inbox and not tag:archived and not tag:deleted"; - home.file."${config.xdg.configHome}/aerc/stylesets/catppuccin-mocha".text = '' - *.default=true - *.normal=true -diff --git home/firefox/default.nix home/firefox/default.nix -index 4ba4256..72c6564 100644 ---- home/firefox/default.nix -+++ home/firefox/default.nix -@@ -1,98 +1,106 @@ --{inputs, pkgs, ...}: -+{ inputs, pkgs, ... }: - let --lock-false = { -+ lock-false = { - Value = false; - Status = "locked"; --}; --lock-true = { -+ }; -+ lock-true = { - Value = true; - Status = "locked"; --}; --in --{ -- programs.firefox = { -- enable = true; -- policies = { -- DisableTelemetry = true; -- DisableFirefoxStudies = true; -- DisplayBookmarksToolbar = "never"; # alternatives: "always" or "newtab" -- EnableTrackingProtection = { -- Value = true; -- Locked = true; -- Cryptomining = true; -- Fingerprinting = true; -- }; -- ExtensionSettings = { -- "{c7c120ff-2878-4e59-a5a3-cd4d1655bc13}" = { -- install_url = "file://${./files/signed.xpi}"; -- installation_mode = "normal_installed"; -- }; -- "@contain-google" = { -- install_url = "https://addons.mozilla.org/firefox/downloads/latest/google-container/latest.xpi"; -- installation_mode = "normal_installed"; -- }; -- "{ea4204c0-3209-4116-afd2-2a208e21a779}" = { -- install_url = "https://addons.mozilla.org/firefox/downloads/latest/enable-bing-chat/latest.xpi"; -- installation_mode = "normal_installed"; -- }; -- "{3e4d2037-d300-4e95-859d-3cba866f46d3}" = { -- install_url = "https://addons.mozilla.org/firefox/downloads/latest/private-internet-access-ext/latest.xpi"; -- installation_mode = "normal_installed"; -- }; -- }; -+ }; -+in { -+ programs.firefox = { -+ enable = true; -+ policies = { -+ DisableTelemetry = true; -+ DisableFirefoxStudies = true; -+ DisplayBookmarksToolbar = "never"; # alternatives: "always" or "newtab" -+ EnableTrackingProtection = { -+ Value = true; -+ Locked = true; -+ Cryptomining = true; -+ Fingerprinting = true; -+ }; -+ ExtensionSettings = { -+ "{c7c120ff-2878-4e59-a5a3-cd4d1655bc13}" = { -+ install_url = "file://${./files/signed.xpi}"; -+ installation_mode = "normal_installed"; -+ }; -+ "@contain-google" = { -+ install_url = -+ "https://addons.mozilla.org/firefox/downloads/latest/google-container/latest.xpi"; -+ installation_mode = "normal_installed"; -+ }; -+ "{ea4204c0-3209-4116-afd2-2a208e21a779}" = { -+ install_url = -+ "https://addons.mozilla.org/firefox/downloads/latest/enable-bing-chat/latest.xpi"; -+ installation_mode = "normal_installed"; -+ }; -+ "{3e4d2037-d300-4e95-859d-3cba866f46d3}" = { -+ install_url = -+ "https://addons.mozilla.org/firefox/downloads/latest/private-internet-access-ext/latest.xpi"; -+ installation_mode = "normal_installed"; -+ }; -+ }; -  -+ }; -+ profiles = { -+ default = { -+ id = 0; -+ name = "default"; -+ isDefault = true; -+ search = { -+ force = true; -+ default = "DuckDuckGo"; -+ order = [ "DuckDuckGo" "Google" ]; - }; -- profiles = { -- default = { -- id = 0; -- name = "default"; -- isDefault = true; -- search = { -- force = true; -- default = "DuckDuckGo"; -- order = [ "DuckDuckGo" "Google" ]; -- }; -- extensions = with pkgs.nur.repos.rycee.firefox-addons; [ -- ublock-origin -- bitwarden -- privacy-badger -- beyond-20 -- display-_anchors -- facebook-container -- multi-account-containers -- istilldontcareaboutcookies -- return-youtube-dislikes -- sponsorblock -- unpaywall -- vimium -- ]; -- settings = { -- "browser.disableResetPrompt" = true; -- "browser.download.panel.shown" = true; -- "browser.shell.checkDefaultBrowser" = false; -- "browser.tabs.inTitlebar" = 0; -- "browser.shell.defaultBrowserCheckCount" = 1; -- "browser.startup.homepage" = "https://start.duckduckgo.com"; -- "browser.compactmode.show" = true; -- "browser.uidensity" = 1; -- "extensions.update.enabled" = false; -- "extensions.pocket.enabled" = lock-false; -- "extensions.autoDisableScopes" = 0; -- "browser.newtabpage.activity-stream.showSponsored" = lock-false; -- "browser.newtabpage.activity-stream.system.showSponsored" = lock-false; -- "browser.newtabpage.activity-stream.showSponsoredTopSites" = lock-false; -- "browser.contentblocking.category" = { Value = "strict"; Status = "locked"; }; -- "browser.uiCustomization.state" = ''{"placements":{"widget-overflow-fixed-list":["fxa-toolbar-menu-button","developer-button"],"unified-extensions-area":["sponsorblocker_ajay_app-browser-action","_testpilot-containers-browser-action","_531906d3-e22f-4a6c-a102-8057b88a1a63_-browser-action","beyond20_kakaroto_homelinux_net-browser-action","_d7742d87-e61d-4b78-b8a1-b469842139fa_-browser-action","_contain-facebook-browser-action","jid1-kkzogwgsw3ao4q_jetpack-browser-action","jid1-mnnxcxisbpnsxq_jetpack-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","chrome-gnome-shell_gnome_org-browser-action","_ea4204c0-3209-4116-afd2-2a208e21a779_-browser-action","_f209234a-76f0-4735-9920-eb62507a54cd_-browser-action","_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action","display-anchors_robwu_nl-browser-action","firefoxcolor_mozilla_com-browser-action","search_kagi_com-browser-action","_7a7a4a92-a2a0-41d1-9fd7-1e92480d612d_-browser-action"],"nav-bar":["back-button","forward-button","stop-reload-button","urlbar-container","downloads-button","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","_12cf650b-1822-40aa-bff0-996df6948878_-browser-action","_3e4d2037-d300-4e95-859d-3cba866f46d3_-browser-action","save-as-pdf-ff_pdfcrowd_com-browser-action","user-agent-switcher_ninetailed_ninja-browser-action","_d66c8515-1e0d-408f-82ee-2682f2362726_-browser-action","ublock0_raymondhill_net-browser-action","reset-pbm-toolbar-button","adguardadblocker_adguard_com-browser-action","unified-extensions-button"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["tabbrowser-tabs","new-tab-button","alltabs-button"],"PersonalToolbar":["import-button","personal-bookmarks"]},"seen":["developer-button","profiler-button","chrome-gnome-shell_gnome_org-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","_contain-facebook-browser-action","_testpilot-containers-browser-action","jid1-kkzogwgsw3ao4q_jetpack-browser-action","jid1-mnnxcxisbpnsxq_jetpack-browser-action","ublock0_raymondhill_net-browser-action","_531906d3-e22f-4a6c-a102-8057b88a1a63_-browser-action","beyond20_kakaroto_homelinux_net-browser-action","_12cf650b-1822-40aa-bff0-996df6948878_-browser-action","_3e4d2037-d300-4e95-859d-3cba866f46d3_-browser-action","save-as-pdf-ff_pdfcrowd_com-browser-action","_d7742d87-e61d-4b78-b8a1-b469842139fa_-browser-action","user-agent-switcher_ninetailed_ninja-browser-action","_d66c8515-1e0d-408f-82ee-2682f2362726_-browser-action","_ea4204c0-3209-4116-afd2-2a208e21a779_-browser-action","adguardadblocker_adguard_com-browser-action","_f209234a-76f0-4735-9920-eb62507a54cd_-browser-action","_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action","sponsorblocker_ajay_app-browser-action","display-anchors_robwu_nl-browser-action","firefoxcolor_mozilla_com-browser-action","search_kagi_com-browser-action","_7a7a4a92-a2a0-41d1-9fd7-1e92480d612d_-browser-action"],"dirtyAreaCache":["nav-bar","PersonalToolbar","toolbar-menubar","TabsToolbar","widget-overflow-fixed-list","unified-extensions-area"],"currentVersion":20,"newElementCount":11}''; -- "privacy.trackingprotection.enabled" = true; -- }; -- }; -+ extensions = with pkgs.nur.repos.rycee.firefox-addons; [ -+ ublock-origin -+ bitwarden -+ privacy-badger -+ beyond-20 -+ display-_anchors -+ facebook-container -+ multi-account-containers -+ istilldontcareaboutcookies -+ return-youtube-dislikes -+ sponsorblock -+ unpaywall -+ vimium -+ ]; -+ settings = { -+ "browser.disableResetPrompt" = true; -+ "browser.download.panel.shown" = true; -+ "browser.shell.checkDefaultBrowser" = false; -+ "browser.tabs.inTitlebar" = 0; -+ "browser.shell.defaultBrowserCheckCount" = 1; -+ "browser.startup.homepage" = "https://start.duckduckgo.com"; -+ "browser.compactmode.show" = true; -+ "browser.uidensity" = 1; -+ "extensions.update.enabled" = false; -+ "extensions.pocket.enabled" = lock-false; -+ "extensions.autoDisableScopes" = 0; -+ "browser.newtabpage.activity-stream.showSponsored" = lock-false; -+ "browser.newtabpage.activity-stream.system.showSponsored" = -+ lock-false; -+ "browser.newtabpage.activity-stream.showSponsoredTopSites" = -+ lock-false; -+ "browser.contentblocking.category" = { -+ Value = "strict"; -+ Status = "locked"; -+ }; -+ "browser.uiCustomization.state" = '' -+ {"placements":{"widget-overflow-fixed-list":["fxa-toolbar-menu-button","developer-button"],"unified-extensions-area":["sponsorblocker_ajay_app-browser-action","_testpilot-containers-browser-action","_531906d3-e22f-4a6c-a102-8057b88a1a63_-browser-action","beyond20_kakaroto_homelinux_net-browser-action","_d7742d87-e61d-4b78-b8a1-b469842139fa_-browser-action","_contain-facebook-browser-action","jid1-kkzogwgsw3ao4q_jetpack-browser-action","jid1-mnnxcxisbpnsxq_jetpack-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","chrome-gnome-shell_gnome_org-browser-action","_ea4204c0-3209-4116-afd2-2a208e21a779_-browser-action","_f209234a-76f0-4735-9920-eb62507a54cd_-browser-action","_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action","display-anchors_robwu_nl-browser-action","firefoxcolor_mozilla_com-browser-action","search_kagi_com-browser-action","_7a7a4a92-a2a0-41d1-9fd7-1e92480d612d_-browser-action"],"nav-bar":["back-button","forward-button","stop-reload-button","urlbar-container","downloads-button","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","_12cf650b-1822-40aa-bff0-996df6948878_-browser-action","_3e4d2037-d300-4e95-859d-3cba866f46d3_-browser-action","save-as-pdf-ff_pdfcrowd_com-browser-action","user-agent-switcher_ninetailed_ninja-browser-action","_d66c8515-1e0d-408f-82ee-2682f2362726_-browser-action","ublock0_raymondhill_net-browser-action","reset-pbm-toolbar-button","adguardadblocker_adguard_com-browser-action","unified-extensions-button"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["tabbrowser-tabs","new-tab-button","alltabs-button"],"PersonalToolbar":["import-button","personal-bookmarks"]},"seen":["developer-button","profiler-button","chrome-gnome-shell_gnome_org-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","_contain-facebook-browser-action","_testpilot-containers-browser-action","jid1-kkzogwgsw3ao4q_jetpack-browser-action","jid1-mnnxcxisbpnsxq_jetpack-browser-action","ublock0_raymondhill_net-browser-action","_531906d3-e22f-4a6c-a102-8057b88a1a63_-browser-action","beyond20_kakaroto_homelinux_net-browser-action","_12cf650b-1822-40aa-bff0-996df6948878_-browser-action","_3e4d2037-d300-4e95-859d-3cba866f46d3_-browser-action","save-as-pdf-ff_pdfcrowd_com-browser-action","_d7742d87-e61d-4b78-b8a1-b469842139fa_-browser-action","user-agent-switcher_ninetailed_ninja-browser-action","_d66c8515-1e0d-408f-82ee-2682f2362726_-browser-action","_ea4204c0-3209-4116-afd2-2a208e21a779_-browser-action","adguardadblocker_adguard_com-browser-action","_f209234a-76f0-4735-9920-eb62507a54cd_-browser-action","_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action","sponsorblocker_ajay_app-browser-action","display-anchors_robwu_nl-browser-action","firefoxcolor_mozilla_com-browser-action","search_kagi_com-browser-action","_7a7a4a92-a2a0-41d1-9fd7-1e92480d612d_-browser-action"],"dirtyAreaCache":["nav-bar","PersonalToolbar","toolbar-menubar","TabsToolbar","widget-overflow-fixed-list","unified-extensions-area"],"currentVersion":20,"newElementCount":11}''; -+ "privacy.trackingprotection.enabled" = true; - }; -+ }; - }; -+ }; -  -- xdg.mimeApps.defaultApplications = { -- "text/html" = ["firefox.desktop"]; -- "text/xml" = ["firefox.desktop"]; -- "x-scheme-handler/http" = ["firefox.desktop"]; -- "x-scheme-handler/https" = ["firefox.desktop"]; -- }; -+ xdg.mimeApps.defaultApplications = { -+ "text/html" = [ "firefox.desktop" ]; -+ "text/xml" = [ "firefox.desktop" ]; -+ "x-scheme-handler/http" = [ "firefox.desktop" ]; -+ "x-scheme-handler/https" = [ "firefox.desktop" ]; -+ }; - } -diff --git home/hyprland/default.nix home/hyprland/default.nix -index b7b4e09..ab282dc 100644 ---- home/hyprland/default.nix -+++ home/hyprland/default.nix -@@ -1,7 +1,4 @@ --{ inputs --, pkgs --, ... --}: -+{ inputs, pkgs, ... }: - let - hyprland = inputs.hyprland.packages.${pkgs.system}.hyprland; - playerctl = "${pkgs.playerctl}/bin/playerctl"; -@@ -17,11 +14,11 @@ let - rofi = "${pkgs.rofi}/bin/rofi"; - jq = "${pkgs.jq}/bin/jq"; - rofi-ykman = pkgs.writeShellScriptBin "rofi-ykman" '' -- accounts=''$(${pkgs.yubikey-manager}/bin/ykman oath accounts list) -+ accounts=$(${pkgs.yubikey-manager}/bin/ykman oath accounts list) - prompt="YubiKey OATH" -- account=''$(echo "''${accounts/, TOTP/\n}" | awk '{ print $0 "\0icon\x1fyubioath"; }' | ${rofi} -dmenu -i -p "''$prompt" ''${shortcuts[@]}) -- code=''$(${pkgs.yubikey-manager}/bin/ykman oath accounts code "''$account") -- IFS=', ' read -r -a code <<< "''$code" -+ account=$(echo "''${accounts/, TOTP/\n}" | awk '{ print $0 "\0icon\x1fyubioath"; }' | ${rofi} -dmenu -i -p "$prompt" ''${shortcuts[@]}) -+ code=$(${pkgs.yubikey-manager}/bin/ykman oath accounts code "$account") -+ IFS=', ' read -r -a code <<< "$code" - echo -n "''${code[-1]}" | ${pkgs.wl-clipboard}/bin/wl-copy; - ''; -  -@@ -60,25 +57,21 @@ let - fi - fi - ''; --in --{ -+in { - services.kdeconnect = { - enable = true; - package = pkgs.kdePackages.kdeconnect-kde; - indicator = true; - }; -  -- home.packages = with pkgs; [ -- wl-clipboard -- ]; -+ home.packages = with pkgs; [ wl-clipboard ]; -  - services.hyprpaper = { - enable = true; - settings = { - ipc = "on"; - splash = false; -- preload = -- [ "${./files/wallpaper.png}" ]; -+ preload = [ "${./files/wallpaper.png}" ]; - wallpaper = [ - # Fill in by host-specific config! - # "Display,${./files/wallpaper.png}" -@@ -127,9 +120,7 @@ in - "TERMINAL,${alacritty}" - "WLR_RENDERER_ALLOW_SOFTWARE,1" - ]; -- debug = { -- disable_logs = false; -- }; -+ debug = { disable_logs = false; }; - windowrulev2 = [ - "float, title:^(rofi)(.*)$" - "center, title:^(rofi)(.*)$" -@@ -138,9 +129,7 @@ in - "minsize 1 1, title:^()$,class:^(steam)$" - "stayfocused, title:^()$,class:^(steam)$" - ]; -- windowrule = [ -- "noanim,waybar" -- ]; -+ windowrule = [ "noanim,waybar" ]; - monitor = [ - "DP-3,preferred,0x550,1" - "DP-2,preferred,1920x0,1" -@@ -160,20 +149,12 @@ in - kb_options = "compose:rctrl, caps:super, altwin:swap_alt_win"; - numlock_by_default = true; - }; -- binds = { -- scroll_event_delay = 1; -- }; -- xwayland = { -- force_zero_scaling = true; -- }; -- misc = { -- disable_hyprland_logo = 1; -- }; -+ binds = { scroll_event_delay = 1; }; -+ xwayland = { force_zero_scaling = true; }; -+ misc = { disable_hyprland_logo = 1; }; - decoration = { - rounding = 1; -- blur = { -- enabled = false; -- }; -+ blur = { enabled = false; }; - }; - animations = { - enabled = "yes"; -@@ -216,11 +197,14 @@ in - "$mainMod, F, togglefloating," - "$mainMod, SPACE, togglesplit, # dwindle" - "CONTROL_L ALT_L, L, exec, ${swaylock}" -- "$mainMod, C, exec, cliphist list | awk '{print $0, \"\0icon\x1fcom.github.davidmhewitt.clipped\"}' | ${rofi} -dmenu -display-columns 2 | cliphist decode | wl-copy" -+ '' -+ $mainMod, C, exec, cliphist list | awk '{print $0, "0iconx1fcom.github.davidmhewitt.clipped"}' | ${rofi} -dmenu -display-columns 2 | cliphist decode | wl-copy'' - "$mainMod, Y, exec, ${rofi-ykman}/bin/rofi-ykman" - "$mainMod, N, exec, ${./files/rofi-ssh.sh}" -  -- "$mainMod, Escape, exec, ${rofi} -show power-menu -modi power-menu:${./files/rofi-power-menu.sh}" -+ "$mainMod, Escape, exec, ${rofi} -show power-menu -modi power-menu:${ -+ ./files/rofi-power-menu.sh -+ }" -  - ",XF86MonBrightnessUp, exec, xbacklight -inc 10" - ",XF86MonBrightnessDown, exec, xbacklight -dec 10" -@@ -235,7 +219,7 @@ in - "$mainMod,XF86AudioMute, exec, ${playerctl} play-pause" - "$mainMod,XF86AudioRaiseVolume, exec, ${playerctl} next" - "$mainMod,XF86AudioLowerVolume, exec, ${playerctl} previous" -- ", Print, exec, grim -g \"$(slurp -d)\" - | wl-copy" -+ '', Print, exec, grim -g "$(slurp -d)" - | wl-copy'' -  - "$mainMod, H, exec, ${./files/vim-hypr-nav.sh} l" - "$mainMod, L, exec, ${./files/vim-hypr-nav.sh} r" -@@ -257,27 +241,16 @@ in - "$mainMod, T, split-workspace, empty" - "$mainMod, TAB, split-workspace, m+1" - "$mainMod SHIFT, TAB, split-workspace, m-1" -- ] -- ++ ( -+ ] ++ ( - # workspaces - # binds $mod + [shift +] {1..10} to [move to] workspace {1..10} -- builtins.concatLists (builtins.genList -- ( -- x: -- let -- ws = -- let -- c = (x + 1) / 10; -- in -- builtins.toString (x + 1 - (c * 10)); -- in -- [ -- "$mainMod, ${ws}, split-workspace, ${toString (x + 1)}" -- "$mainMod SHIFT, ${ws}, split-movetoworkspace, ${toString (x + 1)}" -- ] -- ) -- 10) -- ); -+ builtins.concatLists (builtins.genList (x: -+ let -+ ws = let c = (x + 1) / 10; in builtins.toString (x + 1 - (c * 10)); -+ in [ -+ "$mainMod, ${ws}, split-workspace, ${toString (x + 1)}" -+ "$mainMod SHIFT, ${ws}, split-movetoworkspace, ${toString (x + 1)}" -+ ]) 10)); - }; - }; - } -diff --git home/lf/default.nix home/lf/default.nix -index 804fe46..d16c150 100644 ---- home/lf/default.nix -+++ home/lf/default.nix -@@ -19,8 +19,8 @@ - "" = "quit"; - "" = "half-up"; - "." = "set hidden!"; -- "o" = "$nvim -c \"lua require(\\\"oil\\\").open(\\\"$PWD\\\")\""; -- "-" = "$nvim -c \"lua require(\\\"oil\\\").open(\\\"$PWD\\\")\""; -+ "o" = ''$nvim -c "lua require(\"oil\").open(\"$PWD\")"''; -+ "-" = ''$nvim -c "lua require(\"oil\").open(\"$PWD\")"''; - "" = "open"; - "" = ":jump "; - }; -@@ -32,8 +32,6 @@ - }} - ''; - }; -- cmdKeybindings = { -- q = "quit"; -- }; -+ cmdKeybindings = { q = "quit"; }; - }; - } -diff --git home/nixos.nix home/nixos.nix -index ee6fc52..bfb8d58 100644 ---- home/nixos.nix -+++ home/nixos.nix -@@ -2,25 +2,17 @@ -  - { - imports = [ -- (import ./common.nix { inherit inputs config pkgs; }) -- (import ./hyprland { inherit inputs pkgs; }) -- (import ./waybar { inherit inputs pkgs; }) -- ./rofi -+ (import ./common.nix { inherit inputs config pkgs; }) -+ (import ./hyprland { inherit inputs pkgs; }) -+ (import ./waybar { inherit inputs pkgs; }) -+ ./rofi - ]; -  - services.hyprpaper = { - settings = { -- wallpaper = [ -- "Virtual-1,${./hyprland/files/wallpaper.png}" -- ]; -+ wallpaper = [ "Virtual-1,${./hyprland/files/wallpaper.png}" ]; - }; - }; -  -- programs.waybar = { -- settings = { -- mainBar = { -- output = "Virtual-1"; -- }; -- }; -- }; -+ programs.waybar = { settings = { mainBar = { output = "Virtual-1"; }; }; }; - } -diff --git home/rofi/default.nix home/rofi/default.nix -index dd65147..a5931ab 100644 ---- home/rofi/default.nix -+++ home/rofi/default.nix -@@ -1,9 +1,7 @@ - { config, pkgs, ... }: -  - { -- home.packages = with pkgs; [ -- papirus-icon-theme -- ]; -+ home.packages = with pkgs; [ papirus-icon-theme ]; -  - programs.rofi = { - enable = true; -@@ -14,120 +12,115 @@ - kb-cancel = "Super_L+XF86Launch5,Escape"; - combi-hide-mode-prefix = true; - }; -- theme = -- let -- inherit (config.lib.formats.rasi) mkLiteral; -- in -- { -- "*" = { -- background = mkLiteral "#0f111a"; -- foreground = mkLiteral "#f1f1f1"; -- selected = mkLiteral "#0033a1"; -- selected-text = mkLiteral "#ffffff"; -- }; -- -- "window" = { -- transparency = "real"; -- background-color = mkLiteral "@background"; -- text-color = mkLiteral "@foreground"; -- width = mkLiteral "800px"; -- border-radius = mkLiteral "5px"; -- }; -- -- "textbox-prompt-colon" = { -- expand = mkLiteral "false"; -- background-color = mkLiteral "@background"; -- padding = mkLiteral "4px 0px 0px 6px"; -- }; -- -- "inputbar" = { -- children = mkLiteral "[ textbox-prompt-colon, entry ]"; -- background-color = mkLiteral "@background"; -- text-color = mkLiteral "@foreground"; -- expand = mkLiteral "false"; -- border = mkLiteral "0px 0px 0px 0px"; -- border-radius = mkLiteral "0px"; -- border-color = mkLiteral "@selected"; -- margin = mkLiteral "0px 0px 0px 0px"; -- padding = mkLiteral "0px 0px 4px 0px"; -- position = mkLiteral "center"; -- }; -- -- "entry" = { -- background-color = mkLiteral "@background"; -- text-color = mkLiteral "@foreground"; -- placeholder-color = mkLiteral "@foreground"; -- expand = mkLiteral "true"; -- horizontal-align = mkLiteral "0"; -- blink = mkLiteral "true"; -- padding = mkLiteral "4px 0px 0px 4px"; -- font = "SF Pro Rounded 25"; -- }; -- -- "case-indicator" = { -- background-color = mkLiteral "@background"; -- text-color = mkLiteral "@foreground"; -- spacing = mkLiteral "0"; -- }; -- -- "listview" = { -- background-color = mkLiteral "@background"; -- columns = mkLiteral "1"; -- spacing = mkLiteral "5px"; -- cycle = mkLiteral "true"; -- dynamic = mkLiteral "true"; -- layout = mkLiteral "vertical"; -- fixed-height = "true"; -- lines = mkLiteral "5"; -- }; -- -- "mainbox" = { -- background-color = mkLiteral "@background"; -- children = mkLiteral "[ inputbar, message, listview ]"; -- spacing = mkLiteral "20px"; -- padding = mkLiteral "20px 15px 15px 15px"; -- }; -- -- "message" = { -- children = mkLiteral "[ textbox ]"; -- border-radius = mkLiteral "5px"; -- }; -- -- "textbox" = { -- background-color = mkLiteral "@selected"; -- text-color = mkLiteral "@foreground"; -- padding = mkLiteral "20px 6px 20px 80px"; -- }; -- -- "element" = { -- background-color = mkLiteral "@background"; -- text-color = mkLiteral "@foreground"; -- orientation = mkLiteral "horizontal"; -- border-radius = mkLiteral "4px"; -- padding = mkLiteral "2px 2px 2px 2px"; -- }; -- -- "element-text, element-icon" = { -- background-color = mkLiteral "inherit"; -- text-color = mkLiteral "inherit"; -- }; -- -- "element-icon" = { -- size = mkLiteral "40px"; -- border = mkLiteral "10px"; -- }; -- -- "element-text" = { -- padding = mkLiteral "20px 0px 0px 10px"; -- }; -- -- "element selected" = { -- background-color = mkLiteral "@selected"; -- text-color = mkLiteral "@selected-text"; -- border = mkLiteral "0px"; -- border-radius = mkLiteral "3px"; -- border-color = mkLiteral "@selected"; -- }; -+ theme = let inherit (config.lib.formats.rasi) mkLiteral; -+ in { -+ "*" = { -+ background = mkLiteral "#0f111a"; -+ foreground = mkLiteral "#f1f1f1"; -+ selected = mkLiteral "#0033a1"; -+ selected-text = mkLiteral "#ffffff"; - }; -+ -+ "window" = { -+ transparency = "real"; -+ background-color = mkLiteral "@background"; -+ text-color = mkLiteral "@foreground"; -+ width = mkLiteral "800px"; -+ border-radius = mkLiteral "5px"; -+ }; -+ -+ "textbox-prompt-colon" = { -+ expand = mkLiteral "false"; -+ background-color = mkLiteral "@background"; -+ padding = mkLiteral "4px 0px 0px 6px"; -+ }; -+ -+ "inputbar" = { -+ children = mkLiteral "[ textbox-prompt-colon, entry ]"; -+ background-color = mkLiteral "@background"; -+ text-color = mkLiteral "@foreground"; -+ expand = mkLiteral "false"; -+ border = mkLiteral "0px 0px 0px 0px"; -+ border-radius = mkLiteral "0px"; -+ border-color = mkLiteral "@selected"; -+ margin = mkLiteral "0px 0px 0px 0px"; -+ padding = mkLiteral "0px 0px 4px 0px"; -+ position = mkLiteral "center"; -+ }; -+ -+ "entry" = { -+ background-color = mkLiteral "@background"; -+ text-color = mkLiteral "@foreground"; -+ placeholder-color = mkLiteral "@foreground"; -+ expand = mkLiteral "true"; -+ horizontal-align = mkLiteral "0"; -+ blink = mkLiteral "true"; -+ padding = mkLiteral "4px 0px 0px 4px"; -+ font = "SF Pro Rounded 25"; -+ }; -+ -+ "case-indicator" = { -+ background-color = mkLiteral "@background"; -+ text-color = mkLiteral "@foreground"; -+ spacing = mkLiteral "0"; -+ }; -+ -+ "listview" = { -+ background-color = mkLiteral "@background"; -+ columns = mkLiteral "1"; -+ spacing = mkLiteral "5px"; -+ cycle = mkLiteral "true"; -+ dynamic = mkLiteral "true"; -+ layout = mkLiteral "vertical"; -+ fixed-height = "true"; -+ lines = mkLiteral "5"; -+ }; -+ -+ "mainbox" = { -+ background-color = mkLiteral "@background"; -+ children = mkLiteral "[ inputbar, message, listview ]"; -+ spacing = mkLiteral "20px"; -+ padding = mkLiteral "20px 15px 15px 15px"; -+ }; -+ -+ "message" = { -+ children = mkLiteral "[ textbox ]"; -+ border-radius = mkLiteral "5px"; -+ }; -+ -+ "textbox" = { -+ background-color = mkLiteral "@selected"; -+ text-color = mkLiteral "@foreground"; -+ padding = mkLiteral "20px 6px 20px 80px"; -+ }; -+ -+ "element" = { -+ background-color = mkLiteral "@background"; -+ text-color = mkLiteral "@foreground"; -+ orientation = mkLiteral "horizontal"; -+ border-radius = mkLiteral "4px"; -+ padding = mkLiteral "2px 2px 2px 2px"; -+ }; -+ -+ "element-text, element-icon" = { -+ background-color = mkLiteral "inherit"; -+ text-color = mkLiteral "inherit"; -+ }; -+ -+ "element-icon" = { -+ size = mkLiteral "40px"; -+ border = mkLiteral "10px"; -+ }; -+ -+ "element-text" = { padding = mkLiteral "20px 0px 0px 10px"; }; -+ -+ "element selected" = { -+ background-color = mkLiteral "@selected"; -+ text-color = mkLiteral "@selected-text"; -+ border = mkLiteral "0px"; -+ border-radius = mkLiteral "3px"; -+ border-color = mkLiteral "@selected"; -+ }; -+ }; - }; - } -diff --git home/ssh/default.nix home/ssh/default.nix -index 4b8ebfb..4b800d1 100644 ---- home/ssh/default.nix -+++ home/ssh/default.nix -@@ -1,66 +1,66 @@ - { inputs, config, pkgs, ... }: -  - { -- programs.ssh = { -- enable = true; -- includes = ["gpulab_hosts_config"]; -- matchBlocks = { -- mallorea = { -- host = "mallorea"; -- hostname = "server.thomasave.be"; -- port = 22; -- user = "server"; -- forwardAgent = true; -- }; -- Mallorea = { -- host = "Mallorea"; -- hostname = "server.thomasave.be"; -- port = 22; -- user = "server"; -- forwardAgent = true; -- }; -- Kell = { -- host = "Kell"; -- hostname = "kell.thomasave.be"; -- port = 22; -- user = "user"; -- forwardAgent = true; -- }; -- kell = { -- host = "kell"; -- hostname = "kell.thomasave.be"; -- port = 22; -- user = "user"; -- forwardAgent = true; -- }; -- Riva = { -- host = "Riva"; -- hostname = "riva.thomasave.be"; -- port = 22; -- user = "user"; -- forwardAgent = true; -- }; -- riva = { -- host = "riva"; -- hostname = "riva.thomasave.be"; -- port = 22; -- user = "user"; -- forwardAgent = true; -- }; -- Vault = { -- host = "Vault"; -- hostname = "etienne.thomasave.be"; -- port = 22; -- user = "server"; -- forwardAgent = true; -- }; -- vault = { -- host = "vault"; -- hostname = "etienne.thomasave.be"; -- port = 22; -- user = "server"; -- forwardAgent = true; -- }; -- }; -+ programs.ssh = { -+ enable = true; -+ includes = [ "gpulab_hosts_config" ]; -+ matchBlocks = { -+ mallorea = { -+ host = "mallorea"; -+ hostname = "server.thomasave.be"; -+ port = 22; -+ user = "server"; -+ forwardAgent = true; -+ }; -+ Mallorea = { -+ host = "Mallorea"; -+ hostname = "server.thomasave.be"; -+ port = 22; -+ user = "server"; -+ forwardAgent = true; -+ }; -+ Kell = { -+ host = "Kell"; -+ hostname = "kell.thomasave.be"; -+ port = 22; -+ user = "user"; -+ forwardAgent = true; -+ }; -+ kell = { -+ host = "kell"; -+ hostname = "kell.thomasave.be"; -+ port = 22; -+ user = "user"; -+ forwardAgent = true; -+ }; -+ Riva = { -+ host = "Riva"; -+ hostname = "riva.thomasave.be"; -+ port = 22; -+ user = "user"; -+ forwardAgent = true; -+ }; -+ riva = { -+ host = "riva"; -+ hostname = "riva.thomasave.be"; -+ port = 22; -+ user = "user"; -+ forwardAgent = true; -+ }; -+ Vault = { -+ host = "Vault"; -+ hostname = "etienne.thomasave.be"; -+ port = 22; -+ user = "server"; -+ forwardAgent = true; -+ }; -+ vault = { -+ host = "vault"; -+ hostname = "etienne.thomasave.be"; -+ port = 22; -+ user = "server"; -+ forwardAgent = true; -+ }; - }; -+ }; - } -diff --git home/waybar/default.nix home/waybar/default.nix -index e509df7..fa1b436 100644 ---- home/waybar/default.nix -+++ home/waybar/default.nix -@@ -1,7 +1,4 @@ --{ inputs --, pkgs --, ... --}: -+{ inputs, pkgs, ... }: -  - { - programs.waybar = { -@@ -15,7 +12,18 @@ - # output = "DP-2"; # Fill in with host-specific config! - modules-left = [ "wlr/taskbar" ]; - modules-center = [ "hyprland/workspaces" ]; -- modules-right = [ "tray" "wireplumber" "cpu#cpu2" "cpu" "memory" "custom/updates" "temperature" "battery" "clock" "clock#clock2" ]; -+ modules-right = [ -+ "tray" -+ "wireplumber" -+ "cpu#cpu2" -+ "cpu" -+ "memory" -+ "custom/updates" -+ "temperature" -+ "battery" -+ "clock" -+ "clock#clock2" -+ ]; - "wlr/taskbar" = { - on-click = "activate"; - on-click-right = "close"; -@@ -34,12 +42,8 @@ - warp-on-scroll = false; - format = "{name}"; - }; -- "hyprland/window" = { -- max-length = 50; -- }; -- tray = { -- spacing = 10; -- }; -+ "hyprland/window" = { max-length = 50; }; -+ tray = { spacing = 10; }; - "clock#clock2" = { - timezone = "Europe/Brussels"; - format = "{:%H:%M:%S}"; -@@ -61,8 +65,10 @@ - interval = 5; - }; - "custom/updates" = { -- exec = "bash -c \"checkupdates | wc -l\""; -- on-click = "alacritty -e bash -c \"yay ; echo '\nDone, press any key to exit...' ; read\""; -+ exec = ''bash -c "checkupdates | wc -l"''; -+ on-click = '' -+ alacritty -e bash -c "yay ; echo ' -+ Done, press any key to exit...' ; read"''; - interval = 60; - format = "{}  "; - }; -diff --git home/zsh/default.nix home/zsh/default.nix -index d910b27..419344e 100644 ---- home/zsh/default.nix -+++ home/zsh/default.nix -@@ -17,7 +17,8 @@ - BROWSER = "firefox"; - GPULAB_CERT = "${config.xdg.dataHome}/gpulab.pem"; - GPULAB_DEV = "False"; -- GCC_COLORS = "error = '01;31:warning = '01;35:note = '01;36:caret = '01;32:locus = '01:quote = '01'"; -+ GCC_COLORS = -+ "error = '01;31:warning = '01;35:note = '01;36:caret = '01;32:locus = '01:quote = '01'"; - ARCHFLAGS = "-arch x86_64"; - TERM = "screen-256color"; - PYTHONDONTWRITEBYTECODE = "1"; -@@ -28,9 +29,7 @@ - enable = true; - enableZshIntegration = true; - }; -- programs.fzf = { -- enable = true; -- }; -+ programs.fzf = { enable = true; }; - programs.zsh = { - enable = true; - enableCompletion = true; -@@ -62,17 +61,22 @@ -  - ll = "ls -lhat"; - ls = "ls --color=auto"; -- lf = "cd \"\$(${pkgs.lf}/bin/lf -print-last-dir)\""; -+ lf = ''cd "$(${pkgs.lf}/bin/lf -print-last-dir)"''; -  - compress = "tar --use-compress-program = lbzip2 -cvf"; -- wget = "wget --hsts-file = \"$XDG_DATA_HOME/wget-hsts\""; -+ wget = ''wget --hsts-file = "$XDG_DATA_HOME/wget-hsts"''; - python = "python3"; -- v = "nvim -c ':lua require(\"oil\").open()' && cd \"\$(cat /tmp/oil_dir 2> /dev/null || pwd)\""; -- cpr = "rsync --archive -hh --partial --info = stats1,progress2 --modify-window = 1"; -- mvr = "rsync --archive -hh --partial --info = stats1,progress2 --modify-window = 1 --remove-source-files"; -- rg = "rg -i --colors 'match:bg:yellow' --colors 'match:fg:black' --colors 'match:style:nobold' --colors 'path:fg:green' --colors 'path:style:bold' --colors 'line:fg:yellow' --colors 'line:style:bold'"; -- ag = "rg -i --colors 'match:bg:yellow' --colors 'match:fg:black' --colors 'match:style:nobold' --colors 'path:fg:green' --colors 'path:style:bold' --colors 'line:fg:yellow' --colors 'line:style:bold'"; -- push = "git add -A && git commit -m \"`date`\" && git push"; -+ v = '' -+ nvim -c ':lua require("oil").open()' && cd "$(cat /tmp/oil_dir 2> /dev/null || pwd)"''; -+ cpr = -+ "rsync --archive -hh --partial --info = stats1,progress2 --modify-window = 1"; -+ mvr = -+ "rsync --archive -hh --partial --info = stats1,progress2 --modify-window = 1 --remove-source-files"; -+ rg = -+ "rg -i --colors 'match:bg:yellow' --colors 'match:fg:black' --colors 'match:style:nobold' --colors 'path:fg:green' --colors 'path:style:bold' --colors 'line:fg:yellow' --colors 'line:style:bold'"; -+ ag = -+ "rg -i --colors 'match:bg:yellow' --colors 'match:fg:black' --colors 'match:style:nobold' --colors 'path:fg:green' --colors 'path:style:bold' --colors 'line:fg:yellow' --colors 'line:style:bold'"; -+ push = ''git add -A && git commit -m "`date`" && git push''; - reset = "tput reset"; - }; - history.size = 10000000; -diff --git hosts/Kell/default.nix hosts/Kell/default.nix -index 3ff7f53..a4bcf8d 100644 ---- hosts/Kell/default.nix -+++ hosts/Kell/default.nix -@@ -1,64 +1,59 @@ --{inputs, pkgs, ...}: -+{ inputs, pkgs, ... }: -  - { - services.pcscd.enable = true; - services.udev.packages = [ pkgs.yubikey-personalization ]; -- services.logind.extraConfig = '' -+ services.logind.extraConfig = '' - # don’t shutdown when power button is short-pressed - HandlePowerKey=suspend - ''; -  -+ # Calendar -+ programs.dconf.enable = true; -+ services.gnome.evolution-data-server.enable = true; -+ services.gnome.gnome-online-accounts.enable = true; -+ services.gnome.gnome-keyring.enable = true; -+ environment.systemPackages = with pkgs; [ wireguard-tools ]; -+ # Add the server using gnome-online-accounts: -+ # nix-shell -p gnome.gnome-control-center --run "gnome-control-center" -+ # Just add the main webdav server and gnome-calendar will automatically pick up all available calendars. -  -- # Calendar -- programs.dconf.enable = true; -- services.gnome.evolution-data-server.enable = true; -- services.gnome.gnome-online-accounts.enable = true; -- services.gnome.gnome-keyring.enable = true; -- environment.systemPackages = with pkgs; [ -- wireguard-tools -- ]; -- # Add the server using gnome-online-accounts: -- # nix-shell -p gnome.gnome-control-center --run "gnome-control-center" -- # Just add the main webdav server and gnome-calendar will automatically pick up all available calendars. -- -- networking.wg-quick.interfaces = { -- wg0 = { -- address = [ "10.0.0.10/24" " 2a02:a03f:83ad:2101::2/128" ]; -- dns = [ "10.0.0.1" "fdc9:281f:04d7:9ee9::1" ]; -- privateKeyFile = "/home/user/.secrets/Wireguard/wg0.key"; -- listenPort = 51820; -- peers = [ -- { -- publicKey = "/9ppjm3yeD0duDvxrqgcHscHmftXko+0s2RbivNEy2c="; -- allowedIPs = [ "10.0.0.1/8" ]; -- endpoint = "192.168.1.1:13231"; -- } -- ]; -- }; -- }; -- fileSystems."/home/server" = { -- device = "192.168.1.2:/home/server"; -- fsType = "nfs"; -- options = [ "x-systemd.automount" "noauto" ]; -- }; -- fileSystems."/home/user/Workspace" = { -- device = "192.168.1.2:/home/server/Workspace"; -- fsType = "nfs"; -- options = [ "x-systemd.automount" "noauto" ]; -- }; -- fileSystems."/home/user/Documents" = { -- device = "192.168.1.2:/home/server/Storage/Thomas/Documents"; -- fsType = "nfs"; -- options = [ "x-systemd.automount" "noauto" ]; -- }; -- fileSystems."/home/user/Pictures" = { -- device = "192.168.1.2:/home/server/Storage/Thomas/Pictures"; -- fsType = "nfs"; -- options = [ "x-systemd.automount" "noauto" ]; -- }; -- fileSystems."/home/user/Videos" = { -- device = "192.168.1.2:/home/server/Storage/Thomas/Videos"; -- fsType = "nfs"; -- options = [ "x-systemd.automount" "noauto" ]; -- }; -+ networking.wg-quick.interfaces = { -+ wg0 = { -+ address = [ "10.0.0.10/24" " 2a02:a03f:83ad:2101::2/128" ]; -+ dns = [ "10.0.0.1" "fdc9:281f:04d7:9ee9::1" ]; -+ privateKeyFile = "/home/user/.secrets/Wireguard/wg0.key"; -+ listenPort = 51820; -+ peers = [{ -+ publicKey = "/9ppjm3yeD0duDvxrqgcHscHmftXko+0s2RbivNEy2c="; -+ allowedIPs = [ "10.0.0.1/8" ]; -+ endpoint = "192.168.1.1:13231"; -+ }]; -+ }; -+ }; -+ fileSystems."/home/server" = { -+ device = "192.168.1.2:/home/server"; -+ fsType = "nfs"; -+ options = [ "x-systemd.automount" "noauto" ]; -+ }; -+ fileSystems."/home/user/Workspace" = { -+ device = "192.168.1.2:/home/server/Workspace"; -+ fsType = "nfs"; -+ options = [ "x-systemd.automount" "noauto" ]; -+ }; -+ fileSystems."/home/user/Documents" = { -+ device = "192.168.1.2:/home/server/Storage/Thomas/Documents"; -+ fsType = "nfs"; -+ options = [ "x-systemd.automount" "noauto" ]; -+ }; -+ fileSystems."/home/user/Pictures" = { -+ device = "192.168.1.2:/home/server/Storage/Thomas/Pictures"; -+ fsType = "nfs"; -+ options = [ "x-systemd.automount" "noauto" ]; -+ }; -+ fileSystems."/home/user/Videos" = { -+ device = "192.168.1.2:/home/server/Storage/Thomas/Videos"; -+ fsType = "nfs"; -+ options = [ "x-systemd.automount" "noauto" ]; -+ }; - } -diff --git hosts/Kell/hardware-configuration.nix hosts/Kell/hardware-configuration.nix -index 90cea7a..2d2ca47 100644 ---- hosts/Kell/hardware-configuration.nix -+++ hosts/Kell/hardware-configuration.nix -@@ -4,25 +4,24 @@ - { config, lib, pkgs, modulesPath, ... }: -  - { -- imports = -- [ (modulesPath + "/installer/scan/not-detected.nix") -- ]; -+ imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; -  -- boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; -+ boot.initrd.availableKernelModules = -+ [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; -  -- fileSystems."/" = -- { device = "/dev/disk/by-uuid/feef066a-9abf-418d-a39e-603c406a72ff"; -- fsType = "ext4"; -- }; -+ fileSystems."/" = { -+ device = "/dev/disk/by-uuid/feef066a-9abf-418d-a39e-603c406a72ff"; -+ fsType = "ext4"; -+ }; -  -- fileSystems."/boot" = -- { device = "/dev/disk/by-uuid/0D9B-B227"; -- fsType = "vfat"; -- options = [ "fmask=0077" "dmask=0077" ]; -- }; -+ fileSystems."/boot" = { -+ device = "/dev/disk/by-uuid/0D9B-B227"; -+ fsType = "vfat"; -+ options = [ "fmask=0077" "dmask=0077" ]; -+ }; -  - swapDevices = [ ]; -  -@@ -35,5 +34,6 @@ - # networking.interfaces.wlp6s0.useDHCP = lib.mkDefault true; -  - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; -- hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -+ hardware.cpu.amd.updateMicrocode = -+ lib.mkDefault config.hardware.enableRedistributableFirmware; - } -diff --git hosts/nixos/default.nix hosts/nixos/default.nix -index 2c63c08..ffcd441 100644 ---- hosts/nixos/default.nix -+++ hosts/nixos/default.nix -@@ -1,2 +1 @@ --{ --} -+{ } -diff --git hosts/nixos/hardware-configuration.nix hosts/nixos/hardware-configuration.nix -index ca457b2..a88f30f 100644 ---- hosts/nixos/hardware-configuration.nix -+++ hosts/nixos/hardware-configuration.nix -@@ -4,28 +4,24 @@ - { config, lib, pkgs, modulesPath, ... }: -  - { -- imports = -- [ -- (modulesPath + "/profiles/qemu-guest.nix") -- ]; -+ imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; -  -- boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ]; -+ boot.initrd.availableKernelModules = -+ [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; -  -- fileSystems."/" = -- { -- device = "/dev/disk/by-uuid/563963bd-8e27-4c9c-a1d6-d204ea7c43ff"; -- fsType = "ext4"; -- }; -+ fileSystems."/" = { -+ device = "/dev/disk/by-uuid/563963bd-8e27-4c9c-a1d6-d204ea7c43ff"; -+ fsType = "ext4"; -+ }; -  -- fileSystems."/boot" = -- { -- device = "/dev/disk/by-uuid/9F3C-9F3B"; -- fsType = "vfat"; -- options = [ "fmask=0077" "dmask=0077" ]; -- }; -+ fileSystems."/boot" = { -+ device = "/dev/disk/by-uuid/9F3C-9F3B"; -+ fsType = "vfat"; -+ options = [ "fmask=0077" "dmask=0077" ]; -+ }; -  - swapDevices = [ ]; -  diff --git a/home/email/default.nix b/home/email/default.nix index 6140376..c9e89fd 100644 --- a/home/email/default.nix +++ b/home/email/default.nix @@ -5,12 +5,14 @@ ".mailcap".text = "text/html; w3m -dump -o -document_charset=%{charset} %s; nametemplate=%s.html; copiousoutput"; }; - home.packages = with pkgs; [ mailcap ]; + home.packages = with pkgs; [ + mailcap + ]; programs.notmuch = { enable = true; extraConfig = { - database = { path = "/home/user/.config/aerc/mail"; }; + database = { path = "/home/server/Storage/Thomas/Mail"; }; user = { name = "Thomas Avé"; primary_email = "email@thomasave.be"; @@ -152,7 +154,10 @@ }; }; extraConfig = { - general = { term = "xterm-256color"; }; + general = { + term = "xterm-256color"; + unsafe-accounts-conf = true; + }; ui = { border-char-vertical = "│"; border-char-horizontal = "─"; @@ -163,21 +168,60 @@ dirlist-right = "{{if .Unread}}{{humanReadable .Unread}}{{end}}"; dirlist-tree = true; }; - viewer = { pager = "nvim -u $XDG_CONFIG_HOME/nvim/aerc.lua"; }; + viewer = { pager = "${pkgs.neovim}/bin/nvim -u ${config.xdg.configHome}/nvim/aerc.lua"; }; compose = { address-book-cmd = ''notmuch address "%s"''; }; multipart-converters = { - "text/html" = "w3m -dump -o display_link_number=1 -T text/html"; + "text/html" = "${pkgs.w3m}/bin/w3m -dump -o display_link_number=1 -T text/html"; }; filters = { "text/plain" = "cat"; - "text/calendar" = "gnome-calendar"; + "text/calendar" = "${pkgs.gnome.gnome-calendar}/bin/gnome-calendar"; "message/delivery-status" = "cat"; "message/rfc822" = "cat"; - "text/html" = "w3m -dump -o display_link_number=1 -T text/html"; - "text/*" = ''bat -fP --file-name="$AERC_FILENAME"''; - "application/x-sh" = "bat -fP -l sh"; + "text/html" = "${pkgs.w3m}/bin/w3m -dump -o display_link_number=1 -T text/html"; + "application/x-sh" = "${pkgs.bat}/bin/bat -fP -l sh"; }; }; + extraAccounts = { + Zoho = { + outgoing = "smtps://email%40thomasave.be@smtp.zoho.com"; + outgoing-cred-cmd = "cat ~/.secrets/Aerc/Zoho.key"; + source = "maildir:///home/server/Storage/Thomas/Mail/email@thomasave.be/"; + check-mail-cmd = "ssh server@10.1 /home/server/Containers/mbsync/sync.sh"; + check-mail-timeout = "60s"; + default = "Inbox"; + from = "\"Thomas Avé\" "; + cache-headers = true; + }; + UAntwerpen = { + outgoing = "ssh server@192.168.1.2 /home/server/Containers/mbsync/send.sh"; + source = "maildir:///home/server/Storage/Thomas/Mail/Thomas.Ave@uantwerpen.be"; + check-mail-cmd = "ssh server@10.1 /home/server/Containers/mbsync/sync.sh"; + check-mail-timeout = "60s"; + default = "Inbox"; + from = "\"Thomas Avé\" "; + cache-headers = true; + }; + IMEC = { + outgoing = "smtp+insecure://ave57%40imec.be@smtp.thomasave.be:1025"; + outgoing-cred-cmd = "cat ~/.secrets/Aerc/IMEC.key"; + source = "maildir:///home/server/Storage/Thomas/Mail/Thomas.Ave@imec.be/"; + check-mail-cmd = "ssh server@10.1 /home/server/Containers/mbsync/sync.sh"; + check-mail-timeout = "60s"; + default = "Inbox"; + from = "\"Thomas Avé\" "; + cache-headers = true; + }; + NotMuch = { + source = "notmuch:///home/server/Storage/Thomas/Mail/"; + check-mail-cmd = "ssh server@10.1 /home/server/Containers/mbsync/sync.sh"; + check-mail-timeout = "60s"; + from = "\"Thomas Avé\" "; + query-map = "${config.xdg.configHome}/aerc/map.conf"; + default = "INBOX"; + cache-headers = true; + }; + }; }; home.file."${config.xdg.configHome}/aerc/map.conf".text = diff --git a/home/hyprland/default.nix b/home/hyprland/default.nix index ab282dc..db05237 100644 --- a/home/hyprland/default.nix +++ b/home/hyprland/default.nix @@ -66,6 +66,10 @@ in { home.packages = with pkgs; [ wl-clipboard ]; + services.cliphist = { + enable = true; + }; + services.hyprpaper = { enable = true; settings = { diff --git a/home/ssh/default.nix b/home/ssh/default.nix index 4b800d1..3551a9f 100644 --- a/home/ssh/default.nix +++ b/home/ssh/default.nix @@ -5,6 +5,10 @@ enable = true; includes = [ "gpulab_hosts_config" ]; matchBlocks = { + "*" = { + host = "*"; + identityFile = "~/.secrets/SSH/id_ed25519"; + }; mallorea = { host = "mallorea"; hostname = "server.thomasave.be";