Merge branch 'main' of src:greg/nixos-config

This commit is contained in:
Greg Hellings
2025-06-11 00:25:55 -05:00
6 changed files with 64 additions and 53 deletions
+19 -4
View File
@@ -1,6 +1,7 @@
stages: stages:
- eval - eval
- build - build
- push
default: default:
tags: tags:
@@ -24,13 +25,27 @@ default:
"Build image": "Build image":
stage: build stage: build
parallel: parallel: &parallel
matrix: matrix:
- IMG: - IMG:
- img-bitwarden - img-bitwarden
artifacts:
paths:
- "*.tar.gz"
script: script:
- nix run "nixpkgs#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}"
- nix run "nixpkgs#podman" -- load -i result - cp -L result "${IMG}.tar.gz"
- 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" "Push Image":
stage: push
parallel: *parallel
dependencies:
- "Build image"
image: podman:latest
tags:
- kubernetes
script:
- podman load -i "${IMG}.tar.gz"
- podman tag "localhost/${IMG}:latest" "$CI_REGISTRY/greg/ci-images/${IMG}:latest"
- podman push "$CI_REGISTRY/greg/ci-images/${IMG}:latest"
+8 -8
View File
@@ -13,10 +13,8 @@ let
allowUnfreePredicate = _: true; allowUnfreePredicate = _: true;
}; };
}); });
ivr = user =
let system: host: username:
system = "aarch64-darwin";
in
top.hmunstable.lib.homeManagerConfiguration { top.hmunstable.lib.homeManagerConfiguration {
pkgs = pkgs system; pkgs = pkgs system;
modules = [ modules = [
@@ -24,15 +22,17 @@ let
./home.nix ./home.nix
]; ];
extraSpecialArgs = { extraSpecialArgs = {
inherit top; inherit top host username;
nixvim = top.nixvimunstable; nixvim = top.nixvimunstable;
gui = false; gui = false;
gnome = false; gnome = false;
host = "ivr";
username = "gregory.hellings";
}; };
}; };
greg = host: (user "x86_64-linux" host "greg");
in in
{ {
"MacBook-Pro.local" = ivr; "MacBook-Pro.local" = user "aarch64-darwin" "ivr" "gregory.hellings";
exodus = greg "exodus";
jude = greg "jude";
isaiah = greg "isaiah";
} }
+36 -24
View File
@@ -3,9 +3,18 @@
lib, lib,
host ? "most", host ? "most",
top, top,
username,
... ...
}: }:
let
homeDirectory =
if pkgs.stdenv.hostPlatform.isDarwin then
"/Users/${username}"
else if username == "root" then
"/root"
else
"/home/${username}";
in
{ {
imports = [ imports = [
top.nixvimunstable.homeManagerModules.nixvim top.nixvimunstable.homeManagerModules.nixvim
@@ -13,30 +22,33 @@
./baseline ./baseline
] ++ lib.optionals (builtins.pathExists ./hosts/${host}) [ ./hosts/${host} ]; ] ++ lib.optionals (builtins.pathExists ./hosts/${host}) [ ./hosts/${host} ];
home.stateVersion = "25.05"; home = {
inherit homeDirectory username;
home.packages = with pkgs; [ packages = with pkgs; [
copier copier
diffutils diffutils
findutils findutils
gh gh
git git
gnupatch gnupatch
hms hms
btop btop
inetutils inetutils
jq jq
nano nano
nix-prefetch nix-prefetch
nmap nmap
openssl openssl
setup-ssh setup-ssh
tmux tmux
tree tree
unzip unzip
wget wget
zip zip
]; ];
stateVersion = "25.05";
};
programs.tmux = { programs.tmux = {
enable = true; enable = true;
+1 -1
View File
@@ -210,7 +210,7 @@ in
shell = config.programs.xonsh.package; shell = config.programs.xonsh.package;
initialPassword = "password"; initialPassword = "password";
openssh.authorizedKeys.keys = lib.strings.splitString "\n" ( openssh.authorizedKeys.keys = lib.strings.splitString "\n" (
builtins.readFile ../../home/ssh/authorized_keys builtins.readFile ../home/ssh/authorized_keys
); );
}; };
-3
View File
@@ -1,7 +1,6 @@
{ {
config, config,
lib, lib,
pkgs,
top, top,
... ...
}: }:
@@ -23,8 +22,6 @@
]; ];
}; };
environment.defaultPackages = [ pkgs.code-cursor ];
greg = { greg = {
home = true; home = true;
gnome.enable = true; gnome.enable = true;
-13
View File
@@ -1,5 +1,4 @@
{ {
config,
lib, lib,
top, top,
... ...
@@ -75,18 +74,6 @@
}; };
services = { services = {
gitlab-runner = {
enable = true;
settings = {
concurrent = 5;
};
services = {
kubernetes = {
authenticationTokenConfigFile = config.age.secrets.runner-reg.path;
executor = "shell";
};
};
};
k3s.clusterInit = true; # This is the first node in the cluster k3s.clusterInit = true; # This is the first node in the cluster
openssh = { openssh = {
enable = true; enable = true;