From b5365e6ab3de6e1ba849f57d7cc76a70e303a4ad Mon Sep 17 00:00:00 2001 From: strix Date: Wed, 26 Aug 2026 03:57:23 +0200 Subject: [PATCH] revamp of structure --- common/default.nix | 19 --- common/home.nix | 67 --------- devices/p14s/default.nix | 55 ++++---- flake.nix | 145 +++++++++++--------- modules/boot/default.nix | 4 + modules/boot/plymouth.nix | 25 ++++ modules/boot/secure-boot.nix | 20 +++ modules/boot/systemd-boot.nix | 6 + modules/desktop/audio.nix | 11 ++ modules/desktop/default.nix | 7 + modules/desktop/gnome.nix | 12 ++ modules/desktop/printing.nix | 6 + modules/develop/default.nix | 9 ++ modules/home-manager/git.nix | 9 ++ modules/home-manager/gnome.nix | 15 ++ modules/home-manager/mold.nix | 8 ++ modules/home-manager/zsh.nix | 13 ++ modules/networking/default.nix | 5 + modules/nixos/default.nix | 35 +++++ modules/nixos/i18n.nix | 16 +++ modules/virtualisation/default.nix | 13 ++ styles/desktop.nix | 136 ------------------ styles/server.nix | 74 ---------- common/users.nix => users/strix/default.nix | 27 +++- users/strix/home.nix | 39 ++++++ {common => users/strix}/profile.png | Bin 26 files changed, 383 insertions(+), 393 deletions(-) delete mode 100644 common/default.nix delete mode 100644 common/home.nix create mode 100644 modules/boot/default.nix create mode 100644 modules/boot/plymouth.nix create mode 100644 modules/boot/secure-boot.nix create mode 100644 modules/boot/systemd-boot.nix create mode 100644 modules/desktop/audio.nix create mode 100644 modules/desktop/default.nix create mode 100644 modules/desktop/gnome.nix create mode 100644 modules/desktop/printing.nix create mode 100644 modules/develop/default.nix create mode 100644 modules/home-manager/git.nix create mode 100644 modules/home-manager/gnome.nix create mode 100644 modules/home-manager/mold.nix create mode 100644 modules/home-manager/zsh.nix create mode 100644 modules/networking/default.nix create mode 100644 modules/nixos/default.nix create mode 100644 modules/nixos/i18n.nix create mode 100644 modules/virtualisation/default.nix delete mode 100644 styles/desktop.nix delete mode 100644 styles/server.nix rename common/users.nix => users/strix/default.nix (68%) create mode 100644 users/strix/home.nix rename {common => users/strix}/profile.png (100%) diff --git a/common/default.nix b/common/default.nix deleted file mode 100644 index 3eb0653..0000000 --- a/common/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ ... }: -{ - imports = [ - ./users.nix - ]; - - programs.zsh.enable = true; - - nix = { - settings = { - auto-optimise-store = true; - allowed-users = [ "@wheel" ]; - experimental-features = [ - "nix-command" - "flakes" - ]; - }; - }; -} diff --git a/common/home.nix b/common/home.nix deleted file mode 100644 index b798f0d..0000000 --- a/common/home.nix +++ /dev/null @@ -1,67 +0,0 @@ -{ - pkgs, - ... -}: -{ - home.username = "strix"; - home.homeDirectory = "/home/strix"; - - home.packages = with pkgs; [ - ghostty - thunderbird - vscode - steam - bitwarden-desktop - signal-desktop - nixd - treefmt - tealdeer - claude-code - gnome-extension-manager - lmstudio - sccache - ]; - - home.file.".cargo/config.toml".text = '' - [target.'cfg(target_os = "linux")'] - linker = "${pkgs.clang}/bin/clang" - rustflags = ["-C", "link-arg=-fuse-ld=${pkgs.mold-wrapped}/bin/mold"] - ''; - - programs.zsh = { - enable = true; - oh-my-zsh = { - enable = true; - theme = "nanotech"; - }; - sessionVariables = { - SSH_AUTH_SOCK = "/home/strix/.bitwarden-ssh-agent.sock"; - }; - }; - - programs.git = { - enable = true; - settings = { - user.name = "strix"; - user.email = "strix@saluco.nl"; - init = { defaultBranch = "main"; }; - }; - }; - - dconf.settings = { - "org/gnome/settings-daemon/plugins/media-keys" = { - custom-keybindings = [ - "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" - ]; - }; - - "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = { - name = "terminal"; - command = "ghostty"; - binding = "Return"; - }; - }; - - programs.home-manager.enable = true; - home.stateVersion = "26.11"; -} diff --git a/devices/p14s/default.nix b/devices/p14s/default.nix index 89a0bf0..b65a0f7 100644 --- a/devices/p14s/default.nix +++ b/devices/p14s/default.nix @@ -1,45 +1,48 @@ { pkgs, lib, ... }: { imports = [ - ../../common + ../../modules/nixos + ../../modules/boot + ../../modules/ + ../../modules/boot/plymouth.nix + ../../modules/boot/secure-boot.nix ./hardware-configuration.nix ]; networking.hostName = "p14s"; - - # secure boot shit - environment.systemPackages = [ pkgs.sbctl ]; - boot.loader.systemd-boot.enable = lib.mkForce false; - - boot.lanzaboote = { - enable = true; - pkiBundle = "/var/lib/sbctl"; - autoGenerateKeys.enable = true; - autoEnrollKeys = { - enable = true; - autoReboot = true; - }; - configurationLimit = 5; - }; - # swap & hibernate + # swap & hibernate boot.initrd.luks.devices."luks-d51bdb99-5966-40d3-a920-83ea78a73699" = { device = "/dev/disk/by-uuid/d51bdb99-5966-40d3-a920-83ea78a73699"; crypttabExtraOpts = [ "tpm2-device=auto" ]; }; boot.kernelParams = [ "resume=/dev/disk/by-uuid/d51bdb99-5966-40d3-a920-83ea78a73699" ]; - # vm definition - virtualisation.vmVariant = { - virtualisation = { - memorySize = 8192; - cores = 6; - }; + boot.initrd.checkJournalingFS = false; - environment.systemPackages = with pkgs; [ - spice-vdagent + hardware.graphics = { + enable = true; + enable32Bit = true; + extraPackages = with pkgs; [ + mesa + vulkan-loader + vulkan-validation-layers + ]; + extraPackages32 = with pkgs.pkgsi686Linux; [ + mesa + vulkan-loader ]; }; + networking.firewall.allowedTCPPorts = [ + 22 + 8080 + ]; + networking.firewall.allowedUDPPorts = [ 8080 ]; + networking.firewall.trustedInterfaces = [ + "virbr0" + "docker0" + ]; + system.stateVersion = "26.05"; # yes -} \ No newline at end of file +} diff --git a/flake.nix b/flake.nix index fea3874..f6b703d 100644 --- a/flake.nix +++ b/flake.nix @@ -5,72 +5,89 @@ nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; + lanzaboote = { + url = "github:nix-community/lanzaboote/v1.1.0"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; - inputs.lanzaboote = { - url = "github:nix-community/lanzaboote/v1.1.0"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - outputs = inputs@{ self, nixpkgs, home-manager, ... }: - let - filter = with nixpkgs.lib; - folder: fileset.toList (fileset.fileFilter - (file: - hasSuffix "nix" - file.name) - folder); - nixosConfig = {modules ? []}: nixpkgs.lib.nixosSystem { - modules = modules; - specialArgs = { inherit inputs filter home-manager; }; - }; - in - { - nixosConfigurations.p14s = nixosConfig { - modules = [ - inputs.lanzaboote.nixosModules.lanzaboote - ./devices/p14s - ./styles/desktop.nix - ]; - }; - - apps.x86_64-linux.default = { - type = "app"; - program = toString (nixpkgs.legacyPackages.x86_64-linux.writeShellScript "rebuild" '' - exec sudo nixos-rebuild switch --flake . "$@" - ''); - }; - - apps.x86_64-linux.registerDevice = { - type = "app"; - program = toString (nixpkgs.legacyPackages.x86_64-linux.writeShellScript "rebuild" '' - [ -d ./devices/$HOST ] && exit 1 - mkdir -p ./devices/$HOST - nixos-generate-config --show-hardware-config > ./devices/$HOST/hardware-config.nix - cat>./devices/$HOST/default.nix< ./devices/$HOST/hardware-config.nix + cat>./devices/$HOST/default.nix<