Merge pull request #465 from genebean/flake-restructuring

Restructuring of my flake
This commit is contained in:
Gene Liverman 2024-12-08 19:31:44 -05:00 committed by GitHub
commit f36577cb9d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
96 changed files with 504 additions and 271 deletions

View file

@ -46,7 +46,7 @@ creation_rules:
key_groups: key_groups:
- age: - age:
- *user_mini_watcher - *user_mini_watcher
- path_regex: modules/system/common/secrets.yaml$ - path_regex: modules/hosts/common/secrets.yaml$
key_groups: key_groups:
- age: - age:
- *system_hetznix01 - *system_hetznix01

2
2024-12-rework/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
result/
result

View file

@ -0,0 +1,25 @@
{ inputs, pkgs, ... }: {
imports = [
./hardware-configuration.nix
];
system.stateVersion = "23.05";
boot = {
initrd.systemd = {
enable = true;
network.wait-online.enable = false; # Handled by NetworkManager
};
loader = {
efi.canTouchEfiVariables = true;
systemd-boot= {
enable = true;
consoleMode = "1";
};
};
};
environment.systemPackages = with pkgs; [
olm
];
}

183
2024-12-rework/flake.lock generated Normal file
View file

@ -0,0 +1,183 @@
{
"nodes": {
"config": {
"locked": {
"dir": "templates/config",
"lastModified": 1719931926,
"narHash": "sha256-B8j9lHX0LqWlZkm8JxZRN6919RQjJEu/1J1SR8pU/ww=",
"owner": "stackbuilders",
"repo": "nixpkgs-terraform",
"rev": "034287ee462c87dadc14a94d4b53a48ed66c7b3d",
"type": "github"
},
"original": {
"dir": "templates/config",
"owner": "stackbuilders",
"repo": "nixpkgs-terraform",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1722555600,
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1733050161,
"narHash": "sha256-lYnT+EYE47f5yY3KS/Kd4pJ6CO9fhCqumkYYkQ3TK20=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "62d536255879be574ebfe9b87c4ac194febf47c5",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.11",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1733120037,
"narHash": "sha256-En+gSoVJ3iQKPDU1FHrR6zIxSLXKjzKY+pnh9tt+Yts=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "f9f0d5c5380be0a599b1fb54641fa99af8281539",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-1_0": {
"locked": {
"lastModified": 1699291058,
"narHash": "sha256-5ggduoaAMPHUy4riL+OrlAZE14Kh7JWX4oLEs22ZqfU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "41de143fda10e33be0f47eab2bfe08a50f234267",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"rev": "41de143fda10e33be0f47eab2bfe08a50f234267",
"type": "github"
}
},
"nixpkgs-1_6": {
"locked": {
"lastModified": 1712757991,
"narHash": "sha256-kR7C7Fqt3JP40h0mzmSZeWI5pk1iwqj4CSeGjnUbVHc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d6b3ddd253c578a7ab98f8011e59990f21dc3932",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d6b3ddd253c578a7ab98f8011e59990f21dc3932",
"type": "github"
}
},
"nixpkgs-1_9": {
"locked": {
"lastModified": 1732617236,
"narHash": "sha256-PYkz6U0bSEaEB1al7O1XsqVNeSNS+s3NVclJw7YC43w=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "af51545ec9a44eadf3fe3547610a5cdd882bc34e",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"rev": "af51545ec9a44eadf3fe3547610a5cdd882bc34e",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1722555339,
"narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
}
},
"nixpkgs-terraform": {
"inputs": {
"config": "config",
"flake-parts": "flake-parts",
"nixpkgs-1_0": "nixpkgs-1_0",
"nixpkgs-1_6": "nixpkgs-1_6",
"nixpkgs-1_9": "nixpkgs-1_9",
"systems": "systems"
},
"locked": {
"lastModified": 1732844581,
"narHash": "sha256-BwHD1d6Bl5LL/HciTf+mQmBN3I3S6nYqcB+5BXVozNk=",
"owner": "stackbuilders",
"repo": "nixpkgs-terraform",
"rev": "b4db1b59d8f62cd37b6f9540e368d0e2627c4a2d",
"type": "github"
},
"original": {
"owner": "stackbuilders",
"repo": "nixpkgs-terraform",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"nixpkgs-terraform": "nixpkgs-terraform"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

30
2024-12-rework/flake.nix Normal file
View file

@ -0,0 +1,30 @@
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
home-manager = {
url = "github:nix-community/home-manager/release-24.11";
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs-terraform = {
url = "github:stackbuilders/nixpkgs-terraform";
# inputs.nixpkgs-1_6.follows = "nixpkgs";
# inputs.nixpkgs-1_9.follows = "nixpkgs-unstable";
};
};
outputs = inputs: {
nixosConfigurations = {
rainbow-planet = inputs.nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
system = "x86_64-linux";
modules = [
./configuration.nix
./nixpkgs-settings.nix
inputs.home-manager.nixosModules.home-manager
];
};
};
};
}

View file

@ -0,0 +1,44 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.kernelParams = [
"i915.enable_fbc=1"
"i915.enable_psr=2"
];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/eb9a2c7e-ae61-4d06-9464-49b98d576f7c";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/924D-E7A4";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/166d24ca-401c-492e-845d-bb1d0d6d7d86"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp58s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -0,0 +1,9 @@
{ inputs, ... }: {
nixpkgs = {
config = {
allowUnfree = true;
permittedInsecurePackages = [ "olm-3.2.16" "electron-27.3.11" ];
};
overlays = [ inputs.nixpkgs-terraform.overlays.default ];
};
}

View file

@ -18,6 +18,8 @@ This repo is a Nix flake that manages most of my setup on macOS and fully manage
## Flake structure ## Flake structure
> **RESTRUCTURING IN PROGRESS**: please note, I am restructuring this to remove a lot of complexity. This first pass is done and moves home manager bits into modules that have home in the name. Things that apply to everything under a part of the tree are in a corresponding `default.nix`
The Nix bits are driven by `flake.nix` which pulls in things under `modules/`. Both Intel and Apple Silicon macOS are suppoted, as is NixOS. The flake is structured like so: The Nix bits are driven by `flake.nix` which pulls in things under `modules/`. Both Intel and Apple Silicon macOS are suppoted, as is NixOS. The flake is structured like so:
- description: a human readable description of this flake - description: a human readable description of this flake
@ -26,14 +28,14 @@ The Nix bits are driven by `flake.nix` which pulls in things under `modules/`. B
- all the outputs from the inputs - all the outputs from the inputs
- a `let` ... `in` block that contains: - a `let` ... `in` block that contains:
- `darwinHostConfig` which takes a set of paramters as an attribute set and pulls in all the things needed to use Nix on a macOS host - `darwinHostConfig` which takes a set of paramters as an attribute set and pulls in all the things needed to use Nix on a macOS host
- `nixosHostConfig` which takes a set of parameters as an attribute set and pulls in all the things needed to configure a NixOS host - `mkNixosHost` which takes a set of parameters as an attribute set and pulls in all the things needed to configure a NixOS host
- `linuxHomeConfig` which takes a set of paramters as an attribute set and pulls in the things I manage on non-NixOS Linux hosts - `linuxHomeConfig` which takes a set of paramters as an attribute set and pulls in the things I manage on non-NixOS Linux hosts
- the body of outputs that contains: - the body of outputs that contains:
- `darwinConfigurations` contains is an attribute set that contains keys named for each macOS host set to the results of a call to `darwinHostConfig` with values for each of the required parameters - `darwinConfigurations` contains is an attribute set that contains keys named for each macOS host set to the results of a call to `darwinHostConfig` with values for each of the required parameters
- `nixosConfigurations` contains is an attribute set that contains keys named for each NixOS host set to the results of a call to `darwinHostConfig` with values for each of the required parameters - `nixosConfigurations` contains is an attribute set that contains keys named for each NixOS host set to the results of a call to `darwinHostConfig` with values for each of the required parameters
- `homeConfigurations` contains an entry for each username set to the results of a call to `linuxHomeConfig` with values for each of the required parameters - `homeConfigurations` contains an entry for each username set to the results of a call to `linuxHomeConfig` with values for each of the required parameters
The parameters on `darwinHostConfig` & `nixosHostConfig` are: The parameters on `darwinHostConfig` & `mkNixosHost` are:
- `system:` the system definition to use for nixpkgs - `system:` the system definition to use for nixpkgs
- `hostname:` the hostname of the machine being configured - `hostname:` the hostname of the machine being configured

View file

@ -4,7 +4,7 @@
darwinHostConfig = { system, hostname, username, additionalModules, additionalSpecialArgs }: darwinHostConfig = { system, hostname, username, additionalModules, additionalSpecialArgs }:
nix-darwin.lib.darwinSystem { }; nix-darwin.lib.darwinSystem { };
nixosHostConfig = { system, hostname, username, additionalModules, additionalSpecialArgs }: mkNixosHost = { system, hostname, username, additionalModules, additionalSpecialArgs }:
nixpkgs.lib.nixosSystem { }; nixpkgs.lib.nixosSystem { };
linuxHomeConfig = { system, hostname, username, additionalModules, additionalSpecialArgs }: linuxHomeConfig = { system, hostname, username, additionalModules, additionalSpecialArgs }:
@ -24,7 +24,7 @@
# NixOS hosts # NixOS hosts
nixosConfigurations = { nixosConfigurations = {
rainbow-planet = nixosHostConfig { rainbow-planet = mkNixosHost {
system = "x86_64-linux"; system = "x86_64-linux";
hostname = "rainbow-planet"; hostname = "rainbow-planet";
username = "gene"; username = "gene";

54
flake.lock generated
View file

@ -99,11 +99,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1732988076, "lastModified": 1733168902,
"narHash": "sha256-2uMaVAZn7fiyTUGhKgleuLYe5+EAAYB/diKxrM7g3as=", "narHash": "sha256-8dupm9GfK+BowGdQd7EHK5V61nneLfr9xR6sc5vtDi0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "2814a5224a47ca19e858e027f7e8bff74a8ea9f1", "rev": "785c1e02c7e465375df971949b8dcbde9ec362e5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -321,11 +321,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733050161, "lastModified": 1733572789,
"narHash": "sha256-lYnT+EYE47f5yY3KS/Kd4pJ6CO9fhCqumkYYkQ3TK20=", "narHash": "sha256-zjO6m5BqxXIyjrnUziAzk4+T4VleqjstNudSqWcpsHI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "62d536255879be574ebfe9b87c4ac194febf47c5", "rev": "c7ffc9727d115e433fd884a62dc164b587ff651d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -342,11 +342,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733105089, "lastModified": 1733570843,
"narHash": "sha256-Qs3YmoLYUJ8g4RkFj2rMrzrP91e4ShAioC9s+vG6ENM=", "narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "c6b65d946097baf3915dd51373251de98199280d", "rev": "a35b08d09efda83625bef267eb24347b446c80b8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -375,11 +375,11 @@
}, },
"nix-flatpak": { "nix-flatpak": {
"locked": { "locked": {
"lastModified": 1732867134, "lastModified": 1733345341,
"narHash": "sha256-YGtFJ/4SE37evvHX+OkS2klRdHlO7HvovaaxR/yWuWg=", "narHash": "sha256-8S58zrdpzGhax6tmn1i+R3AA0N9DJMu5FQI8JkA0NNU=",
"owner": "gmodena", "owner": "gmodena",
"repo": "nix-flatpak", "repo": "nix-flatpak",
"rev": "01ca2cbd9fb5c29d73fac327f5a9a2a1a222e218", "rev": "ebb0be49fc381112ff37726c6dd6df4df2ef5a1b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -444,11 +444,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1733095793, "lastModified": 1733558619,
"narHash": "sha256-woqkmcGxOleK1RyoZpXU3NaC4+epr2qYau2mVhVQFjY=", "narHash": "sha256-+hpXjj67bWfr8Z4JP32CPqvoqO5hkTNyRZLA5SB6Zmc=",
"owner": "lilyinstarlight", "owner": "lilyinstarlight",
"repo": "nixos-cosmic", "repo": "nixos-cosmic",
"rev": "e468c8b79dd55f1ce8803887d3593fb0016f1f81", "rev": "313f9b0d8cb2ec8bec0f4d5170c3fda41d49f58c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -459,11 +459,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1733139194, "lastModified": 1733481457,
"narHash": "sha256-PVQW9ovo0CJbhuhCsrhFJGGdD1euwUornspKpBIgdok=", "narHash": "sha256-IS3bxa4N1VMSh3/P6vhEAHQZecQ3oAlKCDvzCQSO5Is=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "c6c90887f84c02ce9ebf33b95ca79ef45007bf88", "rev": "e563803af3526852b6b1d77107a81908c66a9fcf",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -594,11 +594,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1733064805, "lastModified": 1733376361,
"narHash": "sha256-7NbtSLfZO0q7MXPl5hzA0sbVJt6pWxxtGWbaVUDDmjs=", "narHash": "sha256-aLJxoTDDSqB+/3orsulE6/qdlX6MzDLIITLZqdgMpqo=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "31d66ae40417bb13765b0ad75dd200400e98de84", "rev": "929116e316068c7318c54eb4d827f7d9756d5e9c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -639,11 +639,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1732981179, "lastModified": 1733412085,
"narHash": "sha256-F7thesZPvAMSwjRu0K8uFshTk3ZZSNAsXTIFvXBT+34=", "narHash": "sha256-FillH0qdWDt/nlO6ED7h4cmN+G9uXwGjwmCnHs0QVYM=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "62c435d93bf046a5396f3016472e8f7c8e2aed65", "rev": "4dc2fc4e62dbf62b84132fe526356fbac7b03541",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -744,11 +744,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1732933841, "lastModified": 1733452419,
"narHash": "sha256-dge02pUSe2QeC/B3PriA0R8eAX+EU3aDoXj9FcS3XDw=", "narHash": "sha256-eh2i2GtqdWVOP7yjiWtB8FMUWktCZ4vjo81n6g5mSiE=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "c65e91d4a33abc3bc4a892d3c5b5b378bad64ea1", "rev": "020701e6057992329a7cfafc6e3c5d5658bbcf79",
"type": "github" "type": "github"
}, },
"original": { "original": {

146
flake.nix
View file

@ -74,92 +74,19 @@
}; };
}; # end inputs }; # end inputs
outputs = inputs@{ outputs = inputs@{ self, ... }: let
self, nixpkgs, nixpkgs-unstable, compose2nix, disko, flox, genebean-omp-themes, # Functions that setup systems
home-manager, nix-darwin, nix-flatpak, nix-homebrew, nixos-cosmic, localLib = import ./lib { inherit inputs; };
nixos-hardware, nixpkgs-terraform, simple-nixos-mailserver, sops-nix, ...
}: let
# creates a macOS system config linuxHomeConfig = { system, hostname, username, additionalModules, additionalSpecialArgs }: inputs.home-manager.lib.homeManagerConfiguration {
darwinHostConfig = { system, hostname, username, additionalModules, additionalSpecialArgs }: nix-darwin.lib.darwinSystem { extraSpecialArgs = { inherit inputs hostname username;
pkgs = import nixpkgs { pkgs = import inputs.nixpkgs {
inherit system;
config = {
allowUnfree = true;
permittedInsecurePackages = [ "olm-3.2.16" "python-2.7.18.7" ];
};
overlays = [ nixpkgs-terraform.overlays.default ];
};
specialArgs = { inherit inputs hostname username; } // additionalSpecialArgs;
modules = [
nix-homebrew.darwinModules.nix-homebrew {
nix-homebrew = {
enable = true; # Install Homebrew under the default prefix
user = "${username}"; # User owning the Homebrew prefix
autoMigrate = true; # Automatically migrate existing Homebrew installations
};
}
home-manager.darwinModules.home-manager {
home-manager = {
extraSpecialArgs = { inherit genebean-omp-themes username; };
useGlobalPkgs = true;
useUserPackages = true;
users.${username}.imports = [
sops-nix.homeManagerModule # user-level secrets management
./modules/home-manager/hosts/${hostname}/${username}.nix
];
};
}
./modules/system/common/all-darwin.nix # system-wide stuff
./modules/hosts/darwin/${hostname} # host specific stuff
] ++ additionalModules; # end modules
}; # end darwinSystem
# creates a nixos system config
nixosHostConfig = { system, hostname, username, additionalModules, additionalSpecialArgs }: nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs compose2nix hostname username;
pkgs = import nixpkgs {
inherit system;
config = {
allowUnfree = true;
permittedInsecurePackages = [ "olm-3.2.16" "electron-27.3.11" ];
};
overlays = [ nixpkgs-terraform.overlays.default ];
};
} // additionalSpecialArgs;
modules = [
disko.nixosModules.disko
home-manager.nixosModules.home-manager {
home-manager = {
extraSpecialArgs = { inherit genebean-omp-themes hostname username; };
useGlobalPkgs = true;
useUserPackages = true;
users.${username}.imports = [
./modules/home-manager/hosts/${hostname}/${username}.nix
];
};
}
nix-flatpak.nixosModules.nix-flatpak
sops-nix.nixosModules.sops # system wide secrets management
./modules/system/common/all-nixos.nix # system-wide stuff
./modules/hosts/nixos/${hostname} # host specific stuff
] ++ additionalModules;
}; # end nixosSystem
linuxHomeConfig = { system, hostname, username, additionalModules, additionalSpecialArgs }: home-manager.lib.homeManagerConfiguration {
extraSpecialArgs = { inherit genebean-omp-themes hostname username;
pkgs = import nixpkgs {
inherit system; inherit system;
config = { config = {
allowUnfree = true; allowUnfree = true;
permittedInsecurePackages = [ "olm-3.2.16" "electron-21.4.4" ]; permittedInsecurePackages = [ "olm-3.2.16" "electron-21.4.4" ];
}; };
overlays = [ nixpkgs-terraform.overlays.default ]; overlays = [ inputs.nixpkgs-terraform.overlays.default ];
}; };
} // additionalSpecialArgs; } // additionalSpecialArgs;
modules = [ modules = [
@ -170,92 +97,67 @@
homeDirectory = "/home/${username}"; homeDirectory = "/home/${username}";
}; };
} }
sops-nix.homeManagerModules.sops inputs.sops-nix.homeManagerModules.sops
] ++ additionalModules; ] ++ additionalModules;
}; # end homeManagerConfiguration }; # end homeManagerConfiguration
in { in {
# Darwin (macOS) hosts # Darwin (macOS) hosts
darwinConfigurations = { darwinConfigurations = {
AirPuppet = darwinHostConfig { AirPuppet = localLib.mkDarwinHost {
system = "x86_64-darwin"; system = "x86_64-darwin";
hostname = "AirPuppet"; hostname = "AirPuppet";
username = "gene";
additionalModules = [];
additionalSpecialArgs = {};
}; };
Blue-Rock = darwinHostConfig { Blue-Rock = localLib.mkDarwinHost {
system = "x86_64-darwin"; system = "x86_64-darwin";
hostname = "Blue-Rock"; hostname = "Blue-Rock";
username = "gene.liverman"; username = "gene.liverman";
additionalModules = [];
additionalSpecialArgs = {};
}; };
mightymac = darwinHostConfig { mightymac = localLib.mkDarwinHost {
system = "aarch64-darwin";
hostname = "mightymac"; hostname = "mightymac";
username = "gene.liverman"; username = "gene.liverman";
additionalModules = [];
additionalSpecialArgs = {};
}; };
}; # end darwinConfigurations }; # end darwinConfigurations
# NixOS hosts # NixOS hosts
nixosConfigurations = { nixosConfigurations = {
bigboy = nixosHostConfig { bigboy = localLib.mkNixosHost {
system = "x86_64-linux";
hostname = "bigboy"; hostname = "bigboy";
username = "gene";
additionalModules = [ additionalModules = [
nixos-hardware.nixosModules.lenovo-thinkpad-p52 inputs.nixos-hardware.nixosModules.lenovo-thinkpad-p52
]; ];
additionalSpecialArgs = {};
}; };
hetznix01 = nixosHostConfig { hetznix01 = localLib.mkNixosHost {
system = "x86_64-linux";
hostname = "hetznix01"; hostname = "hetznix01";
username = "gene";
additionalModules = [ additionalModules = [
simple-nixos-mailserver.nixosModule inputs.simple-nixos-mailserver.nixosModule
]; ];
additionalSpecialArgs = {};
}; };
hetznix02 = nixosHostConfig { hetznix02 = localLib.mkNixosHost {
system = "aarch64-linux"; system = "aarch64-linux";
hostname = "hetznix02"; hostname = "hetznix02";
username = "gene";
additionalModules = [ additionalModules = [
# simple-nixos-mailserver.nixosModule # inputs.simple-nixos-mailserver.nixosModule
]; ];
additionalSpecialArgs = {};
}; };
nixnas1 = nixosHostConfig { nixnas1 = localLib.mkNixosHost {
system = "x86_64-linux";
hostname = "nixnas1"; hostname = "nixnas1";
username = "gene";
additionalModules = [ additionalModules = [
simple-nixos-mailserver.nixosModule inputs.simple-nixos-mailserver.nixosModule
]; ];
additionalSpecialArgs = {};
}; };
nixnuc = nixosHostConfig { nixnuc = localLib.mkNixosHost {
system = "x86_64-linux";
hostname = "nixnuc"; hostname = "nixnuc";
username = "gene";
additionalModules = [ additionalModules = [
simple-nixos-mailserver.nixosModule inputs.simple-nixos-mailserver.nixosModule
]; ];
additionalSpecialArgs = {};
}; };
rainbow-planet = nixosHostConfig { rainbow-planet = localLib.mkNixosHost {
system = "x86_64-linux";
hostname = "rainbow-planet"; hostname = "rainbow-planet";
username = "gene";
additionalModules = [ additionalModules = [
#nixos-cosmic.nixosModules.default inputs.nixos-cosmic.nixosModules.default
nixos-hardware.nixosModules.dell-xps-13-9360 inputs.nixos-hardware.nixosModules.dell-xps-13-9360
]; ];
additionalSpecialArgs = {};
}; };
}; # end nixosConfigurations }; # end nixosConfigurations

7
lib/default.nix Normal file
View file

@ -0,0 +1,7 @@
{ inputs, ... }: let
mkDarwinHost = import ./mkDarwinHost.nix { inherit inputs; };
mkNixosHost = import ./mkNixosHost.nix { inherit inputs; };
in {
inherit (mkDarwinHost) mkDarwinHost;
inherit (mkNixosHost) mkNixosHost;
}

41
lib/mkDarwinHost.nix Normal file
View file

@ -0,0 +1,41 @@
{ inputs, ... }: {
mkDarwinHost = {
system ? "aarch64-darwin",
hostname,
username ? "gene",
additionalModules ? [],
additionalSpecialArgs ? {}
}: inputs.nix-darwin.lib.darwinSystem {
inherit system;
specialArgs = { inherit inputs hostname username; } // additionalSpecialArgs;
modules = [
./nixpkgs-settings.nix
inputs.nix-homebrew.darwinModules.nix-homebrew {
nix-homebrew = {
enable = true; # Install Homebrew under the default prefix
user = "${username}"; # User owning the Homebrew prefix
autoMigrate = true; # Automatically migrate existing Homebrew installations
};
}
inputs.home-manager.darwinModules.home-manager {
home-manager = {
extraSpecialArgs = { inherit inputs username; };
useGlobalPkgs = true;
useUserPackages = true;
users.${username}.imports = [
inputs.sops-nix.homeManagerModule # user-level secrets management
../modules/hosts/common
../modules/hosts/common/all-gui.nix
../modules/hosts/darwin/home.nix
../modules/hosts/darwin/${hostname}/home-${username}.nix
];
};
}
../modules/hosts/darwin # system-wide stuff
../modules/hosts/darwin/${hostname} # host specific stuff
] ++ additionalModules; # end modules
}; # end darwinSystem
}

36
lib/mkNixosHost.nix Normal file
View file

@ -0,0 +1,36 @@
{ inputs, ... }: {
mkNixosHost = {
system ? "x86_64-linux",
hostname,
username ? "gene",
additionalModules ? [],
additionalSpecialArgs ? {}
}: inputs.nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit inputs hostname username; } // additionalSpecialArgs;
modules = [
./nixpkgs-settings.nix
inputs.disko.nixosModules.disko
inputs.home-manager.nixosModules.home-manager {
home-manager = {
extraSpecialArgs = { inherit inputs hostname username; };
useGlobalPkgs = true;
useUserPackages = true;
users.${username}.imports = [
../modules/hosts/common
../modules/hosts/common/linux/home.nix
../modules/hosts/nixos/${hostname}/home-${username}.nix
];
};
}
inputs.nix-flatpak.nixosModules.nix-flatpak
inputs.sops-nix.nixosModules.sops # system wide secrets management
../modules/hosts/nixos # system-wide stuff
../modules/hosts/nixos/${hostname} # host specific stuff
] ++ additionalModules;
};
}

9
lib/nixpkgs-settings.nix Normal file
View file

@ -0,0 +1,9 @@
{ inputs, ... }: {
nixpkgs = {
config = {
allowUnfree = true;
permittedInsecurePackages = [ "olm-3.2.16" "electron-27.3.11" ];
};
overlays = [ inputs.nixpkgs-terraform.overlays.default ];
};
}

View file

@ -1,7 +0,0 @@
{ pkgs, genebean-omp-themes, ... }: {
home.stateVersion = "24.05";
imports = [
../../common/all-cli.nix
../../common/all-linux.nix
];
}

View file

@ -1,7 +0,0 @@
{ pkgs, genebean-omp-themes, ... }: {
home.stateVersion = "24.05";
imports = [
../../common/all-cli.nix
../../common/all-linux.nix
];
}

View file

@ -1,8 +0,0 @@
{ pkgs, genebean-omp-themes, ... }: {
home.stateVersion = "23.11";
imports = [
../../common/all-cli.nix
../../common/all-linux.nix
../../common/hm-sops.nix
];
}

View file

@ -1,22 +0,0 @@
local_git_config: ENC[AES256_GCM,data:ECcO9NiS6Xo1AevHx/4tIGmhVHTG+WHIJI/RgYLe4DbptPJQFxFMBEk=,iv:xPvAfNywX7Ww3iwZDwQGTa88ZoJZqnIjdNDv4R0iAf0=,tag:bQ7rNxPniyP7SNW8Nz+1rw==,type:str]
local_private_env: ENC[AES256_GCM,data:Eg1IYFMJFysMavh1ssddpO3fzoyrKpA2dfSNSUUUsb/548IxqOktXIArR5bqbWVL//bUmnYI3N37jYRFiQSO,iv:50WBKSSy/Ea6l6kdggeoVCXhRG6lc4QxQBm1CoK2RTc=,tag:USADBcnceslCg3ueSikf+w==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1rpy8edlpgxuf6w75cvlqexuq2xe4c49h9t2ge6jhc3fzczp8vfasnjelwq
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBveXpUSFNmVXJFTy9ieWRv
a1Fpb2xic1lnYW5mZ2VaY1dyOXVUbkNGWnlNCkxKcUZVbm0rRUNydERUeC9ueloy
N3d0NGxyaTFCd1lMUmh2VklqbTZJalkKLS0tIC8xb1VnZU0xbmdObnZIUjRvU01k
bmtPb3hjTkxMaDJwSGQ0amF5ci85UXcK16fgU78H4SK8LKDyYCUgMdRE2ZTygzyE
spYcQ8w+PvQSxLUFJKW6DZdkSXLkNR0HkmVkuSmBKW0lVNWCfXbfvA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-01-28T00:59:32Z"
mac: ENC[AES256_GCM,data:Dcs3LkQtReunJGQl1aBy/fo022r0fwAdjDKRlgGsDtnWWEWZww6+n30yCkMjDrQCZm4NekDCYrEd0Dhq90nLON+vxykojxd/UTBEX86NIxUrGtO3faotP0/buVi59JgqQQqBDB14GpJttZGVr59LVlxieG1PhpmE9lFePpT8eR4=,iv:7KmeBD4Pk+guEW0nb9/W7olsF36bwfZtFkehO5u40po=,tag:PJmbdqiud4FHxbVcZv2png==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.8.1

View file

@ -1,7 +0,0 @@
{ ... }: {
home.stateVersion = "24.05";
imports = [
../../common/all-cli.nix
../../common/all-linux.nix
];
}

View file

@ -1,7 +0,0 @@
{ pkgs, genebean-omp-themes, ... }: {
home.stateVersion = "23.11";
imports = [
../../common/all-cli.nix
../../common/all-linux.nix
];
}

View file

@ -1,4 +1,4 @@
{ pkgs, genebean-omp-themes, ... }: { { pkgs, ... }: {
home.packages = with pkgs; [ home.packages = with pkgs; [
# nothing here right now # nothing here right now
]; ];

View file

@ -1,4 +1,4 @@
{ pkgs, genebean-omp-themes, ... }: let { inputs, pkgs, ... }: let
sqlite_lib = if builtins.elem pkgs.system [ sqlite_lib = if builtins.elem pkgs.system [
"aarch64-darwin" "aarch64-darwin"
"x86_64-darwin" "x86_64-darwin"
@ -159,7 +159,7 @@ in {
oh-my-posh = { oh-my-posh = {
enable = true; enable = true;
enableZshIntegration = true; enableZshIntegration = true;
settings = builtins.fromJSON (builtins.unsafeDiscardStringContext (builtins.readFile (genebean-omp-themes + "/beanbag.omp.json"))); settings = builtins.fromJSON (builtins.unsafeDiscardStringContext (builtins.readFile (inputs.genebean-omp-themes + "/beanbag.omp.json")));
}; };
ripgrep.enable = true; ripgrep.enable = true;
tmux = { tmux = {
@ -335,14 +335,14 @@ in {
home.file = { home.file = {
".config/nvim/lua/config" = { ".config/nvim/lua/config" = {
source = ../files/nvim/lua/config; source = ./files/nvim/lua/config;
recursive = true; recursive = true;
}; };
".config/nvim/lua/plugins" = { ".config/nvim/lua/plugins" = {
source = ../files/nvim/lua/plugins; source = ./files/nvim/lua/plugins;
recursive = true; recursive = true;
}; };
".config/powershell/Microsoft.PowerShell_profile.ps1".source = ../files/Microsoft.PowerShell_profile.ps1; ".config/powershell/Microsoft.PowerShell_profile.ps1".source = ./files/Microsoft.PowerShell_profile.ps1;
".config/powershell/Microsoft.VSCode_profile.ps1".source = ../files/Microsoft.PowerShell_profile.ps1; ".config/powershell/Microsoft.VSCode_profile.ps1".source = ./files/Microsoft.PowerShell_profile.ps1;
}; };
} }

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { { ... }: {
home.file = { home.file = {
".config/xfce4/terminal/accels.scm".source = ../../files/xfce4/terminal/accels.scm; ".config/xfce4/terminal/accels.scm".source = ../../files/xfce4/terminal/accels.scm;
}; };

View file

@ -6,6 +6,8 @@
programs = { programs = {
# Linux-specific aliases # Linux-specific aliases
zsh.shellAliases = { zsh.shellAliases = {
nixboot = "sudo nixos-rebuild boot --flake ~/repos/dots && echo 'Time to reboot!'";
nixdiff = "cd ~/repos/dots && nixos-rebuild build --flake . && nvd diff /run/current-system result";
nixup = "sudo nixos-rebuild switch --flake ~/repos/dots"; nixup = "sudo nixos-rebuild switch --flake ~/repos/dots";
uwgconnect = "nmcli dev wifi connect SecureWest password"; uwgconnect = "nmcli dev wifi connect SecureWest password";
uwgforget = "nmcli connection delete SecureWest"; uwgforget = "nmcli connection delete SecureWest";

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }: { { ... }: {
# Select internationalisation properties. # Select internationalisation properties.
i18n = { i18n = {
defaultLocale = "en_US.UTF-8"; defaultLocale = "en_US.UTF-8";

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { { ... }: {
system.stateVersion = 4; system.stateVersion = 4;
homebrew = { homebrew = {

View file

@ -1,10 +1,5 @@
{ pkgs, genebean-omp-themes, sops-nix, username, ... }: { { username, ... }: {
home.stateVersion = "23.11"; home.stateVersion = "23.11";
imports = [
../../common/all-cli.nix
../../common/all-gui.nix
../../common/all-darwin.nix
];
sops = { sops = {
defaultSopsFile = ./secrets.yaml; defaultSopsFile = ./secrets.yaml;

View file

@ -1,10 +1,5 @@
{ pkgs, genebean-omp-themes, sops-nix, username, ... }: { { username, ... }: {
home.stateVersion = "23.11"; home.stateVersion = "23.11";
imports = [
../../common/all-cli.nix
../../common/all-gui.nix
../../common/all-darwin.nix
];
programs = { programs = {
go = { go = {

View file

@ -17,6 +17,7 @@
oh-my-zsh.plugins = [ "macos" ]; oh-my-zsh.plugins = [ "macos" ];
shellAliases = { shellAliases = {
currentwifi = "networksetup -getairportnetwork en0 |cut -d ':' -f2- | cut -d ' ' -f2-"; currentwifi = "networksetup -getairportnetwork en0 |cut -d ':' -f2- | cut -d ' ' -f2-";
nixdiff = "cd ~/repos/dots && darwin-rebuild build --flake . && nvd diff /run/current-system result";
nixup = "darwin-rebuild switch --flake ~/repos/dots"; nixup = "darwin-rebuild switch --flake ~/repos/dots";
uwgconnect = "networksetup -setairportnetwork en0 SecureWest"; uwgconnect = "networksetup -setairportnetwork en0 SecureWest";
uwgforget = "networksetup -removepreferredwirelessnetwork en0 SecureWest"; uwgforget = "networksetup -removepreferredwirelessnetwork en0 SecureWest";

View file

@ -1,10 +1,5 @@
{ pkgs, genebean-omp-themes, sops-nix, username, ... }: { { username, ... }: {
home.stateVersion = "23.11"; home.stateVersion = "23.11";
imports = [
../../common/all-cli.nix
../../common/all-gui.nix
../../common/all-darwin.nix
];
programs = { programs = {
go = { go = {

View file

@ -1,7 +1,7 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: { config, lib, modulesPath, ... }:
{ {
imports = imports =

View file

@ -1,11 +1,9 @@
{ pkgs, ... }: { { ... }: {
home.stateVersion = "24.05"; home.stateVersion = "24.05";
imports = [ imports = [
../../common/all-cli.nix
../../common/all-gui.nix ../../common/all-gui.nix
../../common/all-linux.nix ../../common/linux/apps/tilix.nix
../../common/linux-apps/tilix.nix ../../common/linux/apps/xfce4-terminal.nix
../../common/linux-apps/xfce4-terminal.nix
]; ];
programs = { programs = {

View file

@ -1,6 +1,6 @@
{ config, hostname, pkgs, sops-nix, username, ... }: { { hostname, pkgs, username, ... }: {
imports = [ imports = [
./linux/internationalisation.nix ../common/linux/internationalisation.nix
]; ];
environment = { environment = {

View file

@ -1,7 +1,7 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: { lib, modulesPath, ... }:
{ {
imports = imports =

View file

@ -0,0 +1,3 @@
{ ... }: {
home.stateVersion = "24.05";
}

View file

@ -2,8 +2,8 @@
domain = "technicalissues.us"; domain = "technicalissues.us";
in { in {
imports = [ imports = [
../../../../system/common/linux/lets-encrypt.nix ../../../common/linux/lets-encrypt.nix
../../../../system/common/linux/restic.nix ../../../common/linux/restic.nix
./matrix-synapse.nix ./matrix-synapse.nix
./nginx.nix ./nginx.nix
]; ];

View file

@ -1,7 +1,7 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: { lib, modulesPath, ... }:
{ {
imports = imports =

View file

@ -0,0 +1,3 @@
{ ... }: {
home.stateVersion = "24.05";
}

View file

@ -118,6 +118,7 @@
description = "Gene Liverman"; description = "Gene Liverman";
extraGroups = [ "wheel" ]; extraGroups = [ "wheel" ];
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFvLaPTfG3r+bcbI6DV4l69UgJjnwmZNCQk79HXyf1Pt gene@rainbow-planet"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIp42X5DZ713+bgbOO+GXROufUFdxWo7NjJbGQ285x3N gene.liverman@ltnglobal.com" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIp42X5DZ713+bgbOO+GXROufUFdxWo7NjJbGQ285x3N gene.liverman@ltnglobal.com"
]; ];
}; };

View file

@ -1,4 +1,4 @@
{ lib, ... }: { ... }:
{ {
disko.devices = { disko.devices = {
disk = { disk = {

View file

@ -1,7 +1,7 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: { config, lib, modulesPath, ... }:
{ {
imports = imports =

View file

@ -0,0 +1,3 @@
{ ... }: {
home.stateVersion = "24.05";
}

View file

@ -1,4 +1,4 @@
{ compose2nix, config, pkgs, username, ... }: let { inputs, config, pkgs, username, ... }: let
http_port = 80; http_port = 80;
https_port = 443; https_port = 443;
home_domain = "home.technicalissues.us"; home_domain = "home.technicalissues.us";
@ -9,8 +9,8 @@ in {
./hardware-configuration.nix ./hardware-configuration.nix
./containers/audiobookshelf.nix ./containers/audiobookshelf.nix
./containers/psitransfer.nix ./containers/psitransfer.nix
../../../system/common/linux/lets-encrypt.nix ../../common/linux/lets-encrypt.nix
../../../system/common/linux/restic.nix ../../common/linux/restic.nix
]; ];
system.stateVersion = "23.11"; system.stateVersion = "23.11";
@ -29,7 +29,7 @@ in {
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
compose2nix.packages.${pkgs.system}.default inputs.compose2nix.packages.${pkgs.system}.default
docker-compose docker-compose
intel-gpu-tools intel-gpu-tools
jellyfin jellyfin
@ -481,6 +481,10 @@ in {
isNormalUser = true; isNormalUser = true;
description = "Gene Liverman"; description = "Gene Liverman";
extraGroups = [ "docker" "podman" "networkmanager" "wheel" ]; extraGroups = [ "docker" "podman" "networkmanager" "wheel" ];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFvLaPTfG3r+bcbI6DV4l69UgJjnwmZNCQk79HXyf1Pt gene@rainbow-planet"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIp42X5DZ713+bgbOO+GXROufUFdxWo7NjJbGQ285x3N gene.liverman@ltnglobal.com"
];
}; };
# Enable common container config files in /etc/containers # Enable common container config files in /etc/containers

View file

@ -1,7 +1,7 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: { config, lib, modulesPath, ... }:
{ {
imports = imports =

View file

@ -0,0 +1,3 @@
{ ... }: {
home.stateVersion = "23.11";
}

View file

@ -1,7 +1,7 @@
{ config, inputs, pkgs, username, ... }: { { inputs, config, pkgs, username, ... }: {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
../../../system/common/linux/flatpaks.nix ../../common/linux/flatpaks.nix
]; ];
system.stateVersion = "23.05"; system.stateVersion = "23.05";
@ -89,7 +89,7 @@
services = { services = {
boinc.enable = true; boinc.enable = true;
dbus.implementation = "broker"; dbus.implementation = "broker";
#desktopManager.cosmic.enable = true; desktopManager.cosmic.enable = true;
desktopManager.plasma6.enable = true; desktopManager.plasma6.enable = true;
displayManager.sddm = { displayManager.sddm = {
enable = true; enable = true;

View file

@ -1,7 +1,7 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: { config, lib, modulesPath, ... }:
{ {
imports = imports =

View file

@ -1,14 +1,12 @@
{ pkgs, genebean-omp-themes, ... }: { { pkgs, ... }: {
home.stateVersion = "23.11"; home.stateVersion = "23.11";
imports = [ imports = [
../../common/all-cli.nix
../../common/all-gui.nix ../../common/all-gui.nix
../../common/all-linux.nix ../../common/linux/apps/hexchat.nix
../../common/linux-apps/hexchat.nix ../../common/linux/apps/pidgin.nix
../../common/linux-apps/pidgin.nix ../../common/linux/apps/tilix.nix
../../common/linux-apps/tilix.nix ../../common/linux/apps/waybar.nix
../../common/linux-apps/waybar.nix ../../common/linux/apps/xfce4-terminal.nix
../../common/linux-apps/xfce4-terminal.nix
]; ];
home.file = { home.file = {