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 = [ ];