Merge branch 'main' of src:greg/nixos-config
This commit is contained in:
+4
-4
@@ -29,8 +29,8 @@ default:
|
|||||||
- IMG:
|
- IMG:
|
||||||
- img-bitwarden
|
- img-bitwarden
|
||||||
script:
|
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}"
|
- nix build ".#${IMG}"
|
||||||
- podman load -i result
|
- nix run "nixpkgs#podman" -- load -i result
|
||||||
- podman tag "localhost/${IMG}:latest" "$CI_REGISTRY/greg/ci-images/${IMG}:latest"
|
- nix run "nixpkgs#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" -- push "$CI_REGISTRY/greg/ci-images/${IMG}:latest"
|
||||||
|
|||||||
@@ -1,25 +1,21 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
imports = [ ../baseline.nix ];
|
config,
|
||||||
|
pkgs,
|
||||||
home-manager = {
|
...
|
||||||
useGlobalPkgs = true;
|
}:
|
||||||
users."gregory.hellings" = import ../../home/home.nix;
|
{
|
||||||
extraSpecialArgs = {
|
environment.systemPackages = with pkgs; [
|
||||||
gnome = false;
|
hms
|
||||||
gui = false;
|
];
|
||||||
home = "/Users/gregory.hellings";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
dejavu_fonts
|
dejavu_fonts
|
||||||
hack-font
|
nerd-fonts.hack
|
||||||
nerdfonts
|
|
||||||
];
|
];
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
gc.interval.Hour = 24;
|
enable = true;
|
||||||
|
gc.interval.Hour = 3;
|
||||||
settings.auto-optimise-store = false; # Darwin bugs?
|
settings.auto-optimise-store = false; # Darwin bugs?
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -34,10 +30,13 @@
|
|||||||
bash.enable = true;
|
bash.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.nix-daemon.enable = true;
|
|
||||||
|
|
||||||
system = {
|
system = {
|
||||||
defaults = {
|
defaults = {
|
||||||
|
CustomSystemPreferences = {
|
||||||
|
".GlobalPreferences" = {
|
||||||
|
"com.apple.swipescrolldirection" = 0;
|
||||||
|
};
|
||||||
|
};
|
||||||
finder = {
|
finder = {
|
||||||
AppleShowAllExtensions = true;
|
AppleShowAllExtensions = true;
|
||||||
AppleShowAllFiles = true;
|
AppleShowAllFiles = true;
|
||||||
@@ -50,11 +49,11 @@
|
|||||||
LaunchServices.LSQuarantine = false;
|
LaunchServices.LSQuarantine = false;
|
||||||
menuExtraClock = {
|
menuExtraClock = {
|
||||||
Show24Hour = true;
|
Show24Hour = true;
|
||||||
ShowDate = true;
|
ShowDate = 2;
|
||||||
};
|
};
|
||||||
screencapture = {
|
screencapture = {
|
||||||
include-date = true;
|
include-date = true;
|
||||||
location = "${config.home-manager.extraSpecialArgs.home}/Photos/Screeneries";
|
location = "~/Photos/Screeneries";
|
||||||
};
|
};
|
||||||
trackpad = {
|
trackpad = {
|
||||||
Dragging = false;
|
Dragging = false;
|
||||||
@@ -66,6 +65,4 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
time.timeZone = "America/Chicago";
|
time.timeZone = "America/Chicago";
|
||||||
|
|
||||||
users.users."gregory.hellings".home = "/Users/gregory.hellings";
|
|
||||||
}
|
}
|
||||||
+11
-7
@@ -14,22 +14,26 @@ let
|
|||||||
top.darwin.lib.darwinSystem {
|
top.darwin.lib.darwinSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit nixpkgs;
|
inherit nixpkgs overlays top;
|
||||||
|
inherit (top) self;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
{
|
{
|
||||||
nixpkgs.overlays = overlays;
|
nixpkgs.overlays = overlays;
|
||||||
home-manager.extraSpecialArgs = {
|
home-manager = {
|
||||||
inherit top;
|
extraSpecialArgs = {
|
||||||
host = name;
|
inherit top;
|
||||||
|
host = name;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
hm.darwinModules.home-manager
|
hm.darwinModules.home-manager
|
||||||
top.self.modules.darwinModule
|
# Local changes
|
||||||
|
../modules/nix-conf.nix
|
||||||
|
./baseline.nix
|
||||||
] ++ lib.optionals (builtins.pathExists ./hosts/${name}) [ ./hosts/${name} ];
|
] ++ lib.optionals (builtins.pathExists ./hosts/${name}) [ ./hosts/${name} ];
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
rec {
|
rec {
|
||||||
la23002 = mac { name = "ivr"; };
|
"MacBook-Pro" = mac { name = "ivr"; };
|
||||||
LA23002 = la23002;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,28 +1,49 @@
|
|||||||
{ ... }:
|
{ ... }:
|
||||||
|
let
|
||||||
|
username = "gregory.hellings";
|
||||||
|
in
|
||||||
{
|
{
|
||||||
#environment.loginShell = lib.getExe pkgs.xonsh;
|
greg = {
|
||||||
homebrews = {
|
nix.cache = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
homebrew = {
|
||||||
enable = true;
|
enable = true;
|
||||||
brews = [
|
brews = [
|
||||||
|
"bitwarden-cli"
|
||||||
"direnv"
|
"direnv"
|
||||||
{
|
{
|
||||||
name = "libvirt";
|
name = "libvirt";
|
||||||
restart_service = true;
|
restart_service = true;
|
||||||
}
|
}
|
||||||
|
"mysql"
|
||||||
"nushell"
|
"nushell"
|
||||||
|
"poetry"
|
||||||
"qemu"
|
"qemu"
|
||||||
];
|
];
|
||||||
casks = [
|
casks = [
|
||||||
"alt-tab"
|
"alt-tab"
|
||||||
|
"bitwarden"
|
||||||
"bruno"
|
"bruno"
|
||||||
"chromium"
|
"chromium"
|
||||||
"firefox"
|
"firefox"
|
||||||
|
"microsoft-teams"
|
||||||
"onlyoffice"
|
"onlyoffice"
|
||||||
"pgadmin4"
|
"pgadmin4"
|
||||||
"tabby"
|
"tabby"
|
||||||
|
"twine"
|
||||||
"vagrant"
|
"vagrant"
|
||||||
"visual-studio-code"
|
"visual-studio-code"
|
||||||
"zed"
|
"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"
|
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747465275,
|
"lastModified": 1748187031,
|
||||||
"narHash": "sha256-Vpgp7uWpXUmEAirJjj6+et+JC9BZP9GjvS1usv5Wl3A=",
|
"narHash": "sha256-F4zdOfeg0xjEnvFjlHvoMmdmh/FxK1qIsZyscnGDgA0=",
|
||||||
"owner": "fort-nix",
|
"owner": "fort-nix",
|
||||||
"repo": "nix-bitcoin",
|
"repo": "nix-bitcoin",
|
||||||
"rev": "1586a34e902706b6834b059c9bd6d80caffce84a",
|
"rev": "a06d1d8118865af14a9187e7d1a7a141dd89af74",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -45,25 +45,6 @@
|
|||||||
"type": "github"
|
"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": {
|
"darwin": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -93,11 +74,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747964474,
|
"lastModified": 1749194393,
|
||||||
"narHash": "sha256-i73u8NLiqewGy0iIriH4XizatLnAojXxzrBqHJEz49E=",
|
"narHash": "sha256-vt6hM9DNywnXXuW1qPDLzECmbDcmxhh58wpb0EEQjAo=",
|
||||||
"owner": "lnl7",
|
"owner": "lnl7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "93562b65cf68612a544779c9f77536f9dff01096",
|
"rev": "19346808c445f23b08652971be198b9df6c33edc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -167,11 +148,11 @@
|
|||||||
"flake-compat_3": {
|
"flake-compat_3": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733328505,
|
"lastModified": 1747046372,
|
||||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -185,11 +166,11 @@
|
|||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743550720,
|
"lastModified": 1749398372,
|
||||||
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
|
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
|
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -245,11 +226,11 @@
|
|||||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743550720,
|
"lastModified": 1748821116,
|
||||||
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
|
"narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
|
"rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -340,11 +321,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747955385,
|
"lastModified": 1749526396,
|
||||||
"narHash": "sha256-AKoBFaEGN02tGvBlkwVIDOGXouHvrTTfOUcvBDGxkxQ=",
|
"narHash": "sha256-UL9F76abAk87llXOrcQRjhd5OaOclUd6MIltsqcUZmo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "a868570581f0dbdef7e33c8c9bb34b735dfcbacf",
|
"rev": "427c96044f11a5da50faf6adaf38c9fa47e6d044",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -409,27 +390,27 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1737371634,
|
"lastModified": 1748294338,
|
||||||
"narHash": "sha256-fTVAWzT1UMm1lT+YxHuVPtH+DATrhYfea3B0MxG/cGw=",
|
"narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=",
|
||||||
"owner": "NuschtOS",
|
"owner": "NuschtOS",
|
||||||
"repo": "ixx",
|
"repo": "ixx",
|
||||||
"rev": "a1176e2a10ce745ff8f63e4af124ece8fe0b1648",
|
"rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NuschtOS",
|
"owner": "NuschtOS",
|
||||||
"ref": "v0.0.7",
|
"ref": "v0.0.8",
|
||||||
"repo": "ixx",
|
"repo": "ixx",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-hardware": {
|
"nix-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747900541,
|
"lastModified": 1749195551,
|
||||||
"narHash": "sha256-dn64Pg9xLETjblwZs9Euu/SsjW80pd6lr5qSiyLY1pg=",
|
"narHash": "sha256-W5GKQHgunda/OP9sbKENBZhMBDNu2QahoIPwnsF6CeM=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "11f2d9ea49c3e964315215d6baa73a8d42672f06",
|
"rev": "4602f7e1d3f197b3cb540d5accf5669121629628",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -476,11 +457,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746422338,
|
"lastModified": 1748037224,
|
||||||
"narHash": "sha256-NTtKOTLQv6dPfRe00OGSywg37A1FYqldS6xiNmqBUYc=",
|
"narHash": "sha256-92vihpZr6dwEMV6g98M5kHZIttrWahb9iRPBm1atcPk=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "5b35d248e9206c1f3baf8de6a7683fee126364aa",
|
"rev": "f09dede81861f3a83f7f06641ead34f02f37597f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -492,11 +473,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743296961,
|
"lastModified": 1748740939,
|
||||||
"narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=",
|
"narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa",
|
"rev": "656a64127e9d791a334452c6b6606d17539476e2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -507,11 +488,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-lib_2": {
|
"nixpkgs-lib_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743296961,
|
"lastModified": 1748740939,
|
||||||
"narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=",
|
"narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa",
|
"rev": "656a64127e9d791a334452c6b6606d17539476e2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -522,26 +503,26 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1732981179,
|
"lastModified": 1748437600,
|
||||||
"narHash": "sha256-F7thesZPvAMSwjRu0K8uFshTk3ZZSNAsXTIFvXBT+34=",
|
"narHash": "sha256-hYKMs3ilp09anGO7xzfGs3JqEgUqFMnZ8GMAqI6/k04=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "62c435d93bf046a5396f3016472e8f7c8e2aed65",
|
"rev": "7282cb574e0607e65224d33be8241eae7cfe0979",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"id": "nixpkgs",
|
"id": "nixpkgs",
|
||||||
"ref": "nixos-24.11",
|
"ref": "nixos-25.05",
|
||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746332716,
|
"lastModified": 1747958103,
|
||||||
"narHash": "sha256-VBmKSkmw9PYBCEGhBKzORjx+nwNZkPZyHcUHE21A/ws=",
|
"narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "6b1c028bce9c89e9824cde040d6986d428296055",
|
"rev": "fe51d34885f7b5e3e7b59572796e1bcb427eccb1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -584,27 +565,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747885982,
|
"lastModified": 1749285348,
|
||||||
"narHash": "sha256-rSuxACdwx5Ndr2thpjqcG89fj8mSSp96CFoCt0yrdkY=",
|
"narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=",
|
||||||
"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=",
|
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f",
|
"rev": "3e3afe5174c561dee0df6f2c2b2236990146329f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -614,23 +579,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_4": {
|
||||||
"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": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744868846,
|
"lastModified": 1744868846,
|
||||||
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
|
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
|
||||||
@@ -648,11 +597,11 @@
|
|||||||
},
|
},
|
||||||
"nixunstable": {
|
"nixunstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747744144,
|
"lastModified": 1749285348,
|
||||||
"narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=",
|
"narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f",
|
"rev": "3e3afe5174c561dee0df6f2c2b2236990146329f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -665,16 +614,18 @@
|
|||||||
"nixvimunstable": {
|
"nixvimunstable": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": "flake-parts_2",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": [
|
||||||
|
"nixunstable"
|
||||||
|
],
|
||||||
"nuschtosSearch": "nuschtosSearch",
|
"nuschtosSearch": "nuschtosSearch",
|
||||||
"systems": "systems_4"
|
"systems": "systems_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747945641,
|
"lastModified": 1749496904,
|
||||||
"narHash": "sha256-Ts16c+kptbC3YDwPcB/NqXFVMHPNYKeFD7LkiawbWCU=",
|
"narHash": "sha256-eNDMzrcDBOprdJs7DpMOJfCEcxribxDJP2OjozSC3Wo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "46fd0b184cbc5f1bdc5a8325cb973fc54e49ab68",
|
"rev": "e0b3d8bc3a0ab5a7cc0792c7705e92f9c5c598f3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -687,15 +638,15 @@
|
|||||||
"nurpkgs": {
|
"nurpkgs": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_3",
|
"flake-parts": "flake-parts_3",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747973449,
|
"lastModified": 1749566933,
|
||||||
"narHash": "sha256-e+DaBDI6xzd7KW+1u3jHhEzdF2Ajx5hP0bF2CFiS/F8=",
|
"narHash": "sha256-rolwj4dzqfzFMG3VGEN7zKwGTBd0XAKcvOTTEOre3XY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "e4fcae418dde38789f3f59ea07ad289a4b9bcffe",
|
"rev": "28532113cfab3f76c3a80f04ef38dca164d7b819",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -714,11 +665,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745046075,
|
"lastModified": 1748298102,
|
||||||
"narHash": "sha256-8v4y6k16Ra/fiecb4DxhsoOGtzLKgKlS+9/XJ9z0T2I=",
|
"narHash": "sha256-PP11GVwUt7F4ZZi5A5+99isuq39C59CKc5u5yVisU/U=",
|
||||||
"owner": "NuschtOS",
|
"owner": "NuschtOS",
|
||||||
"repo": "search",
|
"repo": "search",
|
||||||
"rev": "066afe8643274470f4a294442aadd988356a478f",
|
"rev": "f8a1c221afb8b4c642ed11ac5ee6746b0fe1d32f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -729,11 +680,11 @@
|
|||||||
},
|
},
|
||||||
"patched-nixpkgs": {
|
"patched-nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746961062,
|
"lastModified": 1748133736,
|
||||||
"narHash": "sha256-7krN5Ii+jFQTIQL/KDQgjU7qRpbs9Ndgd0POccM+nb0=",
|
"narHash": "sha256-8DCZF+SHXa7P9O9op2ET7qJtPomzQ49jy2vjzrHocg4=",
|
||||||
"owner": "TomaSajt",
|
"owner": "TomaSajt",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "40f15db812bdec49cd4e64ba46fc355b7e2af358",
|
"rev": "76121e3e5db9bfcc4b604b4093abea7b1aa3109e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -745,18 +696,17 @@
|
|||||||
},
|
},
|
||||||
"proxmox": {
|
"proxmox": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"crane": "crane",
|
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable_2",
|
"nixpkgs-unstable": "nixpkgs-unstable_2",
|
||||||
"utils": "utils"
|
"utils": "utils"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746882493,
|
"lastModified": 1749385025,
|
||||||
"narHash": "sha256-KbkIGJ6fe5F6AZRCzrNH3vNAnbbt+gf/PWrfMZ/B0As=",
|
"narHash": "sha256-2w6+xAMdT9LgMxDHaIyddMTacBbF7RjaZFyGjjTDBhg=",
|
||||||
"owner": "SaumonNet",
|
"owner": "SaumonNet",
|
||||||
"repo": "proxmox-nixos",
|
"repo": "proxmox-nixos",
|
||||||
"rev": "bda8df28b6656843e459f166b04bc291bc495a29",
|
"rev": "48f39fbe2e8f90f9ac160dd4b6929f3ac06d8223",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -916,14 +866,14 @@
|
|||||||
"vsext": {
|
"vsext": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_3",
|
"flake-utils": "flake-utils_3",
|
||||||
"nixpkgs": "nixpkgs_6"
|
"nixpkgs": "nixpkgs_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747965670,
|
"lastModified": 1749521131,
|
||||||
"narHash": "sha256-O91kjsTL7xccgTQr2KITmGhhLTpX9zh+oRvvV8ScOrg=",
|
"narHash": "sha256-ezZ15tLA2L+rmtn39dKLFW/UM2xlksC61V12blulpjE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-vscode-extensions",
|
"repo": "nix-vscode-extensions",
|
||||||
"rev": "d3099346fa5e9e33d0989a4e6afc3e8dedd25311",
|
"rev": "299b2aa650d32310153746135b6a84a6c4de9c21",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -940,11 +890,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746453552,
|
"lastModified": 1749574455,
|
||||||
"narHash": "sha256-r66UGha+7KVHkI7ksrcMjnw/mm9Sg4l5bQlylxHwdGU=",
|
"narHash": "sha256-fm2/8KPOYvvIAnNVtjDlTt/My00lIbZQ+LMrfQIWVzs=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"rev": "be618645aa0adf461f778500172b6896d5ab2d01",
|
"rev": "917af390377c573932d84b5e31dd9f2c1b5c0f09",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -962,11 +912,11 @@
|
|||||||
"patched-nixpkgs": "patched-nixpkgs"
|
"patched-nixpkgs": "patched-nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747467107,
|
"lastModified": 1749228292,
|
||||||
"narHash": "sha256-IIewGkpjoV6zSJNgxsL7p+wij/Q7RpDAlf0OVggK/ME=",
|
"narHash": "sha256-cavxEaS1a1jQqkQsGVUiu3Hlex3wqUfFB1LE2TXT0vA=",
|
||||||
"owner": "HPsaucii",
|
"owner": "HPsaucii",
|
||||||
"repo": "zed-editor-flake",
|
"repo": "zed-editor-flake",
|
||||||
"rev": "50b08c64d1abed4318b8289ec3f62b64b4f34231",
|
"rev": "db6c84831c7bedcf63dcecf1e0b59cddea302c62",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -39,7 +39,10 @@
|
|||||||
url = "github:nix-community/nixos-generators";
|
url = "github:nix-community/nixos-generators";
|
||||||
inputs.nixpkgs.follows = "nixunstable";
|
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";
|
nixunstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
nurpkgs.url = "github:nix-community/NUR";
|
nurpkgs.url = "github:nix-community/NUR";
|
||||||
vsext.url = "github:nix-community/nix-vscode-extensions";
|
vsext.url = "github:nix-community/nix-vscode-extensions";
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
./direnv.nix
|
./direnv.nix
|
||||||
./git.nix
|
./git.nix
|
||||||
./ssh.nix
|
./ssh.nix
|
||||||
./vim.nix
|
./vim
|
||||||
./xonsh.nix
|
./xonsh.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -1,15 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ 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;
|
colorschemes.gruvbox.enable = true;
|
||||||
globals = {
|
globals = {
|
||||||
@@ -162,7 +151,6 @@ in
|
|||||||
|
|
||||||
context-vim
|
context-vim
|
||||||
vim-indent-guides
|
vim-indent-guides
|
||||||
vim-xonsh
|
|
||||||
];
|
];
|
||||||
viAlias = true;
|
viAlias = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
home.packages = with pkgs.nerd-fonts; [ hack ];
|
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;
|
enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,6 @@
|
|||||||
{
|
{
|
||||||
# Programs that are used in the settings file
|
# Programs that are used in the settings file
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
bitwarden-cli
|
|
||||||
copier
|
copier
|
||||||
git
|
git
|
||||||
gnused
|
gnused
|
||||||
@@ -52,7 +52,7 @@ def _rebuild(args):
|
|||||||
system = uname()
|
system = uname()
|
||||||
hostname = system.nodename
|
hostname = system.nodename
|
||||||
if system.sysname == 'Darwin':
|
if system.sysname == 'Darwin':
|
||||||
darwin-rebuild --flake ~/.config/darwin switch
|
sudo darwin-rebuild switch
|
||||||
else:
|
else:
|
||||||
with TemporaryDirectory() as td:
|
with TemporaryDirectory() as td:
|
||||||
pushd @(td)
|
pushd @(td)
|
||||||
+22
-22
@@ -1,27 +1,26 @@
|
|||||||
{ top, overlays, ... }:
|
{
|
||||||
|
overlays,
|
||||||
rec {
|
top,
|
||||||
greghellings =
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
pkgs =
|
||||||
|
system:
|
||||||
|
(import top.nixunstable {
|
||||||
|
inherit system overlays;
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
allowUnfreePredicate = _: true;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
ivr =
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "aarch64-darwin";
|
||||||
pkgs = (
|
|
||||||
import top.nixunstable {
|
|
||||||
inherit system overlays;
|
|
||||||
config = {
|
|
||||||
allowUnfree = true;
|
|
||||||
allowUnfreePredicate = _: true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
);
|
|
||||||
in
|
in
|
||||||
top.hmunstable.lib.homeManagerConfiguration {
|
top.hmunstable.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
pkgs = pkgs system;
|
||||||
modules = [
|
modules = [
|
||||||
(import ../modules/nix-conf.nix {
|
../modules/nix-conf.nix
|
||||||
inherit pkgs;
|
|
||||||
inherit (pkgs) lib;
|
|
||||||
cache = false;
|
|
||||||
})
|
|
||||||
./home.nix
|
./home.nix
|
||||||
];
|
];
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
@@ -33,6 +32,7 @@ rec {
|
|||||||
username = "gregory.hellings";
|
username = "gregory.hellings";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
in
|
||||||
"gregory.hellings" = greghellings;
|
{
|
||||||
|
"MacBook-Pro.local" = ivr;
|
||||||
}
|
}
|
||||||
|
|||||||
+13
-12
@@ -2,27 +2,20 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
host ? "most",
|
host ? "most",
|
||||||
nixvim,
|
top,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
nixvim.homeManagerModules.default
|
top.nixvimunstable.homeManagerModules.nixvim
|
||||||
./modules
|
top.self.modules.homeManagerModule
|
||||||
|
./baseline
|
||||||
] ++ lib.optionals (builtins.pathExists ./hosts/${host}) [ ./hosts/${host} ];
|
] ++ lib.optionals (builtins.pathExists ./hosts/${host}) [ ./hosts/${host} ];
|
||||||
|
|
||||||
programs.tmux = {
|
home.stateVersion = "25.05";
|
||||||
enable = true;
|
|
||||||
keyMode = "vi";
|
|
||||||
terminal = "xterm-256color";
|
|
||||||
customPaneNavigationAndResize = true;
|
|
||||||
extraConfig = (lib.strings.concatStringsSep "\n" [ "bind P paste-buffer" ]);
|
|
||||||
};
|
|
||||||
|
|
||||||
home.stateVersion = "23.05";
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
bitwarden-cli
|
|
||||||
copier
|
copier
|
||||||
diffutils
|
diffutils
|
||||||
findutils
|
findutils
|
||||||
@@ -44,4 +37,12 @@
|
|||||||
wget
|
wget
|
||||||
zip
|
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
|
let
|
||||||
py = pkgs.python311.withPackages (
|
username = "gregory.hellings";
|
||||||
p: with p; [
|
|
||||||
pyyaml
|
|
||||||
ruamel-yaml
|
|
||||||
tox
|
|
||||||
]
|
|
||||||
);
|
|
||||||
x = pkgs.xonsh.override {
|
x = pkgs.xonsh.override {
|
||||||
extraPackages = (
|
extraPackages = (
|
||||||
ps: [
|
ps: [
|
||||||
@@ -23,10 +17,13 @@ let
|
|||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
# Disables hitting local cache
|
||||||
|
_module.args.cache = lib.mkForce false;
|
||||||
greg = {
|
greg = {
|
||||||
development = true;
|
development = true;
|
||||||
gui = true;
|
gui = true;
|
||||||
pypackage = py;
|
nix.cache = false;
|
||||||
|
pypackage.enable = false;
|
||||||
vscodium = true;
|
vscodium = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -34,25 +31,15 @@ in
|
|||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
aacs
|
aacs
|
||||||
ansible
|
ansible
|
||||||
bitwarden-cli
|
|
||||||
direnv
|
direnv
|
||||||
home-manager
|
home-manager
|
||||||
k9s
|
k9s
|
||||||
kubectl
|
kubectl
|
||||||
minikube
|
minikube
|
||||||
mise
|
mise
|
||||||
mysql-workbench
|
|
||||||
nixStable
|
nixStable
|
||||||
pipenv-ivr
|
pipenv-ivr
|
||||||
(poetry.withPlugins (
|
|
||||||
ps: with ps; [
|
|
||||||
poetry-audit-plugin
|
|
||||||
poetry-plugin-export
|
|
||||||
poetry-plugin-shell
|
|
||||||
]
|
|
||||||
))
|
|
||||||
pre-commit
|
pre-commit
|
||||||
robo3t
|
|
||||||
skaffold
|
skaffold
|
||||||
x
|
x
|
||||||
];
|
];
|
||||||
@@ -66,17 +53,22 @@ in
|
|||||||
" https://pypidev.ivrtechnology.com/simple/"
|
" https://pypidev.ivrtechnology.com/simple/"
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
username = "gregory.hellings";
|
username = username;
|
||||||
homeDirectory = lib.mkForce "/home/gregory.hellings";
|
homeDirectory = "/Users/${username}";
|
||||||
};
|
};
|
||||||
programs.tmux.shell = (lib.getExe x);
|
|
||||||
services.podman = {
|
programs = {
|
||||||
enable = true;
|
direnv = {
|
||||||
settings = {
|
enable = true;
|
||||||
registries.search = [
|
enableNushellIntegration = true;
|
||||||
"docker.io"
|
|
||||||
"quay.io"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
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;
|
channel = top.nixunstable;
|
||||||
hm = top.hmunstable;
|
hm = top.hmunstable;
|
||||||
nixvim = top.nixvimunstable;
|
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
machine =
|
machine =
|
||||||
@@ -19,7 +18,6 @@ let
|
|||||||
name,
|
name,
|
||||||
system ? "x86_64-linux",
|
system ? "x86_64-linux",
|
||||||
hm ? top.hm,
|
hm ? top.hm,
|
||||||
nixvim ? top.nixvimstable,
|
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
nixpkgs = import channel { inherit system; };
|
nixpkgs = import channel { inherit system; };
|
||||||
@@ -32,29 +30,18 @@ let
|
|||||||
inherit (top) self;
|
inherit (top) self;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
{
|
# Imported ones
|
||||||
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";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
top.agenix.nixosModules.default
|
top.agenix.nixosModules.default
|
||||||
hm.nixosModules.home-manager
|
hm.nixosModules.home-manager
|
||||||
top.self.modules.nixosModule
|
|
||||||
top.nurpkgs.modules.nixos.default
|
top.nurpkgs.modules.nixos.default
|
||||||
|
# Local ones
|
||||||
|
./baseline.nix
|
||||||
|
top.self.modules.nixosModule
|
||||||
./${name}
|
./${name}
|
||||||
] ++ extraMods;
|
] ++ extraMods;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
rec {
|
{
|
||||||
genesis = unstable { name = "genesis"; };
|
genesis = unstable { name = "genesis"; };
|
||||||
exodus = unstable { name = "exodus"; };
|
exodus = unstable { name = "exodus"; };
|
||||||
jude = unstable { name = "jude"; };
|
jude = unstable { name = "jude"; };
|
||||||
|
|||||||
@@ -55,4 +55,6 @@
|
|||||||
virtualisation = {
|
virtualisation = {
|
||||||
oci-containers.backend = "podman";
|
oci-containers.backend = "podman";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
users.users.greg.extraGroups = [ "podman" ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -103,7 +103,7 @@
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
hw-address = "c8:4b:d6:ca:20:8f";
|
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";
|
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
|
let
|
||||||
nixos = (import ./nixos);
|
nixos = (import ./nixos);
|
||||||
darwin = (import ./darwin);
|
hm = (import ./hm);
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
homeManagerModule = hm;
|
||||||
nixosModule = nixos;
|
nixosModule = nixos;
|
||||||
darwinModule = darwin;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./baseline
|
|
||||||
./development.nix
|
./development.nix
|
||||||
./gnome.nix
|
./gnome.nix
|
||||||
./gui.nix
|
./gui.nix
|
||||||
@@ -11,8 +11,6 @@ let
|
|||||||
cargo
|
cargo
|
||||||
gh-copilot
|
gh-copilot
|
||||||
gnumake
|
gnumake
|
||||||
libcap.dev
|
|
||||||
libmysqlclient.dev
|
|
||||||
nix-eval-jobs
|
nix-eval-jobs
|
||||||
nix-fast-build
|
nix-fast-build
|
||||||
nix-output-monitor
|
nix-output-monitor
|
||||||
@@ -57,6 +57,10 @@ in
|
|||||||
sort-method = "name";
|
sort-method = "name";
|
||||||
sort-type = "ascending";
|
sort-type = "ascending";
|
||||||
};
|
};
|
||||||
|
"org/gnome/mutter" = {
|
||||||
|
# Enables quarter-point scaling options
|
||||||
|
experimental-features = [ "scale-monitor-framebuffer" ];
|
||||||
|
};
|
||||||
"org/gnome/nautilus/preferences" = {
|
"org/gnome/nautilus/preferences" = {
|
||||||
default-folder-viewer = "icon-view";
|
default-folder-viewer = "icon-view";
|
||||||
search-filter-time-type = "last_modified";
|
search-filter-time-type = "last_modified";
|
||||||
@@ -31,6 +31,7 @@ in
|
|||||||
cdrtools
|
cdrtools
|
||||||
element-desktop
|
element-desktop
|
||||||
freetube
|
freetube
|
||||||
|
onlyoffice-bin
|
||||||
qpwgraph
|
qpwgraph
|
||||||
vlc
|
vlc
|
||||||
x265
|
x265
|
||||||
@@ -51,25 +52,24 @@ in
|
|||||||
jellyfin-media-player
|
jellyfin-media-player
|
||||||
nextcloud-client
|
nextcloud-client
|
||||||
slack
|
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
|
# Items that are not supported on ARM/Linux
|
||||||
(excludes [ "aarch64-linux" ] [
|
(excludes [ "aarch64-linux" ] [
|
||||||
onlyoffice-bin
|
|
||||||
synology-drive-client
|
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 = {
|
programs.firefox = {
|
||||||
enable = (!pkgs.stdenv.hostPlatform.isDarwin);
|
enable = true; #(!pkgs.stdenv.hostPlatform.isDarwin);
|
||||||
package = pkgs.firefox-bin;
|
package = pkgs.firefox-bin;
|
||||||
policies = {
|
policies = {
|
||||||
DisableAppUpdate = true;
|
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
|
njpwerner.autodocstring
|
||||||
rust-lang.rust-analyzer
|
rust-lang.rust-analyzer
|
||||||
tamasfe.even-better-toml
|
tamasfe.even-better-toml
|
||||||
vadimcn.vscode-lldb
|
|
||||||
vscjava.vscode-java-test
|
vscjava.vscode-java-test
|
||||||
vscjava.vscode-java-dependency
|
vscjava.vscode-java-dependency
|
||||||
vscjava.vscode-java-debug
|
vscjava.vscode-java-debug
|
||||||
+61
-47
@@ -1,58 +1,72 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
config,
|
||||||
lib,
|
lib,
|
||||||
cache,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.greg.nix;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
nix = {
|
options.greg.nix = {
|
||||||
gc = {
|
cache = lib.mkOption {
|
||||||
automatic = true;
|
type = lib.types.bool;
|
||||||
# Scheduling of them is different in nixos vs nix-darwin, so check for
|
default = true;
|
||||||
# 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="
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs.config = {
|
config = {
|
||||||
allowUnfree = true;
|
nix = {
|
||||||
allowUnfreePredicate = _: true;
|
gc = {
|
||||||
permittedInsecurePackages = [ "ventoy-1.1.05" ];
|
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 = [
|
imports = [
|
||||||
../baseline.nix
|
|
||||||
./backup.nix
|
./backup.nix
|
||||||
./ceph.nix
|
./ceph.nix
|
||||||
./container.nix
|
./container.nix
|
||||||
@@ -29,82 +25,4 @@
|
|||||||
./tailscale.nix
|
./tailscale.nix
|
||||||
./vmdev.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 = {
|
devices = {
|
||||||
chronicles.id = "7FI6Y3M-C7YQEDI-IB345L6-RKLXMB6-AEIV57Y-3J2RCXQ-MK6QRNK-EINPXAE";
|
chronicles.id = "7FI6Y3M-C7YQEDI-IB345L6-RKLXMB6-AEIV57Y-3J2RCXQ-MK6QRNK-EINPXAE";
|
||||||
genesis.id = "YDTH4SD-GUAC5AA-SSYWYPZ-YMJW5LK-LE7PZKJ-GV2UJFZ-CU7LZAD-GTYWCQK";
|
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";
|
linode.id = "IJMMXPR-WNALZBD-FMJH5W5-WV7XGJY-HLJTKGT-5TKHJIH-75LT56D-UUZCYQE";
|
||||||
matrix.id = "K5IHM3I-TJFFEW5-GAYJMPS-CYSHW5C-XHMC462-MFRMOHJ-EJLKIKC-CZHGJQ2";
|
|
||||||
};
|
};
|
||||||
options = {
|
options = {
|
||||||
urAccepted = -1;
|
urAccepted = -1;
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ func main() {
|
|||||||
// flake output type. Therefore, it just informs you that it is
|
// flake output type. Therefore, it just informs you that it is
|
||||||
// part of the output, but does not evaluate deeper to tell you
|
// 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.
|
// 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 {
|
if flakeOutput.Apps != nil {
|
||||||
for appName := range flakeOutput.Apps {
|
for appName := range flakeOutput.Apps {
|
||||||
|
|||||||
+31
-6
@@ -1,13 +1,38 @@
|
|||||||
# vim: set ft=bash:
|
# vim: set ft=bash:
|
||||||
# Build different targets with GUI or not
|
|
||||||
|
set -ex -o pipefail
|
||||||
|
|
||||||
# Build and switch
|
# Build and switch
|
||||||
user="$(whoami)"
|
system="$(uname -s)"
|
||||||
src="${HOME}/.config/nix"
|
|
||||||
echo "Building ${user}"
|
# 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)
|
dest=$(mktemp -d)
|
||||||
|
trap cleanup 1 2 3 6 15
|
||||||
|
|
||||||
|
function cleanup {
|
||||||
|
echo "Cleaning up"
|
||||||
|
rm -r "${dest}"
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
pushd "${dest}" > /dev/null
|
pushd "${dest}" > /dev/null
|
||||||
nom build "${src}#homeConfigurations.\"${user}\".activationPackage"
|
nom build "${src}#homeConfigurations.\"${target}\".activationPackage"
|
||||||
./result/activate
|
./result/activate
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
rm -r "${dest}"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user