mirror of https://git.jolheiser.com/dotnix.git
feat: split hm from system
Signed-off-by: jolheiser <john.olheiser@gmail.com>teamcity
parent
af5925da19
commit
6a5f3da703
68
flake.nix
68
flake.nix
|
@ -124,28 +124,22 @@
|
|||
})
|
||||
inputs.golink.overlay
|
||||
];
|
||||
pkgs = import nixpkgs {
|
||||
inherit overlays;
|
||||
system = "x86_64-linux";
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
userSecret = path: {
|
||||
file = path;
|
||||
owner = username;
|
||||
};
|
||||
commonConfig = {gui ? true}: {config, ...}: {
|
||||
commonConfig = {config, ...}: {
|
||||
config = {
|
||||
nixpkgs.overlays = overlays;
|
||||
# TODO Remove when apps are updated
|
||||
nixpkgs.config.permittedInsecurePackages = [
|
||||
"electron-25.9.0"
|
||||
];
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.${username}.imports =
|
||||
if gui
|
||||
then [./apps/gui]
|
||||
else [./apps/nogui];
|
||||
extraSpecialArgs = {
|
||||
flakePath = "/home/${username}/.config/nixpkgs";
|
||||
};
|
||||
};
|
||||
age.secrets = {
|
||||
ssh-config = userSecret ./secrets/shared/ssh-config.age;
|
||||
ssh-config-work = userSecret ./secrets/shared/ssh-config-work.age;
|
||||
|
@ -166,9 +160,8 @@
|
|||
};
|
||||
};
|
||||
workModules = [
|
||||
home-manager.nixosModules.home-manager
|
||||
agenix.nixosModules.default
|
||||
(commonConfig {})
|
||||
commonConfig
|
||||
({pkgs, ...}: {
|
||||
config = {
|
||||
nixpkgs.overlays = [
|
||||
|
@ -176,10 +169,6 @@
|
|||
py39 = import nixpkgs-py39 {inherit (pkgs) system;};
|
||||
})
|
||||
];
|
||||
home-manager.users.${username}.programs = {
|
||||
git.package = pkgs.gitSVN;
|
||||
firefox.profiles.default.bookmarks = [(import ./apps/gui/firefox/work.nix)];
|
||||
};
|
||||
age.secrets = {
|
||||
netrc = {
|
||||
file = ./secrets/work/netrc.age;
|
||||
|
@ -204,6 +193,40 @@
|
|||
username = "jolheiser";
|
||||
in
|
||||
{
|
||||
homeConfigurations = let
|
||||
commonModules = [
|
||||
{
|
||||
home = {
|
||||
inherit username;
|
||||
homeDirectory = "/home/${username}";
|
||||
};
|
||||
}
|
||||
./apps/gui
|
||||
];
|
||||
in {
|
||||
"jolheiser" = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
modules = commonModules;
|
||||
};
|
||||
"work" = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
modules =
|
||||
commonModules
|
||||
++ [
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
(_: _: {
|
||||
py39 = import nixpkgs-py39 {inherit (pkgs) system;};
|
||||
})
|
||||
];
|
||||
programs = {
|
||||
git.package = pkgs.gitSVN;
|
||||
firefox.profiles.default.bookmarks = [(import ./apps/gui/firefox/work.nix)];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
nixosConfigurations = {
|
||||
"chai" = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
|
@ -233,29 +256,26 @@
|
|||
"matcha" = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
home-manager.nixosModules.home-manager
|
||||
agenix.nixosModules.default
|
||||
./machines/matcha
|
||||
(commonConfig {})
|
||||
commonConfig
|
||||
];
|
||||
};
|
||||
"genmaicha" = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
home-manager.nixosModules.home-manager
|
||||
nixos-hardware.nixosModules.framework-13-7040-amd
|
||||
agenix.nixosModules.default
|
||||
./machines/genmaicha
|
||||
(commonConfig {})
|
||||
commonConfig
|
||||
];
|
||||
};
|
||||
"sencha" = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
home-manager.nixosModules.home-manager
|
||||
agenix.nixosModules.default
|
||||
./machines/sencha
|
||||
(commonConfig {})
|
||||
commonConfig
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
6
justfile
6
justfile
|
@ -11,6 +11,12 @@ rebuild *args:
|
|||
switch *args:
|
||||
@just rebuild switch {{args}}
|
||||
|
||||
hm:
|
||||
@home-manager switch --flake .
|
||||
|
||||
work:
|
||||
@home-manager switch --flake '.#work'
|
||||
|
||||
# Rebuild the current machine for next boot
|
||||
boot *args:
|
||||
@just rebuild boot {{args}}
|
||||
|
|
|
@ -1,31 +1,35 @@
|
|||
# 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, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix") ../common/cifs.nix
|
||||
];
|
||||
config,
|
||||
lib,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
../common/cifs.nix
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-amd"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/e2274508-9989-4f6b-9bcf-a0d246f292f9";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/e2274508-9989-4f6b-9bcf-a0d246f292f9";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."luks-1121cd25-7c4c-47ee-b04a-2cab0cd251ea".device = "/dev/disk/by-uuid/1121cd25-7c4c-47ee-b04a-2cab0cd251ea";
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/86CA-6DF6";
|
||||
fsType = "vfat";
|
||||
};
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/86CA-6DF6";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
swapDevices = [];
|
||||
|
||||
# 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
|
||||
|
|
Loading…
Reference in New Issue