diff --git a/flake.nix b/flake.nix index aa98ca9..a9bc58e 100644 --- a/flake.nix +++ b/flake.nix @@ -58,110 +58,114 @@ }; }; - outputs = { - nixpkgs, - nixpkgs-unstable, - nixos-unstable, - home-manager, - emacs-overlay, - nur, - nix-index-database, - disko, - ... - } @ inputs: let - system = "x86_64-linux"; - unstable-os = import nixos-unstable pkgs-args; - unstable-os-overlay = _final: _prev: { - unstable-os = unstable-os.pkgs; - }; - unstable-pkgs = import nixpkgs-unstable pkgs-args; - unstable-pkgs-overlay = _final: _prev: { - unstable-pkgs = unstable-pkgs.pkgs; - }; - overlays = [ - unstable-os-overlay - unstable-pkgs-overlay - emacs-overlay.overlay - ]; - pkgs-args = { - system = system; - overlays = overlays; - config = { - allowUnfree = true; + outputs = + { nixpkgs + , nixpkgs-unstable + , nixos-unstable + , home-manager + , emacs-overlay + , nur + , nix-index-database + , disko + , ... + } @ inputs: + let + system = "x86_64-linux"; + unstable-os = import nixos-unstable pkgs-args; + unstable-os-overlay = _final: _prev: { + unstable-os = unstable-os.pkgs; + }; + unstable-pkgs = import nixpkgs-unstable pkgs-args; + unstable-pkgs-overlay = _final: _prev: { + unstable-pkgs = unstable-pkgs.pkgs; + }; + overlays = [ + unstable-os-overlay + unstable-pkgs-overlay + emacs-overlay.overlay + ]; + pkgs-args = { + inherit system; + inherit overlays; + config = { + allowUnfree = true; + }; + }; + pkgs = import nixpkgs pkgs-args; + hmModules = [ + nix-index-database.hmModules.nix-index + nur.hmModules.nur + inputs.plasma-manager.homeManagerModules.plasma-manager + ]; + osModules = [ + disko.nixosModules.disko + home-manager.nixosModules.home-manager + nix-index-database.nixosModules.nix-index + nur.nixosModules.nur + inputs.nix-ld.nixosModules.nix-ld + inputs.tuxedo-nixos.nixosModules.default + ]; + args = { + inherit inputs; + inherit system; + }; + in + { + formatter = { + ${system} = pkgs.nixpkgs-fmt; + }; + diskoConfigurations = { + nixos-pulse = import ./systems/nixos-pulse/disko.nix; + }; + homeConfigurations = { + "tester@tristan-desk-arch" = home-manager.lib.homeManagerConfiguration { + inherit pkgs; + + modules = + [ + ./users/tester.nix + { + _module = { inherit args; }; + targets.genericLinux.enable = true; + programs = { + bash.enable = true; + zsh.enable = true; + home-manager.enable = true; + }; + } + ] + ++ hmModules; + }; + "tristand" = home-manager.lib.homeManagerConfiguration { + inherit pkgs; + + modules = + [ + ./users/tristand.nix + { + _module = { inherit args; }; + xsession.enable = true; + } + ] + ++ hmModules; + }; + }; + nixosConfigurations = { + nixos-pulse = nixpkgs.lib.nixosSystem { + modules = + [ + ./systems/nixos-pulse + { + _module = { inherit args; }; + + nix.registry.nixpkgs.flake = nixpkgs; + nixpkgs.pkgs = pkgs; + + home-manager.sharedModules = hmModules; + } + ] + ++ osModules; + }; }; }; - pkgs = import nixpkgs pkgs-args; - hmModules = [ - nix-index-database.hmModules.nix-index - nur.hmModules.nur - inputs.plasma-manager.homeManagerModules.plasma-manager - ]; - osModules = [ - disko.nixosModules.disko - home-manager.nixosModules.home-manager - nix-index-database.nixosModules.nix-index - nur.nixosModules.nur - inputs.nix-ld.nixosModules.nix-ld - inputs.tuxedo-nixos.nixosModules.default - ]; - args = { - inherit inputs; - inherit system; - }; - in { - formatter = { - ${system} = pkgs.alejandra; - }; - diskoConfigurations = { - nixos-pulse = import ./systems/nixos-pulse/disko.nix; - }; - homeConfigurations = { - "tester@tristan-desk-arch" = home-manager.lib.homeManagerConfiguration { - inherit pkgs; - - modules = - [ - ./users/tester.nix - { - _module = {inherit args;}; - targets.genericLinux.enable = true; - programs.bash.enable = true; - programs.zsh.enable = true; - programs.home-manager.enable = true; - } - ] - ++ hmModules; - }; - "tristand" = home-manager.lib.homeManagerConfiguration { - inherit pkgs; - - modules = - [ - ./users/tristand.nix - { - _module = {inherit args;}; - xsession.enable = true; - } - ] - ++ hmModules; - }; - }; - nixosConfigurations = { - nixos-pulse = nixpkgs.lib.nixosSystem { - modules = - [ - ./systems/nixos-pulse - { - _module = {inherit args;}; - - nix.registry.nixpkgs.flake = nixpkgs; - nixpkgs.pkgs = pkgs; - - home-manager.sharedModules = hmModules; - } - ] - ++ osModules; - }; - }; - }; } diff --git a/home-mods/dev/default.nix b/home-mods/dev/default.nix index 89ca576..6a8f254 100644 --- a/home-mods/dev/default.nix +++ b/home-mods/dev/default.nix @@ -1,10 +1,10 @@ -{ - lib, - pkgs, - config, - inputs, - ... -}: let +{ lib +, pkgs +, config +, inputs +, ... +}: +let doomemacsSrc = builtins.fetchGit { url = "https://github.com/doomemacs/doomemacs"; ref = "master"; @@ -14,118 +14,123 @@ personalDoomConfSrc = builtins.fetchGit { url = "https://git.vlt81.de/tristan/doom"; ref = "main"; - rev = "e6d22f794c68a5f3ac56861e7e2ed6642cdef16a"; + rev = "c6558ab65f106628a3bdb890df935bb7965edd95"; }; -in { +in +{ xdg.enable = true; - programs.alacritty = { - enable = true; - settings = { - window.opacity = 0.88; - window.dimensions = { - lines = 40; - columns = 150; + programs = { + alacritty = { + enable = true; + settings = { + window.opacity = 0.88; + window.dimensions = { + lines = 40; + columns = 150; + }; }; }; - }; - programs.starship = { - enable = true; - package = pkgs.unstable-pkgs.starship; - }; - - programs.fish = { - enable = true; - package = pkgs.unstable-pkgs.fish; - - interactiveShellInit = '' - any-nix-shell fish --info-right | source - direnv hook fish | source - ''; - loginShellInit = '' - direnv hook fish | source - ''; - - functions = { - ec = "emacsclient $argv"; - ecc = "emacsclient -c $argv"; - ecr = "emacsclient -r $argv"; - ecrr = "emacsclient -r $argv"; + starship = { + enable = true; + package = pkgs.unstable-pkgs.starship; }; - }; - programs.git = { - enable = true; - userName = "Tristan Druyen"; - userEmail = "tristan@vault81.de"; - aliases = { - ci = "commit"; - co = "checkout"; - s = "status"; - }; - extraConfig = { - user.signingkey = "${config.home.homeDirectory}/.ssh/id_ed25519"; - commit.gpgsign = true; - gpg.format = "ssh"; - }; - package = pkgs.unstable-pkgs.git; - }; + fish = { + enable = true; + package = pkgs.unstable-pkgs.fish; - programs.nix-index = { - enable = true; - enableFishIntegration = true; - }; + interactiveShellInit = '' + any-nix-shell fish --info-right | source + direnv hook fish | source + ''; + loginShellInit = '' + direnv hook fish | source + ''; - programs.ssh = { - enable = true; - package = pkgs.unstable-pkgs.openssh; - - matchBlocks = { - "he3" = { - host = "he3"; - hostname = "he3.vault81.de"; - user = "root"; - identityFile = "~/.ssh/id_hetz_ed25519"; - }; - "he2" = { - host = "he2"; - hostname = "he2.vault81.de"; - user = "root"; - identityFile = "~/.ssh/id_v81_ed25519"; - }; - "desk-arch" = { - host = "desk-arch"; - hostname = "tristan-desk-arch"; - user = "tristand"; - identityFile = "~/.ssh/id_v81_ed25519"; + functions = { + ec = "emacsclient $argv"; + ecc = "emacsclient -c $argv"; + ecr = "emacsclient -r $argv"; + ecrr = "emacsclient -r $argv"; }; }; + + git = { + enable = true; + userName = "Tristan Druyen"; + userEmail = "tristan@vault81.de"; + aliases = { + ci = "commit"; + co = "checkout"; + s = "status"; + }; + extraConfig = { + user.signingkey = "${config.home.homeDirectory}/.ssh/id_ed25519"; + commit.gpgsign = true; + gpg.format = "ssh"; + }; + package = pkgs.unstable-pkgs.git; + }; + + nix-index = { + enable = true; + enableFishIntegration = true; + }; + + ssh = { + enable = true; + package = pkgs.unstable-pkgs.openssh; + + matchBlocks = { + "he3" = { + host = "he3"; + hostname = "he3.vault81.de"; + user = "root"; + identityFile = "~/.ssh/id_hetz_ed25519"; + }; + "he2" = { + host = "he2"; + hostname = "he2.vault81.de"; + user = "root"; + identityFile = "~/.ssh/id_v81_ed25519"; + }; + "desk-arch" = { + host = "desk-arch"; + hostname = "tristan-desk-arch"; + user = "tristand"; + identityFile = "~/.ssh/id_v81_ed25519"; + }; + }; + }; + + gpg = { + enable = true; + + package = pkgs.unstable-pkgs.gnupg; + }; }; - programs.gpg = { - enable = true; + services = { + gpg-agent = { + enable = true; - package = pkgs.unstable-pkgs.gnupg; - }; + enableExtraSocket = true; + enableSshSupport = true; + }; - services.gpg-agent = { - enable = true; + lorri.enable = true; - enableExtraSocket = true; - enableSshSupport = true; - }; - - services.lorri.enable = true; - - services.emacs = { - enable = true; - defaultEditor = true; - package = pkgs.unstable-pkgs.emacs-unstable-pgtk; + emacs = { + enable = true; + defaultEditor = true; + package = pkgs.unstable-pkgs.emacs-unstable-pgtk; + }; }; home = { - activation.installDoomEmacs = lib.hm.dag.entryAfter ["writeBoundary"] '' + activation.installDoomEmacs = lib.hm.dag.entryAfter [ "writeBoundary" ] '' mkdir ~/.config/emacs -p chmod u+rw -R ~/.config/emacs cp -r ${doomemacsSrc}/. "$HOME/.config/emacs" @@ -157,15 +162,17 @@ in { gcc imagemagick libtool + nil + nixpkgs-fmt pandoc python311Full rcm - (lib.mkIf (config.services.gpg-agent.enable) + (lib.mkIf config.services.gpg-agent.enable pinentry-emacs) - (ripgrep.override {withPCRE2 = true;}) - nil + (ripgrep.override { withPCRE2 = true; }) shellcheck shfmt + statix texlive.combined.scheme-full tokei wget diff --git a/home-mods/firefox/default.nix b/home-mods/firefox/default.nix index 211d941..b13ba2d 100644 --- a/home-mods/firefox/default.nix +++ b/home-mods/firefox/default.nix @@ -1,8 +1,7 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: { programs.firefox = { enable = true; @@ -67,7 +66,7 @@ search = { force = true; default = "DuckDuckGo"; - order = ["DuckDuckGo" "Nix Packages" "Nix Options" "NixOS Wiki"]; + order = [ "DuckDuckGo" "Nix Packages" "Nix Options" "NixOS Wiki" ]; engines = { "DuckDuckGo".metaData = { @@ -92,7 +91,7 @@ icon = "/run/current-system/sw/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - definedAliases = ["@np"]; + definedAliases = [ "@np" ]; }; "Nix Options" = { urls = [ @@ -113,7 +112,7 @@ icon = "/run/current-system/sw/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - definedAliases = ["@no"]; + definedAliases = [ "@no" ]; }; "Home-Manager Options" = { urls = [ @@ -130,7 +129,7 @@ icon = "/run/current-system/sw/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - definedAliases = ["@ho"]; + definedAliases = [ "@ho" ]; }; "NixOS Wiki" = { @@ -141,7 +140,7 @@ ]; iconUpdateURL = "https://nixos.wiki/favicon.png"; updateInterval = 24 * 60 * 60 * 1000; - definedAliases = ["@nw"]; + definedAliases = [ "@nw" ]; }; "Bing".metaData.hidden = true; @@ -165,7 +164,7 @@ } { name = "wikipedia"; - tags = ["wiki"]; + tags = [ "wiki" ]; keyword = "wiki"; url = "https://en.wikipedia.org/wiki/Special:Search?search=%s&go=Go"; } @@ -182,7 +181,7 @@ } { name = "wiki"; - tags = ["wiki" "nix"]; + tags = [ "wiki" "nix" ]; url = "https://nixos.wiki/"; } { diff --git a/home-mods/plasma/default.nix b/home-mods/plasma/default.nix index 0192ad8..b3e9a50 100644 --- a/home-mods/plasma/default.nix +++ b/home-mods/plasma/default.nix @@ -6,23 +6,23 @@ "kaccess"."Toggle Screen Reader On and Off" = "Meta+Alt+S"; "kcm_touchpad"."Disable Touchpad" = "Touchpad Off"; "kcm_touchpad"."Enable Touchpad" = "Touchpad On"; - "kcm_touchpad"."Toggle Touchpad" = ["Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku"]; + "kcm_touchpad"."Toggle Touchpad" = [ "Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku" ]; "kded5"."Show System Activity" = "Ctrl+Esc"; - "kded5"."display" = ["Display" "Meta+P"]; + "kded5"."display" = [ "Display" "Meta+P" ]; "kmix"."decrease_microphone_volume" = "Microphone Volume Down"; "kmix"."decrease_volume" = "Volume Down"; "kmix"."increase_microphone_volume" = "Microphone Volume Up"; "kmix"."increase_volume" = "Volume Up"; - "kmix"."mic_mute" = ["Microphone Mute" "Meta+Volume Mute"]; + "kmix"."mic_mute" = [ "Microphone Mute" "Meta+Volume Mute" ]; "kmix"."mute" = "Volume Mute"; - "ksmserver"."Lock Session" = ["Meta+L" "Screensaver"]; + "ksmserver"."Lock Session" = [ "Meta+L" "Screensaver" ]; "ksmserver"."Log Out" = "Ctrl+Alt+Del"; "kwin"."Activate Window Demanding Attention" = "Meta+Ctrl+A"; "kwin"."ClearLastMouseMark" = "Meta+Shift+F12"; "kwin"."ClearMouseMarks" = "Meta+Shift+F11"; "kwin"."Edit Tiles" = "Meta+T"; "kwin"."Expose" = "Ctrl+F9"; - "kwin"."ExposeAll" = ["Ctrl+F10" "Launch (C)"]; + "kwin"."ExposeAll" = [ "Ctrl+F10" "Launch (C)" ]; "kwin"."ExposeClass" = "Ctrl+F7"; "kwin"."Invert" = "Meta+Ctrl+I"; "kwin"."InvertWindow" = "Meta+Ctrl+U"; @@ -62,7 +62,7 @@ "kwin"."Window to Next Screen" = "Meta+Shift+Right"; "kwin"."Window to Previous Screen" = "Meta+Shift+Left"; "kwin"."view_actual_size" = "Meta+0"; - "kwin"."view_zoom_in" = ["Meta++" "Meta+="]; + "kwin"."view_zoom_in" = [ "Meta++" "Meta+=" ]; "kwin"."view_zoom_out" = "Meta+-"; "mediacontrol"."nextmedia" = "Media Next"; "mediacontrol"."pausemedia" = "Media Pause"; @@ -72,8 +72,8 @@ "org.kde.dolphin.desktop"."_launch" = "Meta+E"; "org.kde.konsole.desktop"."_launch" = "Ctrl+Alt+T"; "org.kde.krunner.desktop"."RunClipboard" = "Alt+Shift+F2"; - "org.kde.krunner.desktop"."_launch" = ["Alt+Space" "Alt+F2" "Search"]; - "org.kde.plasma.emojier.desktop"."_launch" = ["Meta+." "Meta+Ctrl+Alt+Shift+Space"]; + "org.kde.krunner.desktop"."_launch" = [ "Alt+Space" "Alt+F2" "Search" ]; + "org.kde.plasma.emojier.desktop"."_launch" = [ "Meta+." "Meta+Ctrl+Alt+Shift+Space" ]; "org.kde.spectacle.desktop"."ActiveWindowScreenShot" = "Meta+Print"; "org.kde.spectacle.desktop"."FullScreenScreenShot" = "Shift+Print"; "org.kde.spectacle.desktop"."RectangularRegionScreenShot" = "Meta+Shift+Print"; diff --git a/home-mods/virt/default.nix b/home-mods/virt/default.nix index dcb3804..98cb780 100644 --- a/home-mods/virt/default.nix +++ b/home-mods/virt/default.nix @@ -1,13 +1,12 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: { dconf.settings = { "org/virt-manager/virt-manager/connections" = { - autoconnect = ["qemu:///system"]; - uris = ["qemu:///system"]; + autoconnect = [ "qemu:///system" ]; + uris = [ "qemu:///system" ]; }; }; diff --git a/os-mods/base/default.nix b/os-mods/base/default.nix index 444f619..6ec771e 100644 --- a/os-mods/base/default.nix +++ b/os-mods/base/default.nix @@ -1,7 +1,6 @@ -{ - config, - pkgs, - ... +{ config +, pkgs +, ... }: { nix = { gc = { @@ -16,8 +15,6 @@ ''; }; - services.fwupd.enable = true; - # locale time.timeZone = "Europe/Berlin"; @@ -55,27 +52,29 @@ vim # fallback ed ]; - # nix convenience - services.envfs.enable = true; - programs.nix-ld.dev.enable = true; - programs.command-not-found.enable = false; - programs.nix-index-database.comma.enable = true; - ################### + programs = { + nix-ld.dev.enable = true; + command-not-found.enable = false; + nix-index-database.comma.enable = true; - programs.fish.enable = true; - programs.gnupg.agent = { - enable = true; - enableSSHSupport = true; + fish.enable = true; + gnupg.agent = { + enable = true; + enableSSHSupport = true; + }; }; - services.openssh.enable = true; + services = { + fwupd.enable = true; - # For SMB #### - services.gvfs.enable = true; - services.avahi.enable = true; - services.avahi.nssmdns = true; + envfs.enable = true; + + openssh.enable = true; + + gvfs.enable = true; + avahi.enable = true; + avahi.nssmdns = true; + }; - # netbios dns networking.firewall.extraCommands = ''iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns''; - ############## } diff --git a/os-mods/desktop/default.nix b/os-mods/desktop/default.nix index 99d4b17..ea691ec 100644 --- a/os-mods/desktop/default.nix +++ b/os-mods/desktop/default.nix @@ -1,8 +1,7 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: { programs.dconf.enable = true; @@ -23,53 +22,54 @@ mplus-outline-fonts.githubRelease dina-font proggyfonts - (nerdfonts.override {fonts = ["FiraCode" "DroidSansMono" "NerdFontsSymbolsOnly"];}) + (nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" "NerdFontsSymbolsOnly" ]; }) ]; - # Desktop env - services.xserver = { - enable = true; - layout = "us"; - xkbVariant = "alt-intl"; + services = { + xserver = { + enable = true; + layout = "us"; + xkbVariant = "alt-intl"; - desktopManager.plasma5.enable = true; + desktopManager.plasma5.enable = true; - displayManager = { - defaultSession = "plasmawayland"; + displayManager = { + defaultSession = "plasmawayland"; - sddm.enable = true; + sddm.enable = true; - # autoLogin = { - # enable = true; - # user = "tristand"; - # }; + # autoLogin = { + # enable = true; + # user = "tristand"; + # }; + }; + }; + pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + jack.enable = true; + }; + ######### + + ## printing + + printing = { + enable = true; + drivers = with pkgs; [ + gutenprint + gutenprintBin + hplipWithPlugin + brlaser + brgenml1cupswrapper + ]; }; }; - ######################### ## audio sound.enable = true; hardware.bluetooth.enable = true; - hardware.pulseaudio.enable = false; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - jack.enable = true; - }; - ######### - - ## printing - - services.printing.enable = true; - services.printing.drivers = with pkgs; [ - gutenprint - gutenprintBin - hplipWithPlugin - brlaser - brgenml1cupswrapper - ]; environment.systemPackages = with pkgs; [ cifs-utils diff --git a/os-mods/network/default.nix b/os-mods/network/default.nix index 4ce046b..6fa2234 100644 --- a/os-mods/network/default.nix +++ b/os-mods/network/default.nix @@ -1,8 +1,7 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: { networking.networkmanager.enable = true; networking.nameservers = [ @@ -12,22 +11,24 @@ "2a07:a8c1::#921984.dns.nextdns.io" ]; - services.resolved = { - enable = true; - dnssec = "true"; - domains = ["~."]; - fallbackDns = ["1.1.1.1#one.one.one.one" "1.0.0.1#one.one.one.one"]; - extraConfig = '' - DNSOverTLS=yes - ''; - }; + services = { + resolved = { + enable = true; + dnssec = "true"; + domains = [ "~." ]; + fallbackDns = [ "1.1.1.1#one.one.one.one" "1.0.0.1#one.one.one.one" ]; + extraConfig = '' + DNSOverTLS=yes + ''; + }; - services.tailscale = { - enable = true; - useRoutingFeatures = "both"; - }; + tailscale = { + enable = true; + useRoutingFeatures = "both"; + }; - services.mozillavpn = { - enable = true; + mozillavpn = { + enable = true; + }; }; } diff --git a/os-mods/virt/default.nix b/os-mods/virt/default.nix index f6ef888..d34b964 100644 --- a/os-mods/virt/default.nix +++ b/os-mods/virt/default.nix @@ -1,8 +1,7 @@ -{ - config, - lib, - pkgs, - ... +{ config +, lib +, pkgs +, ... }: { environment.systemPackages = with pkgs.unstable-os; [ virtiofsd @@ -29,7 +28,7 @@ qemu = { package = pkgs.qemu_kvm; ovmf.enable = true; - ovmf.packages = [pkgs.OVMFFull.fd]; + ovmf.packages = [ pkgs.OVMFFull.fd ]; swtpm.enable = true; runAsRoot = false; }; diff --git a/systems/nixos-pulse/default.nix b/systems/nixos-pulse/default.nix index d147fbd..ffd0dbe 100644 --- a/systems/nixos-pulse/default.nix +++ b/systems/nixos-pulse/default.nix @@ -1,11 +1,10 @@ -{ - config, - lib, - pkgs, - modulesPath, - system, - inputs, - ... +{ config +, lib +, pkgs +, modulesPath +, system +, inputs +, ... }: { imports = [ (modulesPath + "/installer/scan/not-detected.nix") @@ -31,17 +30,17 @@ }; initrd = { - availableKernelModules = ["amdgpu" "nvme" "xhci_pci" "uas" "usbhid" "usb_storage" "sd_mod"]; - kernelModules = []; + availableKernelModules = [ "amdgpu" "nvme" "xhci_pci" "uas" "usbhid" "usb_storage" "sd_mod" ]; + kernelModules = [ ]; systemd.enable = true; }; - kernelModules = ["kvm-amd" "amdgpu"]; - extraModulePackages = []; + kernelModules = [ "kvm-amd" "amdgpu" ]; + extraModulePackages = [ ]; }; services.btrfs.autoScrub.enable = true; - services.xserver.videoDrivers = ["amdgpu"]; + services.xserver.videoDrivers = [ "amdgpu" ]; networking = { hostName = "nixos-pulse"; @@ -70,11 +69,29 @@ }; }; - # This manually configures the automatically created network-adresses service to be more flexible - # regarding booting without the the device being available on boot - # It prevents slow timeouts & errors on boot while preserving Plug & Play ability - systemd.services.network-addresses-enp5s0f4u1u1c2.unitConfig.ConditionPathExists = "/sys/class/net/enp5s0f4u1u1c2"; - systemd.services.network-addresses-enp5s0f4u1u1c2.unitConfig.BindsTo = lib.mkForce null; + systemd = { + services = { + # This manually configures the automatically created network-adresses service to be more flexible + # regarding booting without the the device being available on boot + # It prevents slow timeouts & errors on boot while preserving Plug & Play ability + network-addresses-enp5s0f4u1u1c2.unitConfig = { + ConditionPathExists = "/sys/class/net/enp5s0f4u1u1c2"; + BindsTo = lib.mkForce null; + }; + + powertop.postStart = '' + HIDDEVICES=$(ls /sys/bus/usb/drivers/usbhid | grep -oE '^[0-9]+-[0-9\.]+' | sort -u) + for i in $HIDDEVICES; do + echo -n "Enabling " | cat - /sys/bus/usb/devices/$i/product + echo 'on' > /sys/bus/usb/devices/$i/power/control + done + ''; + }; + + tmpfiles.rules = [ + "L+ /opt/rocm/hip - - - - ${pkgs.hip}" + ]; + }; services.udev.extraRules = '' ACTION=="add", KERNEL=="enp5s0f4u1u1c2", TAG+="systemd", ENV{SYSTEMD_WANTS}="network-addresses-enp5s0f4u1u1c2.service" ACTION=="remove", KERNEL=="enp5s0f4u1u1c2", RUN+="${pkgs.systemd}/bin/systemctl stop network-addresses-enp5s0f4u1u1c2.service" @@ -82,13 +99,6 @@ # energy saving stuff powerManagement.powertop.enable = true; - systemd.services.powertop.postStart = '' - HIDDEVICES=$(ls /sys/bus/usb/drivers/usbhid | grep -oE '^[0-9]+-[0-9\.]+' | sort -u) - for i in $HIDDEVICES; do - echo -n "Enabling " | cat - /sys/bus/usb/devices/$i/product - echo 'on' > /sys/bus/usb/devices/$i/power/control - done - ''; hardware = { tuxedo-control-center = { @@ -107,9 +117,5 @@ cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; }; - systemd.tmpfiles.rules = [ - "L+ /opt/rocm/hip - - - - ${pkgs.hip}" - ]; - zramSwap.enable = true; } diff --git a/systems/nixos-pulse/disko.nix b/systems/nixos-pulse/disko.nix index b6cf22a..2fa0946 100644 --- a/systems/nixos-pulse/disko.nix +++ b/systems/nixos-pulse/disko.nix @@ -18,9 +18,9 @@ content = { type = "luks"; name = "crypted_0"; - extraOpenArgs = ["--allow-discards"]; + extraOpenArgs = [ "--allow-discards" ]; passwordFile = "/tmp/secret.key"; - additionalKeyFiles = []; + additionalKeyFiles = [ ]; # content is empty here as the btrfs partition will be created via extraArgs of the cryptroot_1 partition def }; }; @@ -29,9 +29,9 @@ content = { type = "luks"; name = "crypted_swap_0"; - extraOpenArgs = ["--allow-discards"]; + extraOpenArgs = [ "--allow-discards" ]; passwordFile = "/tmp/secret.key"; - additionalKeyFiles = []; + additionalKeyFiles = [ ]; content = { type = "swap"; }; @@ -65,9 +65,9 @@ content = { type = "luks"; name = "crypted_1"; - extraOpenArgs = ["--allow-discards"]; + extraOpenArgs = [ "--allow-discards" ]; passwordFile = "/tmp/secret.key"; - additionalKeyFiles = []; + additionalKeyFiles = [ ]; content = { # this partiton needs to be in the last parent part alphabetically to ensure the referenced /crypted_0 dev already exists type = "btrfs"; @@ -79,18 +79,18 @@ "/dev/mapper/crypted_0" ]; subvolumes = { - "/_active" = {}; + "/_active" = { }; "/_active/root" = { mountpoint = "/"; - mountOptions = ["compress=zstd" "noatime"]; + mountOptions = [ "compress=zstd" "noatime" ]; }; "/_active/home" = { mountpoint = "/home"; - mountOptions = ["compress=zstd" "relatime"]; + mountOptions = [ "compress=zstd" "relatime" ]; }; "/_active/nix" = { mountpoint = "/nix"; - mountOptions = ["compress=zstd" "noatime"]; + mountOptions = [ "compress=zstd" "noatime" ]; }; }; }; @@ -101,9 +101,9 @@ content = { type = "luks"; name = "crypted_swap_1"; - extraOpenArgs = ["--allow-discards"]; + extraOpenArgs = [ "--allow-discards" ]; passwordFile = "/tmp/secret.key"; - additionalKeyFiles = []; + additionalKeyFiles = [ ]; content = { type = "swap"; resumeDevice = true; diff --git a/users/default.nix b/users/default.nix index d729850..df92a76 100644 --- a/users/default.nix +++ b/users/default.nix @@ -1,14 +1,13 @@ -{ - pkgs, - config, - inputs, - system, - ... +{ pkgs +, config +, inputs +, system +, ... }: { users.users.tester = { isNormalUser = true; description = "Testa Test"; - extraGroups = ["docker" "networkmanager" "wheel" "libvirtd" "qemu-libvirtd"]; + extraGroups = [ "docker" "networkmanager" "wheel" "libvirtd" "qemu-libvirtd" ]; shell = pkgs.fish; home = "/home/tester"; hashedPassword = "$6$YJT50/Za3FSFQuNT$0orD1URwoURoRKO9sIAsUiIHxOtEOjmPXn5Mp7vAmIYlgVmI629qS7YPUInmztEtEorRpkSMbV3.fCy9NQhKX."; @@ -16,7 +15,7 @@ users.users.tristand = { isNormalUser = true; description = "Tristan Druyen"; - extraGroups = ["docker" "networkmanager" "wheel" "libvirtd" "qemu-libvirtd"]; + extraGroups = [ "docker" "networkmanager" "wheel" "libvirtd" "qemu-libvirtd" ]; shell = pkgs.fish; home = "/home/tristand"; hashedPassword = "$6$Wj.XY8JgH5EWuog4$HnbtPJXDEqKXFrzkPVEjih3PytcpBCrkfL7TAwkXd0IFced7kGMlZNliNsAqQ3XqfyUzAYiiKTIqoPVJEk.s.."; diff --git a/users/tester.nix b/users/tester.nix index 76c9696..5d58351 100644 --- a/users/tester.nix +++ b/users/tester.nix @@ -1,16 +1,17 @@ -{ - pkgs, - config, - inputs, - system, - ... -}: let +{ pkgs +, config +, inputs +, system +, ... +}: +let wallpaper = inputs.nix-wallpaper.packages.${pkgs.system}.default.override { logoSize = 24; preset = "gruvbox-dark-rainbow"; }; wallpaperPath = "${wallpaper}/share/wallpapers/nixos-wallpaper.png"; -in { +in +{ imports = [ ../home-mods/dev ../home-mods/firefox @@ -18,31 +19,32 @@ in { ../home-mods/virt ]; - home.file.".background".source = wallpaperPath; - home.username = "tester"; - home.homeDirectory = "/home/tester"; + home = { + file.".background".source = wallpaperPath; + username = "tester"; + homeDirectory = "/home/tester"; - home.packages = with pkgs.unstable-pkgs; [ - bitwarden - brave - btop - cavalier - freetube - imagemagick - inkscape - jellyfin-media-player - kate - neofetch - nextcloud-client - onlyoffice-bin - rust-motd - rustdesk - tutanota-desktop - signal-desktop - statix - thunderbird - zellij - ]; + packages = with pkgs.unstable-pkgs; [ + bitwarden + brave + btop + cavalier + freetube + imagemagick + inkscape + jellyfin-media-player + kate + neofetch + nextcloud-client + onlyoffice-bin + rust-motd + rustdesk + tutanota-desktop + signal-desktop + thunderbird + zellij + ]; - home.stateVersion = "23.05"; + stateVersion = "23.05"; + }; } diff --git a/users/tristand.nix b/users/tristand.nix index dba2336..f6e9485 100644 --- a/users/tristand.nix +++ b/users/tristand.nix @@ -1,16 +1,17 @@ -{ - pkgs, - config, - inputs, - system, - ... -}: let +{ pkgs +, config +, inputs +, system +, ... +}: +let wallpaper = inputs.nix-wallpaper.packages.${pkgs.system}.default.override { logoSize = 24; preset = "gruvbox-dark-rainbow"; }; wallpaperPath = "${wallpaper}/share/wallpapers/nixos-wallpaper.png"; -in { +in +{ imports = [ ../home-mods/dev ../home-mods/firefox @@ -18,31 +19,32 @@ in { ../home-mods/virt ]; - home.file.".background".source = wallpaperPath; - home.username = "tristand"; - home.homeDirectory = "/home/tristand"; + home = { + file.".background".source = wallpaperPath; + username = "tristand"; + homeDirectory = "/home/tristand"; - home.packages = with pkgs.unstable-pkgs; [ - bitwarden - brave - btop - cavalier - freetube - imagemagick - inkscape - jellyfin-media-player - kate - neofetch - nextcloud-client - onlyoffice-bin - rust-motd - rustdesk - tutanota-desktop - signal-desktop - statix - thunderbird - zellij - ]; + packages = with pkgs.unstable-pkgs; [ + bitwarden + brave + btop + cavalier + freetube + imagemagick + inkscape + jellyfin-media-player + kate + neofetch + nextcloud-client + onlyoffice-bin + rust-motd + rustdesk + tutanota-desktop + signal-desktop + thunderbird + zellij + ]; - home.stateVersion = "23.05"; + stateVersion = "23.05"; + }; }