Merge branch 'main' of src:greg/nixos-config
This commit is contained in:
+4
-4
@@ -29,8 +29,8 @@ default:
|
||||
- IMG:
|
||||
- img-bitwarden
|
||||
script:
|
||||
- podman login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
|
||||
- nix run "nixpkgs#podman" -- login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
|
||||
- nix build ".#${IMG}"
|
||||
- podman load -i result
|
||||
- podman tag "localhost/${IMG}:latest" "$CI_REGISTRY/greg/ci-images/${IMG}:latest"
|
||||
- podman push "$CI_REGISTRY/greg/ci-images/${IMG}:latest"
|
||||
- nix run "nixpkgs#podman" -- load -i result
|
||||
- nix run "nixpkgs#podman" -- tag "localhost/${IMG}:latest" "$CI_REGISTRY/greg/ci-images/${IMG}:latest"
|
||||
- nix run "nixpkgs#podman" -- push "$CI_REGISTRY/greg/ci-images/${IMG}:latest"
|
||||
|
||||
@@ -1,25 +1,21 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
imports = [ ../baseline.nix ];
|
||||
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
users."gregory.hellings" = import ../../home/home.nix;
|
||||
extraSpecialArgs = {
|
||||
gnome = false;
|
||||
gui = false;
|
||||
home = "/Users/gregory.hellings";
|
||||
};
|
||||
};
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
hms
|
||||
];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
dejavu_fonts
|
||||
hack-font
|
||||
nerdfonts
|
||||
nerd-fonts.hack
|
||||
];
|
||||
|
||||
nix = {
|
||||
gc.interval.Hour = 24;
|
||||
enable = true;
|
||||
gc.interval.Hour = 3;
|
||||
settings.auto-optimise-store = false; # Darwin bugs?
|
||||
};
|
||||
|
||||
@@ -34,10 +30,13 @@
|
||||
bash.enable = true;
|
||||
};
|
||||
|
||||
services.nix-daemon.enable = true;
|
||||
|
||||
system = {
|
||||
defaults = {
|
||||
CustomSystemPreferences = {
|
||||
".GlobalPreferences" = {
|
||||
"com.apple.swipescrolldirection" = 0;
|
||||
};
|
||||
};
|
||||
finder = {
|
||||
AppleShowAllExtensions = true;
|
||||
AppleShowAllFiles = true;
|
||||
@@ -50,11 +49,11 @@
|
||||
LaunchServices.LSQuarantine = false;
|
||||
menuExtraClock = {
|
||||
Show24Hour = true;
|
||||
ShowDate = true;
|
||||
ShowDate = 2;
|
||||
};
|
||||
screencapture = {
|
||||
include-date = true;
|
||||
location = "${config.home-manager.extraSpecialArgs.home}/Photos/Screeneries";
|
||||
location = "~/Photos/Screeneries";
|
||||
};
|
||||
trackpad = {
|
||||
Dragging = false;
|
||||
@@ -66,6 +65,4 @@
|
||||
};
|
||||
|
||||
time.timeZone = "America/Chicago";
|
||||
|
||||
users.users."gregory.hellings".home = "/Users/gregory.hellings";
|
||||
}
|
||||
+11
-7
@@ -14,22 +14,26 @@ let
|
||||
top.darwin.lib.darwinSystem {
|
||||
inherit system;
|
||||
specialArgs = {
|
||||
inherit nixpkgs;
|
||||
inherit nixpkgs overlays top;
|
||||
inherit (top) self;
|
||||
};
|
||||
modules = [
|
||||
{
|
||||
nixpkgs.overlays = overlays;
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit top;
|
||||
host = name;
|
||||
home-manager = {
|
||||
extraSpecialArgs = {
|
||||
inherit top;
|
||||
host = name;
|
||||
};
|
||||
};
|
||||
}
|
||||
hm.darwinModules.home-manager
|
||||
top.self.modules.darwinModule
|
||||
# Local changes
|
||||
../modules/nix-conf.nix
|
||||
./baseline.nix
|
||||
] ++ lib.optionals (builtins.pathExists ./hosts/${name}) [ ./hosts/${name} ];
|
||||
};
|
||||
in
|
||||
rec {
|
||||
la23002 = mac { name = "ivr"; };
|
||||
LA23002 = la23002;
|
||||
"MacBook-Pro" = mac { name = "ivr"; };
|
||||
}
|
||||
|
||||
@@ -1,28 +1,49 @@
|
||||
{ ... }:
|
||||
let
|
||||
username = "gregory.hellings";
|
||||
in
|
||||
{
|
||||
#environment.loginShell = lib.getExe pkgs.xonsh;
|
||||
homebrews = {
|
||||
greg = {
|
||||
nix.cache = false;
|
||||
};
|
||||
|
||||
homebrew = {
|
||||
enable = true;
|
||||
brews = [
|
||||
"bitwarden-cli"
|
||||
"direnv"
|
||||
{
|
||||
name = "libvirt";
|
||||
restart_service = true;
|
||||
}
|
||||
"mysql"
|
||||
"nushell"
|
||||
"poetry"
|
||||
"qemu"
|
||||
];
|
||||
casks = [
|
||||
"alt-tab"
|
||||
"bitwarden"
|
||||
"bruno"
|
||||
"chromium"
|
||||
"firefox"
|
||||
"microsoft-teams"
|
||||
"onlyoffice"
|
||||
"pgadmin4"
|
||||
"tabby"
|
||||
"twine"
|
||||
"vagrant"
|
||||
"visual-studio-code"
|
||||
"zed"
|
||||
"zoho-workdrive"
|
||||
];
|
||||
user = username;
|
||||
};
|
||||
|
||||
system.primaryUser = username;
|
||||
|
||||
users.users."${username}" = {
|
||||
name = username;
|
||||
home = "/Users/${username}";
|
||||
};
|
||||
}
|
||||
|
||||
Generated
+77
-127
@@ -31,11 +31,11 @@
|
||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747465275,
|
||||
"narHash": "sha256-Vpgp7uWpXUmEAirJjj6+et+JC9BZP9GjvS1usv5Wl3A=",
|
||||
"lastModified": 1748187031,
|
||||
"narHash": "sha256-F4zdOfeg0xjEnvFjlHvoMmdmh/FxK1qIsZyscnGDgA0=",
|
||||
"owner": "fort-nix",
|
||||
"repo": "nix-bitcoin",
|
||||
"rev": "1586a34e902706b6834b059c9bd6d80caffce84a",
|
||||
"rev": "a06d1d8118865af14a9187e7d1a7a141dd89af74",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -45,25 +45,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"crane": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1717383740,
|
||||
"narHash": "sha256-559HbY4uhNeoYvK3H6AMZAtVfmR3y8plXZ1x6ON/cWU=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "b65673fce97d277934488a451724be94cc62499a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ipetkov",
|
||||
"ref": "v0.17.3",
|
||||
"repo": "crane",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -93,11 +74,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747964474,
|
||||
"narHash": "sha256-i73u8NLiqewGy0iIriH4XizatLnAojXxzrBqHJEz49E=",
|
||||
"lastModified": 1749194393,
|
||||
"narHash": "sha256-vt6hM9DNywnXXuW1qPDLzECmbDcmxhh58wpb0EEQjAo=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "93562b65cf68612a544779c9f77536f9dff01096",
|
||||
"rev": "19346808c445f23b08652971be198b9df6c33edc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -167,11 +148,11 @@
|
||||
"flake-compat_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
"lastModified": 1747046372,
|
||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -185,11 +166,11 @@
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743550720,
|
||||
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
|
||||
"lastModified": 1749398372,
|
||||
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
|
||||
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -245,11 +226,11 @@
|
||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743550720,
|
||||
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
|
||||
"lastModified": 1748821116,
|
||||
"narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
|
||||
"rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -340,11 +321,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747955385,
|
||||
"narHash": "sha256-AKoBFaEGN02tGvBlkwVIDOGXouHvrTTfOUcvBDGxkxQ=",
|
||||
"lastModified": 1749526396,
|
||||
"narHash": "sha256-UL9F76abAk87llXOrcQRjhd5OaOclUd6MIltsqcUZmo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "a868570581f0dbdef7e33c8c9bb34b735dfcbacf",
|
||||
"rev": "427c96044f11a5da50faf6adaf38c9fa47e6d044",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -409,27 +390,27 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737371634,
|
||||
"narHash": "sha256-fTVAWzT1UMm1lT+YxHuVPtH+DATrhYfea3B0MxG/cGw=",
|
||||
"lastModified": 1748294338,
|
||||
"narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "ixx",
|
||||
"rev": "a1176e2a10ce745ff8f63e4af124ece8fe0b1648",
|
||||
"rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"ref": "v0.0.7",
|
||||
"ref": "v0.0.8",
|
||||
"repo": "ixx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1747900541,
|
||||
"narHash": "sha256-dn64Pg9xLETjblwZs9Euu/SsjW80pd6lr5qSiyLY1pg=",
|
||||
"lastModified": 1749195551,
|
||||
"narHash": "sha256-W5GKQHgunda/OP9sbKENBZhMBDNu2QahoIPwnsF6CeM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "11f2d9ea49c3e964315215d6baa73a8d42672f06",
|
||||
"rev": "4602f7e1d3f197b3cb540d5accf5669121629628",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -476,11 +457,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1746422338,
|
||||
"narHash": "sha256-NTtKOTLQv6dPfRe00OGSywg37A1FYqldS6xiNmqBUYc=",
|
||||
"lastModified": 1748037224,
|
||||
"narHash": "sha256-92vihpZr6dwEMV6g98M5kHZIttrWahb9iRPBm1atcPk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5b35d248e9206c1f3baf8de6a7683fee126364aa",
|
||||
"rev": "f09dede81861f3a83f7f06641ead34f02f37597f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -492,11 +473,11 @@
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1743296961,
|
||||
"narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=",
|
||||
"lastModified": 1748740939,
|
||||
"narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa",
|
||||
"rev": "656a64127e9d791a334452c6b6606d17539476e2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -507,11 +488,11 @@
|
||||
},
|
||||
"nixpkgs-lib_2": {
|
||||
"locked": {
|
||||
"lastModified": 1743296961,
|
||||
"narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=",
|
||||
"lastModified": 1748740939,
|
||||
"narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa",
|
||||
"rev": "656a64127e9d791a334452c6b6606d17539476e2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -522,26 +503,26 @@
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1732981179,
|
||||
"narHash": "sha256-F7thesZPvAMSwjRu0K8uFshTk3ZZSNAsXTIFvXBT+34=",
|
||||
"lastModified": 1748437600,
|
||||
"narHash": "sha256-hYKMs3ilp09anGO7xzfGs3JqEgUqFMnZ8GMAqI6/k04=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "62c435d93bf046a5396f3016472e8f7c8e2aed65",
|
||||
"rev": "7282cb574e0607e65224d33be8241eae7cfe0979",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-24.11",
|
||||
"ref": "nixos-25.05",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1746332716,
|
||||
"narHash": "sha256-VBmKSkmw9PYBCEGhBKzORjx+nwNZkPZyHcUHE21A/ws=",
|
||||
"lastModified": 1747958103,
|
||||
"narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6b1c028bce9c89e9824cde040d6986d428296055",
|
||||
"rev": "fe51d34885f7b5e3e7b59572796e1bcb427eccb1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -584,27 +565,11 @@
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1747885982,
|
||||
"narHash": "sha256-rSuxACdwx5Ndr2thpjqcG89fj8mSSp96CFoCt0yrdkY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a16efe5d2fc7455d7328a01f4692bfec152965b3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1747744144,
|
||||
"narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=",
|
||||
"lastModified": 1749285348,
|
||||
"narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f",
|
||||
"rev": "3e3afe5174c561dee0df6f2c2b2236990146329f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -614,23 +579,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1714656196,
|
||||
"narHash": "sha256-kjQkA98lMcsom6Gbhw8SYzmwrSo+2nruiTcTZp5jK7o=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "94035b482d181af0a0f8f77823a790b256b7c3cc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1744868846,
|
||||
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
|
||||
@@ -648,11 +597,11 @@
|
||||
},
|
||||
"nixunstable": {
|
||||
"locked": {
|
||||
"lastModified": 1747744144,
|
||||
"narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=",
|
||||
"lastModified": 1749285348,
|
||||
"narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f",
|
||||
"rev": "3e3afe5174c561dee0df6f2c2b2236990146329f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -665,16 +614,18 @@
|
||||
"nixvimunstable": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs": [
|
||||
"nixunstable"
|
||||
],
|
||||
"nuschtosSearch": "nuschtosSearch",
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747945641,
|
||||
"narHash": "sha256-Ts16c+kptbC3YDwPcB/NqXFVMHPNYKeFD7LkiawbWCU=",
|
||||
"lastModified": 1749496904,
|
||||
"narHash": "sha256-eNDMzrcDBOprdJs7DpMOJfCEcxribxDJP2OjozSC3Wo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "46fd0b184cbc5f1bdc5a8325cb973fc54e49ab68",
|
||||
"rev": "e0b3d8bc3a0ab5a7cc0792c7705e92f9c5c598f3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -687,15 +638,15 @@
|
||||
"nurpkgs": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_3",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747973449,
|
||||
"narHash": "sha256-e+DaBDI6xzd7KW+1u3jHhEzdF2Ajx5hP0bF2CFiS/F8=",
|
||||
"lastModified": 1749566933,
|
||||
"narHash": "sha256-rolwj4dzqfzFMG3VGEN7zKwGTBd0XAKcvOTTEOre3XY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "e4fcae418dde38789f3f59ea07ad289a4b9bcffe",
|
||||
"rev": "28532113cfab3f76c3a80f04ef38dca164d7b819",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -714,11 +665,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1745046075,
|
||||
"narHash": "sha256-8v4y6k16Ra/fiecb4DxhsoOGtzLKgKlS+9/XJ9z0T2I=",
|
||||
"lastModified": 1748298102,
|
||||
"narHash": "sha256-PP11GVwUt7F4ZZi5A5+99isuq39C59CKc5u5yVisU/U=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "066afe8643274470f4a294442aadd988356a478f",
|
||||
"rev": "f8a1c221afb8b4c642ed11ac5ee6746b0fe1d32f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -729,11 +680,11 @@
|
||||
},
|
||||
"patched-nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1746961062,
|
||||
"narHash": "sha256-7krN5Ii+jFQTIQL/KDQgjU7qRpbs9Ndgd0POccM+nb0=",
|
||||
"lastModified": 1748133736,
|
||||
"narHash": "sha256-8DCZF+SHXa7P9O9op2ET7qJtPomzQ49jy2vjzrHocg4=",
|
||||
"owner": "TomaSajt",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "40f15db812bdec49cd4e64ba46fc355b7e2af358",
|
||||
"rev": "76121e3e5db9bfcc4b604b4093abea7b1aa3109e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -745,18 +696,17 @@
|
||||
},
|
||||
"proxmox": {
|
||||
"inputs": {
|
||||
"crane": "crane",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable_2",
|
||||
"utils": "utils"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746882493,
|
||||
"narHash": "sha256-KbkIGJ6fe5F6AZRCzrNH3vNAnbbt+gf/PWrfMZ/B0As=",
|
||||
"lastModified": 1749385025,
|
||||
"narHash": "sha256-2w6+xAMdT9LgMxDHaIyddMTacBbF7RjaZFyGjjTDBhg=",
|
||||
"owner": "SaumonNet",
|
||||
"repo": "proxmox-nixos",
|
||||
"rev": "bda8df28b6656843e459f166b04bc291bc495a29",
|
||||
"rev": "48f39fbe2e8f90f9ac160dd4b6929f3ac06d8223",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -916,14 +866,14 @@
|
||||
"vsext": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747965670,
|
||||
"narHash": "sha256-O91kjsTL7xccgTQr2KITmGhhLTpX9zh+oRvvV8ScOrg=",
|
||||
"lastModified": 1749521131,
|
||||
"narHash": "sha256-ezZ15tLA2L+rmtn39dKLFW/UM2xlksC61V12blulpjE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-vscode-extensions",
|
||||
"rev": "d3099346fa5e9e33d0989a4e6afc3e8dedd25311",
|
||||
"rev": "299b2aa650d32310153746135b6a84a6c4de9c21",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -940,11 +890,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746453552,
|
||||
"narHash": "sha256-r66UGha+7KVHkI7ksrcMjnw/mm9Sg4l5bQlylxHwdGU=",
|
||||
"lastModified": 1749574455,
|
||||
"narHash": "sha256-fm2/8KPOYvvIAnNVtjDlTt/My00lIbZQ+LMrfQIWVzs=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NixOS-WSL",
|
||||
"rev": "be618645aa0adf461f778500172b6896d5ab2d01",
|
||||
"rev": "917af390377c573932d84b5e31dd9f2c1b5c0f09",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -962,11 +912,11 @@
|
||||
"patched-nixpkgs": "patched-nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747467107,
|
||||
"narHash": "sha256-IIewGkpjoV6zSJNgxsL7p+wij/Q7RpDAlf0OVggK/ME=",
|
||||
"lastModified": 1749228292,
|
||||
"narHash": "sha256-cavxEaS1a1jQqkQsGVUiu3Hlex3wqUfFB1LE2TXT0vA=",
|
||||
"owner": "HPsaucii",
|
||||
"repo": "zed-editor-flake",
|
||||
"rev": "50b08c64d1abed4318b8289ec3f62b64b4f34231",
|
||||
"rev": "db6c84831c7bedcf63dcecf1e0b59cddea302c62",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -39,7 +39,10 @@
|
||||
url = "github:nix-community/nixos-generators";
|
||||
inputs.nixpkgs.follows = "nixunstable";
|
||||
};
|
||||
nixvimunstable.url = "github:nix-community/nixvim/main";
|
||||
nixvimunstable = {
|
||||
url = "github:nix-community/nixvim/main";
|
||||
inputs.nixpkgs.follows = "nixunstable";
|
||||
};
|
||||
nixunstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
nurpkgs.url = "github:nix-community/NUR";
|
||||
vsext.url = "github:nix-community/nix-vscode-extensions";
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
./direnv.nix
|
||||
./git.nix
|
||||
./ssh.nix
|
||||
./vim.nix
|
||||
./vim
|
||||
./xonsh.nix
|
||||
];
|
||||
}
|
||||
@@ -1,15 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
vim-xonsh = pkgs.vimUtils.buildVimPlugin {
|
||||
name = "vim-xonsh";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "meatballs";
|
||||
repo = "vim-xonsh";
|
||||
rev = "929f35e";
|
||||
hash = "sha256-ugHLu2Z9bTtQsIp4FQPKxgjVe9oZNjfQYrP+aHu+/uU=";
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
colorschemes.gruvbox.enable = true;
|
||||
globals = {
|
||||
@@ -162,7 +151,6 @@ in
|
||||
|
||||
context-vim
|
||||
vim-indent-guides
|
||||
vim-xonsh
|
||||
];
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
@@ -10,7 +10,7 @@
|
||||
fonts.fontconfig.enable = true;
|
||||
home.packages = with pkgs.nerd-fonts; [ hack ];
|
||||
|
||||
programs.nixvim = (import ./vim/config.nix { inherit config pkgs lib; }) // {
|
||||
programs.nixvim = (import ./config.nix { inherit config pkgs lib; }) // {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
@@ -3,7 +3,6 @@
|
||||
{
|
||||
# Programs that are used in the settings file
|
||||
home.packages = with pkgs; [
|
||||
bitwarden-cli
|
||||
copier
|
||||
git
|
||||
gnused
|
||||
@@ -52,7 +52,7 @@ def _rebuild(args):
|
||||
system = uname()
|
||||
hostname = system.nodename
|
||||
if system.sysname == 'Darwin':
|
||||
darwin-rebuild --flake ~/.config/darwin switch
|
||||
sudo darwin-rebuild switch
|
||||
else:
|
||||
with TemporaryDirectory() as td:
|
||||
pushd @(td)
|
||||
+22
-22
@@ -1,27 +1,26 @@
|
||||
{ top, overlays, ... }:
|
||||
|
||||
rec {
|
||||
greghellings =
|
||||
{
|
||||
overlays,
|
||||
top,
|
||||
...
|
||||
}:
|
||||
let
|
||||
pkgs =
|
||||
system:
|
||||
(import top.nixunstable {
|
||||
inherit system overlays;
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = _: true;
|
||||
};
|
||||
});
|
||||
ivr =
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
pkgs = (
|
||||
import top.nixunstable {
|
||||
inherit system overlays;
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = _: true;
|
||||
};
|
||||
}
|
||||
);
|
||||
system = "aarch64-darwin";
|
||||
in
|
||||
top.hmunstable.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
pkgs = pkgs system;
|
||||
modules = [
|
||||
(import ../modules/nix-conf.nix {
|
||||
inherit pkgs;
|
||||
inherit (pkgs) lib;
|
||||
cache = false;
|
||||
})
|
||||
../modules/nix-conf.nix
|
||||
./home.nix
|
||||
];
|
||||
extraSpecialArgs = {
|
||||
@@ -33,6 +32,7 @@ rec {
|
||||
username = "gregory.hellings";
|
||||
};
|
||||
};
|
||||
|
||||
"gregory.hellings" = greghellings;
|
||||
in
|
||||
{
|
||||
"MacBook-Pro.local" = ivr;
|
||||
}
|
||||
|
||||
+13
-12
@@ -2,27 +2,20 @@
|
||||
pkgs,
|
||||
lib,
|
||||
host ? "most",
|
||||
nixvim,
|
||||
top,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
nixvim.homeManagerModules.default
|
||||
./modules
|
||||
top.nixvimunstable.homeManagerModules.nixvim
|
||||
top.self.modules.homeManagerModule
|
||||
./baseline
|
||||
] ++ lib.optionals (builtins.pathExists ./hosts/${host}) [ ./hosts/${host} ];
|
||||
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
keyMode = "vi";
|
||||
terminal = "xterm-256color";
|
||||
customPaneNavigationAndResize = true;
|
||||
extraConfig = (lib.strings.concatStringsSep "\n" [ "bind P paste-buffer" ]);
|
||||
};
|
||||
home.stateVersion = "25.05";
|
||||
|
||||
home.stateVersion = "23.05";
|
||||
home.packages = with pkgs; [
|
||||
bitwarden-cli
|
||||
copier
|
||||
diffutils
|
||||
findutils
|
||||
@@ -44,4 +37,12 @@
|
||||
wget
|
||||
zip
|
||||
];
|
||||
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
keyMode = "vi";
|
||||
terminal = "xterm-256color";
|
||||
customPaneNavigationAndResize = true;
|
||||
extraConfig = (lib.strings.concatStringsSep "\n" [ "bind P paste-buffer" ]);
|
||||
};
|
||||
}
|
||||
|
||||
+20
-28
@@ -4,13 +4,7 @@
|
||||
...
|
||||
}:
|
||||
let
|
||||
py = pkgs.python311.withPackages (
|
||||
p: with p; [
|
||||
pyyaml
|
||||
ruamel-yaml
|
||||
tox
|
||||
]
|
||||
);
|
||||
username = "gregory.hellings";
|
||||
x = pkgs.xonsh.override {
|
||||
extraPackages = (
|
||||
ps: [
|
||||
@@ -23,10 +17,13 @@ let
|
||||
};
|
||||
in
|
||||
{
|
||||
# Disables hitting local cache
|
||||
_module.args.cache = lib.mkForce false;
|
||||
greg = {
|
||||
development = true;
|
||||
gui = true;
|
||||
pypackage = py;
|
||||
nix.cache = false;
|
||||
pypackage.enable = false;
|
||||
vscodium = true;
|
||||
};
|
||||
|
||||
@@ -34,25 +31,15 @@ in
|
||||
packages = with pkgs; [
|
||||
aacs
|
||||
ansible
|
||||
bitwarden-cli
|
||||
direnv
|
||||
home-manager
|
||||
k9s
|
||||
kubectl
|
||||
minikube
|
||||
mise
|
||||
mysql-workbench
|
||||
nixStable
|
||||
pipenv-ivr
|
||||
(poetry.withPlugins (
|
||||
ps: with ps; [
|
||||
poetry-audit-plugin
|
||||
poetry-plugin-export
|
||||
poetry-plugin-shell
|
||||
]
|
||||
))
|
||||
pre-commit
|
||||
robo3t
|
||||
skaffold
|
||||
x
|
||||
];
|
||||
@@ -66,17 +53,22 @@ in
|
||||
" https://pypidev.ivrtechnology.com/simple/"
|
||||
]
|
||||
);
|
||||
username = "gregory.hellings";
|
||||
homeDirectory = lib.mkForce "/home/gregory.hellings";
|
||||
username = username;
|
||||
homeDirectory = "/Users/${username}";
|
||||
};
|
||||
programs.tmux.shell = (lib.getExe x);
|
||||
services.podman = {
|
||||
enable = true;
|
||||
settings = {
|
||||
registries.search = [
|
||||
"docker.io"
|
||||
"quay.io"
|
||||
];
|
||||
|
||||
programs = {
|
||||
direnv = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
nushell = {
|
||||
enable = true;
|
||||
};
|
||||
starship = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
tmux.shell = (lib.getExe x);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
options.greg.pypackage = lib.mkOption {
|
||||
description = "Enable Gnome support and settings";
|
||||
type = lib.types.package;
|
||||
default = pkgs.gregpy;
|
||||
};
|
||||
|
||||
config.home.packages = [ config.greg.pypackage ];
|
||||
}
|
||||
@@ -0,0 +1,218 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
overlays,
|
||||
pkgs,
|
||||
self,
|
||||
top,
|
||||
...
|
||||
}:
|
||||
let
|
||||
builderHosts =
|
||||
if self != null then
|
||||
(lib.attrNames (
|
||||
lib.filterAttrs (_: v: v.config.greg.remote-builder.enable) self.nixosConfigurations
|
||||
))
|
||||
else
|
||||
[ ];
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../modules/nix-conf.nix
|
||||
];
|
||||
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
keyMap = "us";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
agenix
|
||||
bitwarden-cli
|
||||
bmon
|
||||
btop
|
||||
btrfs-progs
|
||||
coreutils-full
|
||||
diffutils
|
||||
efibootmgr
|
||||
findutils
|
||||
file
|
||||
git
|
||||
gnupatch
|
||||
hms # My own home manager switcher
|
||||
iperf
|
||||
killall
|
||||
nano
|
||||
lshw
|
||||
pciutils
|
||||
psmisc
|
||||
pwgen
|
||||
unzip
|
||||
usbutils
|
||||
wget
|
||||
xfsprogs
|
||||
];
|
||||
|
||||
home-manager = {
|
||||
backupFileExtension = "bkp";
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.greg = import ../home/home.nix;
|
||||
extraSpecialArgs = {
|
||||
inherit top overlays;
|
||||
home = "/home/greg";
|
||||
host = config.networking.hostName;
|
||||
};
|
||||
};
|
||||
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
nix = {
|
||||
gc.dates = "weekly";
|
||||
settings.auto-optimise-store = true;
|
||||
};
|
||||
|
||||
nixpkgs.overlays = overlays;
|
||||
|
||||
# Network Manager pulls in too many deps
|
||||
networking = {
|
||||
search = [
|
||||
"thehellings.lan"
|
||||
"home"
|
||||
];
|
||||
networkmanager.enable = false;
|
||||
};
|
||||
|
||||
programs = {
|
||||
xonsh = {
|
||||
enable = true;
|
||||
extraPackages = (
|
||||
ps: with ps; [
|
||||
xonsh-apipenv
|
||||
pkgs.nur.repos.xonsh-xontribs.xonsh-direnv
|
||||
pkgs.nur.repos.xonsh-xontribs.xontrib-vox
|
||||
]
|
||||
);
|
||||
};
|
||||
|
||||
ssh = {
|
||||
extraConfig = builtins.concatStringsSep "\n" (
|
||||
lib.map (x: ''
|
||||
Host ${x}-builder
|
||||
Hostname ${x}.home
|
||||
User remote-builder-user
|
||||
'') builderHosts
|
||||
);
|
||||
|
||||
knownHosts = {
|
||||
chronicles = {
|
||||
extraHostNames = [
|
||||
"chronicles.thehellings.lan"
|
||||
"chronicles.home"
|
||||
"nas"
|
||||
"nas.thehellings.lan"
|
||||
"nas.home"
|
||||
];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEBecZUva9OnZuXLaBun6/1ITo5f9p0YMLPD+q0egLRS";
|
||||
};
|
||||
dns = {
|
||||
extraHostNames = [
|
||||
"dns"
|
||||
"dns.me.ts"
|
||||
"dns.home"
|
||||
];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKRCXdhXWHEvw84V9JC5bAGovvj12DLVphcEnsTHDjxW";
|
||||
};
|
||||
"genesis" = {
|
||||
extraHostNames = [
|
||||
"genesis.shire-zebra.ts.net"
|
||||
"genesis.home"
|
||||
];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEI9jbTPmEWQ0F2bLYmnIOLmBnag1fkKxHRjz3X8lB/k";
|
||||
};
|
||||
"git" = {
|
||||
extraHostNames = [
|
||||
"git.home"
|
||||
"git.thehellings.lan"
|
||||
];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC7hesFWwlmSbWPJWUiF8fIppy5a83yXw84O0Ytz+Zyq";
|
||||
};
|
||||
hosea = {
|
||||
extraHostNames = [
|
||||
"hosea.home"
|
||||
"hosea.thehellings.lan"
|
||||
];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKLIwkTTXA56sUlUjEulXXZRvZy5H4a5ZwgKWLlpkQDz";
|
||||
};
|
||||
isaiah = {
|
||||
extraHostNames = [
|
||||
"isaiah.home"
|
||||
"isaiah.thehellings.lan"
|
||||
"isaiah-builder"
|
||||
];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHleYKtfV4W1Z63Ysu9w5Rbglqlz4F92YcZoMkucoTNf";
|
||||
};
|
||||
jeremiah = {
|
||||
extraHostNames = [
|
||||
"jeremiah.home"
|
||||
"jeremiah.thehellings.lan"
|
||||
"jeremiah-builder"
|
||||
];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOjQjXq9WYU2Ki27BR9WwJ4ZruS/lJXbjC1b0Q42Adi0";
|
||||
};
|
||||
jude = {
|
||||
extraHostNames = [
|
||||
"jude.home"
|
||||
"jude.thehellings.lan"
|
||||
"jude-builder"
|
||||
];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOos0zQePsa+T6Z2dsKbPOvEdrBQ8a6mx3s7pN6ysCI0";
|
||||
};
|
||||
linode = {
|
||||
extraHostNames = [
|
||||
"linode.home"
|
||||
"linode.thehellings.lan"
|
||||
"thehellings.com"
|
||||
];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMv9Zud3kZOl86gtmkn+uj3D4kiXWDPtyUL02VVLNR4Q";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Enable the OpenSSH daemon for remote control
|
||||
services = {
|
||||
openssh = {
|
||||
enable = true;
|
||||
settings.X11Forwarding = true;
|
||||
};
|
||||
};
|
||||
|
||||
security.sudo.extraRules = [
|
||||
{
|
||||
users = [ "greg" ];
|
||||
commands = [
|
||||
{
|
||||
command = "ALL";
|
||||
options = [ "NOPASSWD" ];
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.greg = {
|
||||
isNormalUser = true;
|
||||
createHome = true;
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
]; # Enable ‘sudo’ for the user.
|
||||
shell = config.programs.xonsh.package;
|
||||
initialPassword = "password";
|
||||
openssh.authorizedKeys.keys = lib.strings.splitString "\n" (
|
||||
builtins.readFile ../../home/ssh/authorized_keys
|
||||
);
|
||||
};
|
||||
|
||||
system.stateVersion = "24.11";
|
||||
}
|
||||
+5
-18
@@ -9,7 +9,6 @@ let
|
||||
// {
|
||||
channel = top.nixunstable;
|
||||
hm = top.hmunstable;
|
||||
nixvim = top.nixvimunstable;
|
||||
}
|
||||
));
|
||||
machine =
|
||||
@@ -19,7 +18,6 @@ let
|
||||
name,
|
||||
system ? "x86_64-linux",
|
||||
hm ? top.hm,
|
||||
nixvim ? top.nixvimstable,
|
||||
}:
|
||||
let
|
||||
nixpkgs = import channel { inherit system; };
|
||||
@@ -32,29 +30,18 @@ let
|
||||
inherit (top) self;
|
||||
};
|
||||
modules = [
|
||||
{
|
||||
nixpkgs.overlays = overlays;
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.greg = import ../home/home.nix;
|
||||
extraSpecialArgs = {
|
||||
inherit top overlays nixvim;
|
||||
home = "/home/greg";
|
||||
host = name;
|
||||
};
|
||||
backupFileExtension = "bkp";
|
||||
};
|
||||
}
|
||||
# Imported ones
|
||||
top.agenix.nixosModules.default
|
||||
hm.nixosModules.home-manager
|
||||
top.self.modules.nixosModule
|
||||
top.nurpkgs.modules.nixos.default
|
||||
# Local ones
|
||||
./baseline.nix
|
||||
top.self.modules.nixosModule
|
||||
./${name}
|
||||
] ++ extraMods;
|
||||
};
|
||||
in
|
||||
rec {
|
||||
{
|
||||
genesis = unstable { name = "genesis"; };
|
||||
exodus = unstable { name = "exodus"; };
|
||||
jude = unstable { name = "jude"; };
|
||||
|
||||
@@ -55,4 +55,6 @@
|
||||
virtualisation = {
|
||||
oci-containers.backend = "podman";
|
||||
};
|
||||
|
||||
users.users.greg.extraGroups = [ "podman" ];
|
||||
}
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
}
|
||||
{
|
||||
hw-address = "c8:4b:d6:ca:20:8f";
|
||||
ip-address = "10.42.1.10"; # Jude - but maybe through the monitor?
|
||||
ip-address = "10.42.1.10"; # The monitor
|
||||
}
|
||||
{
|
||||
hw-address = "04:7c:16:d5:60:6f";
|
||||
|
||||
@@ -1,127 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
self,
|
||||
...
|
||||
}:
|
||||
let
|
||||
builderHosts =
|
||||
if self != null then
|
||||
(lib.attrNames (
|
||||
lib.filterAttrs (_: v: v.config.greg.remote-builder.enable) self.nixosConfigurations
|
||||
))
|
||||
else
|
||||
[ ];
|
||||
in
|
||||
{
|
||||
# This is a dumb hack to pass the value into the import below, but it's how we have to do it,
|
||||
# since that's how the module system works
|
||||
_module.args.cache = true;
|
||||
imports = [
|
||||
./nix-conf.nix
|
||||
];
|
||||
|
||||
programs.ssh = {
|
||||
knownHosts = {
|
||||
chronicles = {
|
||||
extraHostNames = [
|
||||
"chronicles.thehellings.lan"
|
||||
"chronicles.home"
|
||||
"nas"
|
||||
"nas.thehellings.lan"
|
||||
"nas.home"
|
||||
];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEBecZUva9OnZuXLaBun6/1ITo5f9p0YMLPD+q0egLRS";
|
||||
};
|
||||
dns = {
|
||||
extraHostNames = [
|
||||
"dns"
|
||||
"dns.me.ts"
|
||||
"dns.home"
|
||||
];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKRCXdhXWHEvw84V9JC5bAGovvj12DLVphcEnsTHDjxW";
|
||||
};
|
||||
"genesis" = {
|
||||
extraHostNames = [
|
||||
"genesis.shire-zebra.ts.net"
|
||||
"genesis.home"
|
||||
];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEI9jbTPmEWQ0F2bLYmnIOLmBnag1fkKxHRjz3X8lB/k";
|
||||
};
|
||||
"git" = {
|
||||
extraHostNames = [
|
||||
"git.home"
|
||||
"git.thehellings.lan"
|
||||
];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC7hesFWwlmSbWPJWUiF8fIppy5a83yXw84O0Ytz+Zyq";
|
||||
};
|
||||
hosea = {
|
||||
extraHostNames = [
|
||||
"hosea.home"
|
||||
"hosea.thehellings.lan"
|
||||
];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKLIwkTTXA56sUlUjEulXXZRvZy5H4a5ZwgKWLlpkQDz";
|
||||
};
|
||||
isaiah = {
|
||||
extraHostNames = [
|
||||
"isaiah.home"
|
||||
"isaiah.thehellings.lan"
|
||||
"isaiah-builder"
|
||||
];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHleYKtfV4W1Z63Ysu9w5Rbglqlz4F92YcZoMkucoTNf";
|
||||
};
|
||||
jeremiah = {
|
||||
extraHostNames = [
|
||||
"jeremiah.home"
|
||||
"jeremiah.thehellings.lan"
|
||||
"jeremiah-builder"
|
||||
];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOjQjXq9WYU2Ki27BR9WwJ4ZruS/lJXbjC1b0Q42Adi0";
|
||||
};
|
||||
jude = {
|
||||
extraHostNames = [
|
||||
"jude.home"
|
||||
"jude.thehellings.lan"
|
||||
"jude-builder"
|
||||
];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOos0zQePsa+T6Z2dsKbPOvEdrBQ8a6mx3s7pN6ysCI0";
|
||||
};
|
||||
linode = {
|
||||
extraHostNames = [
|
||||
"linode.home"
|
||||
"linode.thehellings.lan"
|
||||
"thehellings.com"
|
||||
];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMv9Zud3kZOl86gtmkn+uj3D4kiXWDPtyUL02VVLNR4Q";
|
||||
};
|
||||
};
|
||||
extraConfig = builtins.concatStringsSep "\n" (
|
||||
lib.map (x: ''
|
||||
Host ${x}-builder
|
||||
Hostname ${x}.home
|
||||
User remote-builder-user
|
||||
'') builderHosts
|
||||
);
|
||||
};
|
||||
|
||||
# Base packages that need to be in all my hosts
|
||||
environment.systemPackages = with pkgs; [
|
||||
agenix
|
||||
bmon
|
||||
diffutils
|
||||
git
|
||||
gnupatch
|
||||
gregpy
|
||||
findutils
|
||||
file
|
||||
hms # My own home manager switcher
|
||||
btop
|
||||
iperf
|
||||
killall
|
||||
nano
|
||||
pciutils
|
||||
pwgen
|
||||
unzip
|
||||
wget
|
||||
];
|
||||
}
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
let
|
||||
nixos = (import ./nixos);
|
||||
darwin = (import ./darwin);
|
||||
hm = (import ./hm);
|
||||
in
|
||||
{
|
||||
homeManagerModule = hm;
|
||||
nixosModule = nixos;
|
||||
darwinModule = darwin;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
{
|
||||
imports = [
|
||||
./baseline
|
||||
./development.nix
|
||||
./gnome.nix
|
||||
./gui.nix
|
||||
@@ -11,8 +11,6 @@ let
|
||||
cargo
|
||||
gh-copilot
|
||||
gnumake
|
||||
libcap.dev
|
||||
libmysqlclient.dev
|
||||
nix-eval-jobs
|
||||
nix-fast-build
|
||||
nix-output-monitor
|
||||
@@ -57,6 +57,10 @@ in
|
||||
sort-method = "name";
|
||||
sort-type = "ascending";
|
||||
};
|
||||
"org/gnome/mutter" = {
|
||||
# Enables quarter-point scaling options
|
||||
experimental-features = [ "scale-monitor-framebuffer" ];
|
||||
};
|
||||
"org/gnome/nautilus/preferences" = {
|
||||
default-folder-viewer = "icon-view";
|
||||
search-filter-time-type = "last_modified";
|
||||
@@ -31,6 +31,7 @@ in
|
||||
cdrtools
|
||||
element-desktop
|
||||
freetube
|
||||
onlyoffice-bin
|
||||
qpwgraph
|
||||
vlc
|
||||
x265
|
||||
@@ -51,25 +52,24 @@ in
|
||||
jellyfin-media-player
|
||||
nextcloud-client
|
||||
slack
|
||||
(pkgs.zoom-us.overrideAttrs {
|
||||
version = "6.2.11.5069";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://zoom.us/client/6.2.11.5069/zoom_x86_64.pkg.tar.xz";
|
||||
hash = "sha256-k8T/lmfgAFxW1nwEyh61lagrlHP5geT2tA7e5j61+qw=";
|
||||
};
|
||||
})
|
||||
]
|
||||
)
|
||||
++
|
||||
|
||||
# Items that are not supported on ARM/Linux
|
||||
(excludes [ "aarch64-linux" ] [
|
||||
onlyoffice-bin
|
||||
synology-drive-client
|
||||
(pkgs.zoom-us.overrideAttrs {
|
||||
version = "6.2.11.5069";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://zoom.us/client/6.2.11.5069/zoom_x86_64.pkg.tar.xz";
|
||||
hash = "sha256-k8T/lmfgAFxW1nwEyh61lagrlHP5geT2tA7e5j61+qw=";
|
||||
};
|
||||
})
|
||||
]);
|
||||
|
||||
programs.firefox = {
|
||||
enable = (!pkgs.stdenv.hostPlatform.isDarwin);
|
||||
enable = true; #(!pkgs.stdenv.hostPlatform.isDarwin);
|
||||
package = pkgs.firefox-bin;
|
||||
policies = {
|
||||
DisableAppUpdate = true;
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.greg.pypackage;
|
||||
in
|
||||
{
|
||||
options.greg.pypackage = {
|
||||
enable = lib.mkOption {
|
||||
description = "Enable installing my Python package here";
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
};
|
||||
package = lib.mkOption {
|
||||
description = "Enable Gnome support and settings";
|
||||
type = lib.types.package;
|
||||
default = pkgs.gregpy;
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.packages = [ cfg.package ];
|
||||
};
|
||||
}
|
||||
@@ -39,7 +39,6 @@ in
|
||||
njpwerner.autodocstring
|
||||
rust-lang.rust-analyzer
|
||||
tamasfe.even-better-toml
|
||||
vadimcn.vscode-lldb
|
||||
vscjava.vscode-java-test
|
||||
vscjava.vscode-java-dependency
|
||||
vscjava.vscode-java-debug
|
||||
+61
-47
@@ -1,58 +1,72 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
cache,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.greg.nix;
|
||||
in
|
||||
{
|
||||
nix = {
|
||||
gc = {
|
||||
automatic = true;
|
||||
# Scheduling of them is different in nixos vs nix-darwin, so check for
|
||||
# the extra details there
|
||||
options = "--delete-older-than 30d";
|
||||
};
|
||||
|
||||
package = pkgs.nixStable;
|
||||
|
||||
settings = {
|
||||
cores = 0; # Use all cores for builds
|
||||
download-buffer-size = 500 * 1024 * 1024;
|
||||
experimental-features = "nix-command flakes";
|
||||
keep-outputs = true;
|
||||
keep-derivations = true;
|
||||
min-free = (toString (1024 * 1024 * 1024));
|
||||
max-free = (toString (5 * 1024 * 1024 * 1024));
|
||||
trusted-users = [
|
||||
"greg"
|
||||
"gregory.hellings"
|
||||
]; # For home and for work machines
|
||||
substituters =
|
||||
(lib.optionals cache [
|
||||
"http://nas.home:9000/binary-cache/"
|
||||
])
|
||||
++ [
|
||||
"https://ai.cachix.org"
|
||||
"https://nixpkgs-python.cachix.org"
|
||||
"https://greg-hellings.cachix.org"
|
||||
"https://nix-community.cachix.org"
|
||||
"https://cache.nixos.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"nas.home:0qWYHn3gGllXChhAaaxKlNZtRy6yG/XJs1RFSqV3nW8="
|
||||
"ai.cachix.org-1:N9dzRK+alWwoKXQlnn0H6aUx0lU/mspIoz8hMvGvbbc="
|
||||
"nixpkgs-python.cachix.org-1:hxjI7pFxTyuTHn2NkvWCrAUcNZLNS3ZAvfYNuYifcEU="
|
||||
"greg-hellings.cachix.org-1:y01Jl/L5evlhxdnUW6n56AiI1k8g1wxWhTxJCe7XSco="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||
];
|
||||
options.greg.nix = {
|
||||
cache = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = _: true;
|
||||
permittedInsecurePackages = [ "ventoy-1.1.05" ];
|
||||
config = {
|
||||
nix = {
|
||||
gc = {
|
||||
automatic = true;
|
||||
# Scheduling of them is different in nixos vs nix-darwin, so check for
|
||||
# the extra details there
|
||||
options = "--delete-older-than 30d";
|
||||
};
|
||||
|
||||
package = pkgs.nixStable;
|
||||
|
||||
settings = {
|
||||
cores = 0; # Use all cores for builds
|
||||
download-buffer-size = 500 * 1024 * 1024;
|
||||
experimental-features = "nix-command flakes";
|
||||
keep-outputs = true;
|
||||
keep-derivations = true;
|
||||
min-free = (toString (1024 * 1024 * 1024));
|
||||
max-free = (toString (5 * 1024 * 1024 * 1024));
|
||||
trusted-users = [
|
||||
"greg"
|
||||
"gregory.hellings"
|
||||
]; # For home and for work machines
|
||||
substituters =
|
||||
(lib.optionals cfg.cache [
|
||||
"http://nas.thehellings.lan:9000/binary-cache/"
|
||||
"http://nas.home:9000/binary-cache/"
|
||||
])
|
||||
++ [
|
||||
"https://ai.cachix.org"
|
||||
"https://nixpkgs-python.cachix.org"
|
||||
"https://greg-hellings.cachix.org"
|
||||
"https://nix-community.cachix.org"
|
||||
"https://cache.nixos.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"nix.thehellings.lan:0qWYHn3gGllXChhAaaxKlNZtRy6yG/XJs1RFSqV3nW8="
|
||||
"nix.home:0qWYHn3gGllXChhAaaxKlNZtRy6yG/XJs1RFSqV3nW8="
|
||||
"ai.cachix.org-1:N9dzRK+alWwoKXQlnn0H6aUx0lU/mspIoz8hMvGvbbc="
|
||||
"nixpkgs-python.cachix.org-1:hxjI7pFxTyuTHn2NkvWCrAUcNZLNS3ZAvfYNuYifcEU="
|
||||
"greg-hellings.cachix.org-1:y01Jl/L5evlhxdnUW6n56AiI1k8g1wxWhTxJCe7XSco="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = _: true;
|
||||
permittedInsecurePackages = [ "ventoy-1.1.05" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../baseline.nix
|
||||
./backup.nix
|
||||
./ceph.nix
|
||||
./container.nix
|
||||
@@ -29,82 +25,4 @@
|
||||
./tailscale.nix
|
||||
./vmdev.nix
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
btrfs-progs
|
||||
coreutils-full
|
||||
efibootmgr
|
||||
psmisc
|
||||
lshw
|
||||
usbutils
|
||||
xfsprogs
|
||||
];
|
||||
|
||||
system.stateVersion = "24.11";
|
||||
|
||||
nix = {
|
||||
gc.dates = "weekly";
|
||||
settings.auto-optimise-store = true;
|
||||
};
|
||||
|
||||
# Network Manager pulls in too many deps
|
||||
networking = {
|
||||
search = [
|
||||
"thehellings.lan"
|
||||
"home"
|
||||
];
|
||||
networkmanager.enable = false;
|
||||
};
|
||||
|
||||
programs.xonsh = {
|
||||
enable = true;
|
||||
extraPackages = (
|
||||
ps: with ps; [
|
||||
xonsh-apipenv
|
||||
pkgs.nur.repos.xonsh-xontribs.xonsh-direnv
|
||||
pkgs.nur.repos.xonsh-xontribs.xontrib-vox
|
||||
]
|
||||
);
|
||||
};
|
||||
|
||||
# Enable the OpenSSH daemon for remote control
|
||||
services = {
|
||||
openssh = {
|
||||
enable = true;
|
||||
settings.X11Forwarding = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.greg = {
|
||||
isNormalUser = true;
|
||||
createHome = true;
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
]; # Enable ‘sudo’ for the user.
|
||||
shell = config.programs.xonsh.package;
|
||||
initialPassword = "password";
|
||||
openssh.authorizedKeys.keys = lib.strings.splitString "\n" (
|
||||
builtins.readFile ../../home/ssh/authorized_keys
|
||||
);
|
||||
};
|
||||
|
||||
security.sudo.extraRules = [
|
||||
{
|
||||
users = [ "greg" ];
|
||||
commands = [
|
||||
{
|
||||
command = "ALL";
|
||||
options = [ "NOPASSWD" ];
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
keyMap = "us";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -18,9 +18,8 @@ with lib;
|
||||
devices = {
|
||||
chronicles.id = "7FI6Y3M-C7YQEDI-IB345L6-RKLXMB6-AEIV57Y-3J2RCXQ-MK6QRNK-EINPXAE";
|
||||
genesis.id = "YDTH4SD-GUAC5AA-SSYWYPZ-YMJW5LK-LE7PZKJ-GV2UJFZ-CU7LZAD-GTYWCQK";
|
||||
gitlab.id = "VAG5GHP-L7TNY7O-CHR3CKU-GXXVCIL-OT3WHHU-E4VAIZC-JI4BKOM-PYZQOQS";
|
||||
gitlab.id = "GKNOZWI-CNC2Q2F-R5GGGDX-RYFGHK4-CCC37LC-GVOEMJI-46QPC6G-AWFEOQE";
|
||||
linode.id = "IJMMXPR-WNALZBD-FMJH5W5-WV7XGJY-HLJTKGT-5TKHJIH-75LT56D-UUZCYQE";
|
||||
matrix.id = "K5IHM3I-TJFFEW5-GAYJMPS-CYSHW5C-XHMC462-MFRMOHJ-EJLKIKC-CZHGJQ2";
|
||||
};
|
||||
options = {
|
||||
urAccepted = -1;
|
||||
|
||||
@@ -78,7 +78,7 @@ func main() {
|
||||
// flake output type. Therefore, it just informs you that it is
|
||||
// part of the output, but does not evaluate deeper to tell you
|
||||
// what the name of it is. I will just do this manually for now.
|
||||
pipeline["Build Home config "] = NewGitlabCIJob("homeConfigurations.\"gregory.hellings\".activationPackage")
|
||||
pipeline["Build Home config "] = NewGitlabCIJob("homeConfigurations.\"greg\".activationPackage")
|
||||
|
||||
if flakeOutput.Apps != nil {
|
||||
for appName := range flakeOutput.Apps {
|
||||
|
||||
+31
-6
@@ -1,13 +1,38 @@
|
||||
# vim: set ft=bash:
|
||||
# Build different targets with GUI or not
|
||||
|
||||
set -ex -o pipefail
|
||||
|
||||
# Build and switch
|
||||
user="$(whoami)"
|
||||
src="${HOME}/.config/nix"
|
||||
echo "Building ${user}"
|
||||
system="$(uname -s)"
|
||||
|
||||
# Determine where the Flake is
|
||||
if [ "$system" == "Darwin" ]; then
|
||||
try_src="/etc/nix-darwin"
|
||||
else
|
||||
try_src="/etc/nixos"
|
||||
fi
|
||||
if [ -d "$try_src" ]; then
|
||||
src="$try_src"
|
||||
target="$(hostname)"
|
||||
else
|
||||
src="$HOME/.config/nix"
|
||||
target="$(whoami)"
|
||||
fi
|
||||
|
||||
# Find the hostname
|
||||
echo "Building user for ${target}"
|
||||
|
||||
# Build the system
|
||||
dest=$(mktemp -d)
|
||||
trap cleanup 1 2 3 6 15
|
||||
|
||||
function cleanup {
|
||||
echo "Cleaning up"
|
||||
rm -r "${dest}"
|
||||
exit
|
||||
}
|
||||
|
||||
pushd "${dest}" > /dev/null
|
||||
nom build "${src}#homeConfigurations.\"${user}\".activationPackage"
|
||||
nom build "${src}#homeConfigurations.\"${target}\".activationPackage"
|
||||
./result/activate
|
||||
popd > /dev/null
|
||||
rm -r "${dest}"
|
||||
|
||||
Reference in New Issue
Block a user