Compare commits

...

11 Commits

Author SHA1 Message Date
John Lancaster
3e4dd6d1d2 pinned python 3.12 2025-08-25 22:10:04 -05:00
John Lancaster
4466e39a55 fixed telegraf 2025-06-19 13:54:06 -05:00
John Lancaster
ba912d0562 fixed extraPaths 2025-06-16 14:26:43 -05:00
John Lancaster
0b5a00afb6 moved home-manager 2025-06-16 14:23:54 -05:00
John Lancaster
367a21894e using variable userName 2025-06-16 14:19:48 -05:00
John Lancaster
9bc1120795 flake update 2025-06-16 14:14:51 -05:00
John Lancaster
fc29989709 added lazydocker 2025-06-16 14:14:36 -05:00
John Lancaster
45840d962d pruning 2025-06-16 14:14:28 -05:00
John Lancaster
fbda875a6f restructuring for new nix-home flake 2025-06-16 14:05:08 -05:00
John Lancaster
83db5f51ce renamed git-hooks to silence warning 2025-06-02 09:56:35 -05:00
John Lancaster
a501d9f4b1 flake updates 2025-06-02 09:54:39 -05:00
10 changed files with 171 additions and 224 deletions

View File

@@ -27,7 +27,11 @@
}, },
"python.defaultInterpreterPath": "${workspaceFolder}/.devenv/state/venv/bin/python3", "python.defaultInterpreterPath": "${workspaceFolder}/.devenv/state/venv/bin/python3",
"python.autoComplete.extraPaths": ["~/ad-lola", "${fileWorkspaceFolder}/apps/room_control/src"], "python.autoComplete.extraPaths": ["~/ad-lola", "${fileWorkspaceFolder}/apps/room_control/src"],
"python.analysis.extraPaths": ["~/ad-lola", "${fileWorkspaceFolder}/apps/room_control/src"], "python.analysis.extraPaths": [
"~/ad-lola",
"${workspaceFolder:conf}/lola/apps/room_control/src",
"${workspaceFolder:conf}/lola/apps/lola-parking/src"
],
"python.analysis.autoFormatStrings": true, "python.analysis.autoFormatStrings": true,
"python.analysis.completeFunctionParens": true, "python.analysis.completeFunctionParens": true,
"python.analysis.autoImportCompletions": true, "python.analysis.autoImportCompletions": true,

View File

@@ -1,7 +1,7 @@
{ pkgs, lib, userSettings, systemSettings, ... }: { pkgs, lib, userSettings, systemSettings, ... }:
{ {
imports = [ imports = [
(import ./home-manager {inherit systemSettings userSettings lib pkgs;}) # (import ./home-manager {inherit systemSettings userSettings lib pkgs;})
./nixos ./nixos
./scripts ./scripts
]; ];
@@ -23,12 +23,8 @@
# sops.age.keyFile = "${userSettings.adHome}/.config/sops/age/keys.txt"; # sops.age.keyFile = "${userSettings.adHome}/.config/sops/age/keys.txt";
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
bash
git
eza
sops sops
gdbm gdbm
btop
]; ];
virtualisation.docker.enable = true; virtualisation.docker.enable = true;

186
flake.lock generated
View File

@@ -9,16 +9,20 @@
"devenv" "devenv"
], ],
"git-hooks": [ "git-hooks": [
"devenv" "devenv",
"git-hooks"
], ],
"nixpkgs": "nixpkgs" "nixpkgs": [
"devenv",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1742042642, "lastModified": 1748883665,
"narHash": "sha256-D0gP8srrX0qj+wNYNPdtVJsQuFzIng3q43thnHXQ/es=", "narHash": "sha256-R0W7uAg+BLoHjMRMQ8+oiSbTq8nkGz5RDpQ+ZfxxP3A=",
"owner": "cachix", "owner": "cachix",
"repo": "cachix", "repo": "cachix",
"rev": "a624d3eaf4b1d225f918de8543ed739f2f574203", "rev": "f707778d902af4d62d8dd92c269f8e70de09acbe",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -39,11 +43,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1743783972, "lastModified": 1756048064,
"narHash": "sha256-5wPsNCnWmeLpLxavsftA9L7tnYgtlexV7FwLegxtpy4=", "narHash": "sha256-mVgB6qWhLrCW6AciLyFXosDKKZFtBgqvixcA8a07s+g=",
"owner": "cachix", "owner": "cachix",
"repo": "devenv", "repo": "devenv",
"rev": "2f53e2f867e0c2ba18b880e66169366e5f8ca554", "rev": "3fb20c149d329b01a2b519fbb2a9ca3e6e6e1b05",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -55,11 +59,11 @@
"flake-compat": { "flake-compat": {
"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": {
@@ -71,11 +75,11 @@
"flake-compat_2": { "flake-compat_2": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1696426674, "lastModified": 1747046372,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -93,11 +97,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1712014858, "lastModified": 1733312601,
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -127,7 +131,8 @@
"git-hooks": { "git-hooks": {
"inputs": { "inputs": {
"flake-compat": [ "flake-compat": [
"devenv" "devenv",
"flake-compat"
], ],
"gitignore": "gitignore", "gitignore": "gitignore",
"nixpkgs": [ "nixpkgs": [
@@ -136,11 +141,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1742649964, "lastModified": 1750779888,
"narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -178,11 +183,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1744172174, "lastModified": 1756022458,
"narHash": "sha256-Ud0ClYf8YHhbYmg1piPJx2iuYOh62HQiRzDObD2gzsk=", "narHash": "sha256-J1i35r4HfNDdPpwL0vOBaZopQudAUVtartEerc1Jryc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "4040c5779ce56d36805bc7a83e072f0f894eae7d", "rev": "9e3a33c0bcbc25619e540b9dfea372282f8a9740",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -191,62 +196,92 @@
"type": "github" "type": "github"
} }
}, },
"libgit2": { "home-manager_2": {
"flake": false, "inputs": {
"nixpkgs": [
"nix-home",
"nixpkgs"
]
},
"locked": { "locked": {
"lastModified": 1697646580, "lastModified": 1750033262,
"narHash": "sha256-oX4Z3S9WtJlwvj0uH9HlYcWv+x1hqp8mhXl7HsLu2f0=", "narHash": "sha256-TcFN78w6kPspxpbPsxW/8vQ1GAtY8Y3mjBaC+oB8jo4=",
"owner": "libgit2", "owner": "nix-community",
"repo": "libgit2", "repo": "home-manager",
"rev": "45fd9ed7ae1a9b74b957ef4f337bc3c8b3df01b5", "rev": "66523b0efe93ce5b0ba96dcddcda15d36673c1f0",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "libgit2", "owner": "nix-community",
"repo": "libgit2", "repo": "home-manager",
"type": "github" "type": "github"
} }
}, },
"nix": { "nix": {
"inputs": { "inputs": {
"flake-compat": [ "flake-compat": [
"devenv" "devenv",
"flake-compat"
], ],
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"libgit2": "libgit2", "git-hooks-nix": [
"nixpkgs": "nixpkgs_2", "devenv",
"git-hooks"
],
"nixpkgs": [
"devenv",
"nixpkgs"
],
"nixpkgs-23-11": [ "nixpkgs-23-11": [
"devenv" "devenv"
], ],
"nixpkgs-regression": [ "nixpkgs-regression": [
"devenv" "devenv"
],
"pre-commit-hooks": [
"devenv"
] ]
}, },
"locked": { "locked": {
"lastModified": 1741798497, "lastModified": 1755029779,
"narHash": "sha256-E3j+3MoY8Y96mG1dUIiLFm2tZmNbRvSiyN7CrSKuAVg=", "narHash": "sha256-3+GHIYGg4U9XKUN4rg473frIVNn8YD06bjwxKS1IPrU=",
"owner": "domenkozar", "owner": "cachix",
"repo": "nix", "repo": "nix",
"rev": "f3f44b2baaf6c4c6e179de8cbb1cc6db031083cd", "rev": "b0972b0eee6726081d10b1199f54de6d2917f861",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "domenkozar", "owner": "cachix",
"ref": "devenv-2.24", "ref": "devenv-2.30",
"repo": "nix", "repo": "nix",
"type": "github" "type": "github"
} }
}, },
"nix-home": {
"inputs": {
"home-manager": "home-manager_2",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1750825763,
"narHash": "sha256-gUtcO/8Bcw4YerJpSIRu+Q2MYKxWrtT+8Bp3Mh1Qfmw=",
"ref": "refs/heads/main",
"rev": "1ab1e4b9e610dcd40a3d728f377b6ac8a302d977",
"revCount": 26,
"type": "git",
"url": "https://gitea.john-stream.com/john/nix-home"
},
"original": {
"type": "git",
"url": "https://gitea.john-stream.com/john/nix-home"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1733212471, "lastModified": 1755615617,
"narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "55d15ad12a74eb7d4646254e13638ad0c4128776", "rev": "20075955deac2583bb12f07151c2df830ef346b4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -264,11 +299,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1743514126, "lastModified": 1755249745,
"narHash": "sha256-8zYFAsE4zlmc3MRZVLDBSHYF37posV+TxD6CNXqdxG0=", "narHash": "sha256-lDIbUfJ8xK62ekG+qojTlA1raHpKdScBTx8IFlQYx9U=",
"owner": "cachix", "owner": "cachix",
"repo": "nixpkgs-python", "repo": "nixpkgs-python",
"rev": "40d2237867f219de1c1362e3d067a1673afa5f82", "rev": "b6632af2db9f47c79dac8f4466388c7b1b6c3071",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -278,38 +313,6 @@
} }
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": {
"lastModified": 1717432640,
"narHash": "sha256-+f9c4/ZX5MWDOuB1rKoWj+lBNm0z0rs4CK47HBLxy1o=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "88269ab3044128b7c2f4c7d68448b2fb50456870",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1744098102,
"narHash": "sha256-tzCdyIJj9AjysC3OuKA+tMD/kDEDAF9mICPDU7ix0JA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c8cd81426f45942bb2906d5ed2fe21d2f19d95b7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1682134069, "lastModified": 1682134069,
"narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=", "narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=",
@@ -327,7 +330,8 @@
"inputs": { "inputs": {
"devenv": "devenv", "devenv": "devenv",
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs_3", "nix-home": "nix-home",
"nixpkgs": "nixpkgs",
"nixpkgs-python": "nixpkgs-python", "nixpkgs-python": "nixpkgs-python",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"vscode-server": "vscode-server" "vscode-server": "vscode-server"
@@ -340,11 +344,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1744103455, "lastModified": 1754988908,
"narHash": "sha256-SR6+qjkPjGQG+8eM4dCcVtss8r9bre/LAxFMPJpaZeU=", "narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "69d5a5a4635c27dae5a742f36108beccc506c1ba", "rev": "3223c7a92724b5d804e9988c6b447a0d09017d48",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -371,14 +375,14 @@
"vscode-server": { "vscode-server": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1729422940, "lastModified": 1753541826,
"narHash": "sha256-DlvJv33ml5UTKgu4b0HauOfFIoDx6QXtbqUF3vWeRCY=", "narHash": "sha256-foGgZu8+bCNIGeuDqQ84jNbmKZpd+JvnrL2WlyU4tuU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-vscode-server", "repo": "nixos-vscode-server",
"rev": "8b6db451de46ecf9b4ab3d01ef76e59957ff549f", "rev": "6d5f074e4811d143d44169ba4af09b20ddb6937d",
"type": "github" "type": "github"
}, },
"original": { "original": {

131
flake.nix
View File

@@ -18,6 +18,10 @@
url = "github:cachix/devenv"; url = "github:cachix/devenv";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nix-home = {
url = "git+https://gitea.john-stream.com/john/nix-home";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
nixConfig = { nixConfig = {
@@ -25,14 +29,12 @@
extra-substituters = "https://devenv.cachix.org"; extra-substituters = "https://devenv.cachix.org";
}; };
outputs = { self, ... }@args: outputs = { self, ... }@inputs:
let let
inherit (self) outputs; inherit (self) outputs;
nixosSystem = args.nixpkgs.lib.nixosSystem; nixosSystem = inputs.nixpkgs.lib.nixosSystem;
userSettings = { userSettings = {
gitUserName = "John Lancaster";
gitUserEmail = "32917998+jsl12@users.noreply.github.com";
userName = "appdaemon"; userName = "appdaemon";
adHome = "/home/appdaemon"; adHome = "/home/appdaemon";
}; };
@@ -43,29 +45,26 @@
system = "x86_64-linux"; system = "x86_64-linux";
timeZone = "America/Chicago"; timeZone = "America/Chicago";
locale = "en_US.UTF-8"; locale = "en_US.UTF-8";
# pythonVersion = "3.11.10"; # This is largely irrelevant because uv will handle it pythonVersion = "3.12"; # This is largely irrelevant because uv will handle it
}; };
pkgs = args.nixpkgs.legacyPackages.${systemSettings.system}; pkgs = inputs.nixpkgs.legacyPackages.${systemSettings.system};
in in
{ {
nixosConfigurations.${systemSettings.hostName} = nixosSystem { nixosConfigurations.${systemSettings.hostName} = nixosSystem {
system = systemSettings.system; system = systemSettings.system;
specialArgs = specialArgs = {
let
inputs = args;
in
{
inherit inputs; inherit inputs;
inherit systemSettings; inherit systemSettings;
inherit userSettings; inherit userSettings;
}; };
modules = [ modules = [
(args.nixpkgs + "/nixos/modules/virtualisation/proxmox-lxc.nix") (inputs.nixpkgs + "/nixos/modules/virtualisation/proxmox-lxc.nix")
args.home-manager.nixosModules.default inputs.home-manager.nixosModules.default
args.vscode-server.nixosModules.default inputs.nix-home.nixosModules.default { user = "${userSettings.userName}"; }
args.sops-nix.nixosModules.sops inputs.vscode-server.nixosModules.default
inputs.sops-nix.nixosModules.sops
./configuration.nix ./configuration.nix
]; ];
}; };
@@ -76,71 +75,67 @@
devenv-test = self.devShells.${systemSettings.system}.default.config.test; devenv-test = self.devShells.${systemSettings.system}.default.config.test;
}; };
devShells.${systemSettings.system}.default = devShells.${systemSettings.system}.default = inputs.devenv.lib.mkShell {
let inherit inputs pkgs;
inputs = args; modules = [
in ({ pkgs, config, ... }: {
args.devenv.lib.mkShell { # This is your devenv configuration
inherit inputs pkgs;
modules = [
({ pkgs, config, ... }: {
# This is your devenv configuration
# https://devenv.sh/reference/options/#pre-commithooks # https://devenv.sh/reference/options/#pre-commithooks
pre-commit.hooks = { git-hooks.hooks = {
end-of-file-fixer.enable = true; end-of-file-fixer.enable = true;
trim-trailing-whitespace.enable = true; trim-trailing-whitespace.enable = true;
}; };
# https://devenv.sh/supported-languages/python/ # https://devenv.sh/supported-languages/python/
languages.python = { languages.python = {
enable = true;
version = systemSettings.pythonVersion;
uv = {
enable = true; enable = true;
# version = systemSettings.pythonVersion; package = pkgs.uv;
uv = { sync = {
enable = true; enable = true;
package = pkgs.uv; allExtras = true;
sync = { arguments = [ "-U" ];
enable = true;
allExtras = true;
arguments = [ "-U" ];
};
}; };
}; };
};
packages = with pkgs; [ packages = with pkgs; [
git git
gdbm
# (python312.withPackages (python-pkgs: with python-pkgs; [ gdbm ]))
(python312.withPackages (python-pkgs: with python-pkgs; [
gdbm gdbm
# (python312.withPackages (python-pkgs: with python-pkgs; [ gdbm ])) notebook # kinda hacky, but needed so that jupyter notebook has some shared library it needs?
(python312.withPackages (python-pkgs: with python-pkgs; [ ]))
gdbm (writeShellScriptBin "docs" "${pkgs.uv}/bin/uv run sphinx-autobuild -E ./docs/ ./docs_build --port 9999")
notebook # kinda hacky, but needed so that jupyter notebook has some shared library it needs? (writeShellScriptBin "ab" "${pkgs.uv}/bin/uv build --wheel --refresh")
])) (writeShellScriptBin "adb" "ab && ${pkgs.docker}/bin/docker build -t acockburn/appdaemon:local-dev .")
(writeShellScriptBin "docs" "${pkgs.uv}/bin/uv run sphinx-autobuild -E ./docs/ ./docs_build --port 9999") # (writeShellScriptBin "ad-nb" "cd $(readlink -f /etc/nixos) && devenv up")
(writeShellScriptBin "ab" "${pkgs.uv}/bin/uv build --wheel --refresh") ];
(writeShellScriptBin "adb" "ab && ${pkgs.docker}/bin/docker build -t acockburn/appdaemon:local-dev .")
# (writeShellScriptBin "ad-nb" "cd $(readlink -f /etc/nixos) && devenv up")
];
# processes = { # processes = {
# my-jup.exec = "uv run jupyter notebook"; # my-jup.exec = "uv run jupyter notebook";
# }; # };
enterShell = '' enterShell = ''
alias fix="${pkgs.uv}/bin/uv run ruff check --fix" alias fix="${pkgs.uv}/bin/uv run ruff check --fix"
# alias appdaemon="${pkgs.uv}/bin/uv run --frozen python -m appdaemon" alias appdaemon="${pkgs.uv}/bin/uv run --frozen appdaemon"
# alias ad="appdaemon" # alias ad="appdaemon"
export PS1="\[\e[0;34m\](AppDaemon)\[\e[0m\] \[\033[1;32m\][\[\e]0;\u@\h: \w\a\]\u@\h:\w]\$\[\033[0m\] " export PS1="\[\e[0;34m\](AppDaemon)\[\e[0m\] \[\033[1;32m\][\[\e]0;\u@\h: \w\a\]\u@\h:\w]\$\[\033[0m\] "
export VIRTUAL_ENV=$UV_PROJECT_ENVIRONMENT export VIRTUAL_ENV=$UV_PROJECT_ENVIRONMENT
echo -e "URL: \e[34m$(${pkgs.git}/bin/git config --get remote.origin.url)\e[0m" echo -e "URL: \e[34m$(${pkgs.git}/bin/git config --get remote.origin.url)\e[0m"
echo -e "Branch/Tag: \e[32m$(${pkgs.git}/bin/git describe --tags --exact-match 2>/dev/null || ${pkgs.git}/bin/git rev-parse --abbrev-ref HEAD)\e[0m" echo -e "Branch/Tag: \e[32m$(${pkgs.git}/bin/git describe --tags --exact-match 2>/dev/null || ${pkgs.git}/bin/git rev-parse --abbrev-ref HEAD)\e[0m"
echo -e "Hash: \e[33m$(${pkgs.git}/bin/git rev-parse --short HEAD)\e[0m" echo -e "Hash: \e[33m$(${pkgs.git}/bin/git rev-parse --short HEAD)\e[0m"
echo "AppDaemon v$(${pkgs.uv}/bin/uv pip show appdaemon | awk '/^Version:/ {print $2}') development shell started" echo "AppDaemon v$(${pkgs.uv}/bin/uv pip show appdaemon | awk '/^Version:/ {print $2}') development shell started"
''; '';
}) })
]; ];
}; };
}; };
} }

View File

@@ -1,12 +0,0 @@
{ userSettings, ... }:
{
programs.git = {
enable = true;
extraConfig.credential.helper = "store --file ~/.git-credentials";
userName = "${userSettings.gitUserName}";
userEmail = "${userSettings.gitUserEmail}";
extraConfig = {
safe.directory = "/home/appdaemon/ad-nix";
};
};
}

View File

@@ -1,23 +0,0 @@
{ ... }:
{
programs.zsh = {
enable = true;
oh-my-zsh = {
enable = true;
# https://github.com/ohmyzsh/ohmyzsh/wiki/themes
# theme = "robbyrussell";
# theme = "simple";
theme = "risto";
plugins = [
"sudo"
"dotenv"
"git"
"ssh"
"ssh-agent"
];
};
shellAliases = {
ls = "eza -lgs type -o --no-time";
};
};
}

View File

@@ -1,6 +1,7 @@
{ ... }: { ... }:
{ {
imports = [ imports = [
./home-manager.nix
./docker ./docker
./services ./services
]; ];

View File

@@ -9,28 +9,19 @@
users.users.${userSettings.userName} = { users.users.${userSettings.userName} = {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "wheel" "docker" ]; extraGroups = [ "wheel" "docker" ];
openssh.authorizedKeys.keyFiles = [ ../secrets/authorized_keys ];
shell = "${pkgs.zsh}/bin/zsh";
}; };
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
users.${userSettings.userName} = { ... }: { users.${userSettings.userName} = {
home.stateVersion = systemSettings.stateVersion; home.stateVersion = systemSettings.stateVersion;
home.homeDirectory = lib.mkForce "${userSettings.adHome}"; home.homeDirectory = lib.mkForce "${userSettings.adHome}";
systemd.user.startServices = "sd-switch"; # helps with handling systemd services when switching systemd.user.startServices = "sd-switch"; # helps with handling systemd services when switching
imports = [ programs.gh.enable = true;
(import ./zsh.nix) programs.git.extraConfig.safe.directory = "/home/appdaemon/ad-nix";
(import ./git.nix {inherit userSettings;})
];
home.packages = with pkgs; [ home.packages = with pkgs; [
# Add any additional packages you want to install in your home directory lazydocker
superfile
]; ];
programs = {
ssh.enable = true;
gh.enable = true;
};
}; };
}; };
} }

View File

@@ -1,6 +1,6 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let let
influxURL = "http://panoptes.john-stream.com:8086"; influxURL = "https://influxdb.john-stream.com";
organization = "homelab"; organization = "homelab";
bucket = "docker"; bucket = "docker";
token = "${builtins.readFile config.sops.secrets."telegraf_influx_token".path}"; token = "${builtins.readFile config.sops.secrets."telegraf_influx_token".path}";
@@ -41,7 +41,6 @@ in
container_name_include = []; container_name_include = [];
timeout = "5s"; timeout = "5s";
perdevice_include = ["cpu" "blkio" "network"]; perdevice_include = ["cpu" "blkio" "network"];
total = false;
docker_label_include = []; docker_label_include = [];
}; };
}; };

View File

@@ -1,17 +1,9 @@
{ pkgs, systemSettings, ... }: { pkgs, systemSettings, ... }:
{ {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
(pkgs.writeShellScriptBin "nfs" ''
sudo nixos-rebuild switch --flake $(readlink -f /etc/nixos)#${systemSettings.hostName} --impure
'')
(pkgs.writeShellScriptBin "nfsu" ''
FLAKE=$(readlink -f /etc/nixos)
nix flake update --flake $FLAKE --impure
git -C $FLAKE add "$FLAKE/flake.lock" > /dev/null 2>&1
sudo nixos-rebuild switch --flake $FLAKE#${systemSettings.hostName} --impure
'')
(pkgs.writeShellScriptBin "ads" "nix develop --no-pure-eval $(readlink -f /etc/nixos)") (pkgs.writeShellScriptBin "ads" "nix develop --no-pure-eval $(readlink -f /etc/nixos)")
(pkgs.writeShellScriptBin "link-nix" "${builtins.readFile ./link-nix.sh}") (pkgs.writeShellScriptBin "link-nix" "${builtins.readFile ./link-nix.sh}")
(pkgs.writeShellScriptBin "sops-ad" "sops $(readlink -f /etc/nixos)/secrets/encrypted_secrets.yaml") (pkgs.writeShellScriptBin "sops-ad" "sops $(readlink -f /etc/nixos)/secrets/encrypted_secrets.yaml")
(pkgs.writeShellScriptBin "lola-up" "docker compose -f /conf/lola/docker-compose.yml up -d")
]; ];
} }