From 5e2a8ff3121dc24d86b4b027fd9f4243c562b1a0 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Mon, 9 Dec 2024 11:04:14 -0600 Subject: [PATCH 01/13] feat: Add ability to use unstable packages --- flake.lock | 19 ++++++++++++++++++- flake.nix | 6 +++++- home.nix | 3 ++- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index a95ef8f..d3e518a 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,28 @@ "type": "github" } }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1733656523, + "narHash": "sha256-w0FXPfpGhOihoJDiwMsyN1EzpsXi2F8VQ+NVZQSMtys=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "93dc9803a1ee435e590b02cde9589038d5cc3a4e", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "agenix": "agenix", "home-manager": "home-manager_2", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "nixpkgs-unstable": "nixpkgs-unstable" } }, "systems": { diff --git a/flake.nix b/flake.nix index f4c8e80..2579988 100644 --- a/flake.nix +++ b/flake.nix @@ -4,6 +4,7 @@ inputs = { # Specify the source of Home Manager and Nixpkgs. nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; home-manager = { url = "github:nix-community/home-manager/release-24.11"; inputs.nixpkgs.follows = "nixpkgs"; @@ -14,7 +15,7 @@ }; }; - outputs = { nixpkgs, home-manager, agenix, ... }: + outputs = { nixpkgs, nixpkgs-unstable, home-manager, agenix, ... }: let system = "aarch64-darwin"; pkgs = nixpkgs.legacyPackages.${system}; @@ -29,6 +30,9 @@ # Optionally use extraSpecialArgs # to pass through arguments to home.nix + extraSpecialArgs = { + pkgs-unstable = nixpkgs-unstable.legacyPackages.${system}; + }; }; }; } diff --git a/home.nix b/home.nix index b81e9f2..9baa061 100644 --- a/home.nix +++ b/home.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, pkgs, pkgs-unstable, ... }: { # Home Manager needs a bit of information about you and the paths it should @@ -39,6 +39,7 @@ lsd lynx most + musescore neovide nil nixd From b1863155f8e6677f52e3d0d16517014ab3e0d2d6 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Mon, 9 Dec 2024 11:14:32 -0600 Subject: [PATCH 02/13] pkg: Add qownnotes --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index 9baa061..0ec6214 100644 --- a/home.nix +++ b/home.nix @@ -48,6 +48,7 @@ pinentry_mac pipx python3 + qownnotes quarto shellcheck sketchybar-app-font From 3fd6ae765110d8af37d7f81c55892f1248b13c91 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Mon, 9 Dec 2024 11:16:58 -0600 Subject: [PATCH 03/13] Revert "pkg: Add qownnotes" It turns out that qownnotes is broken on darwin This reverts commit b1863155f8e6677f52e3d0d16517014ab3e0d2d6. --- home.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home.nix b/home.nix index 0ec6214..9baa061 100644 --- a/home.nix +++ b/home.nix @@ -48,7 +48,6 @@ pinentry_mac pipx python3 - qownnotes quarto shellcheck sketchybar-app-font From 4ab254082a2bed464d270c02abd3fb78df20ca2b Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Mon, 9 Dec 2024 11:39:40 -0600 Subject: [PATCH 04/13] wip: Add password decryption --- secrets/nextcloud-password.age | 17 +++++++++++++++++ secrets/secrets.nix | 7 +++++++ 2 files changed, 24 insertions(+) create mode 100644 secrets/nextcloud-password.age create mode 100644 secrets/secrets.nix diff --git a/secrets/nextcloud-password.age b/secrets/nextcloud-password.age new file mode 100644 index 0000000..2e0611a --- /dev/null +++ b/secrets/nextcloud-password.age @@ -0,0 +1,17 @@ +age-encryption.org/v1 +-> ssh-rsa bEJDHQ +TJA2CxSMcETzzc1R5xCAhVe76nevyLfHNVmnhYQjvFU0h+Cr7BbmaKfWRaegh1ot +OBSQdGLwe7Vbcc2dsVpoQHwNHP/dRb1QM6rc28kRLGrRQVzz93ZkrS2P0i1qI6oU +sO0f7PY+q3FXTC0vNr9f7tCFDEKxc9culd7TZpyI9IL820sFJ9xVsgM6z1cGs7+H +nxq1HuOv3/9e6v44Y2zQed1Ecsr+r3uj+sL3OZFuWc3MQL6uzGui6oqW6SPnIsCO +DeuXfxZM5EYkZQdIVN4VSCa0R7dGRhECETRE1ebfoCK2udU6z6McBSX0fZqw6hOW +H0p8WAnd2mR6FhIwwCt0DLDv+fNw822Zw3LgoVYSeJok/HIHjV1FFI7e9L/auaAq +/ME05nHnQl7KbEHASylwFgeM6q+IVihUBuwLlYc3LqmnCSfvcSSKOxC1SYIUpGHt ++WCIpinBpwgEw8mzupWk4SrB2lCQz/QHZ1xMJyOHY0+qvl3ymKcNtPBpixM/uLoP +RthRW60Zh6e2uZflrvCCYKXVcbXEhZreeYJosDfTLZS0YD0IR9u3PHk2QRzjFpL4 +mHtVRJzyVlJUKVGbJGWoku97slcqLtpU+xPzt6fE7orjlFKHNWKSFEoGgMOxxDHM +wOY1Ka1QdMvm7OSfsNXa3KbXg5HDuvPMS/pDEXkkSNc +-> ssh-ed25519 dbKeHw 0cXhuCrGv/QYZmZvRKg/5R0vFu5C6LBR1MKDqKI6UWY +j+XYqhAfV5AjzcaWFjFNrcS5PfCvUxLP6YXhvgaAJFw +--- 2gAo5+tlcCSJA0wlYpfHc/2CTWOnM/qKIbT3qY1HN78 +nBiUzR]ʮu׾A86%E eRps_]vыV \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix new file mode 100644 index 0000000..46e48f6 --- /dev/null +++ b/secrets/secrets.nix @@ -0,0 +1,7 @@ +let + millironx = + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCgIDIuH/MqCiCdqopPCbdx6zKzDwFNxZJUTqVEZ74O0LdfsL22a/sSJDDjowp5cXK4NzLwi990ld2Yh+65it620Zusfub3qWfwIsTvYG+IkN3Vkrkki4ELLBlJfh69CjQv1MgBlM0TF5gL56411kxLTWmhaFUJDgt0jlfQQNyEoDdfq2rJZ1kbPS6EPoPWeVL1i+b2S5zVOHayrmRwvn5TVN66yxGaRufWTcdGibgrxByyg01/3W4mBFiJHVcnHAbN6rsdOV/I6PP/Z6yRRoHU/vf1F/nh6uWZuK4araAo+al6gxgXGfrJnQNkTDqwDa0GLc71QDNPjoUk2fjORJQsGFq2jA8+aiWukxAtgUjZIFKeMAbFVZGz9jMQK4a/7qf80set0tRzz9UKIEb5RjR+Lvm8S2xEiKLOu7aGfeFGMEUzAdG8cSmxcfwkZs1rWN1IS/0PumLu7MGnFq/Yl11mOlAjjvKNuh2dAttsqtG2yE3XdvhU1vSQkimJzogUKoWewupDFzteUt43Jen/7npDZ6R1NGJORVKsDZ+7I4Ivm7EPJV1Die/+JpX8TxKyTXKeuiazKNP2fDZU3cec5pWLTJPbn9aLsWaBx5AZ/MvqVtdSsxfFqgEOyZXJHBbP9Iv3gQ0bHP8QNO3t4gIuAmzfAkxv5x/D9HQEVNYwJyglaw== cardno:18_319_764"; + corianne = + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOgL2lO9RJBdQYANoxGyWXcNKi5/NZkRHHo/rNqaYMc/ millironx@corianne"; + allusers = [ millironx corianne ]; +in { "nextcloud-password.age".publicKeys = allusers; } From 5ddc91180372d6f468b235c136c76e1a69309466 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Mon, 9 Dec 2024 11:47:04 -0600 Subject: [PATCH 05/13] pkg: Add logseq --- home.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home.nix b/home.nix index 9baa061..51665c3 100644 --- a/home.nix +++ b/home.nix @@ -1,4 +1,4 @@ -{ config, pkgs, pkgs-unstable, ... }: +{ config, lib, pkgs, pkgs-unstable, ... }: { # Home Manager needs a bit of information about you and the paths it should @@ -36,6 +36,7 @@ inkscape-with-extensions jq lapce + logseq lsd lynx most From 8cd4a1d58236c987476d2e4ae3a0e36470eae770 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Mon, 9 Dec 2024 15:56:52 -0600 Subject: [PATCH 06/13] build: Allow unfree packages There's currently a bug in home-manager that does not allow for use of unfreePredicate to specify which unfree packages are allowed in the config. Use the workaround provided at https://github.com/nix-community/home-manager/issues/2942#issuecomment-1378627909 to blanket allow unfree packages, instead. --- flake.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index 2579988..00351da 100644 --- a/flake.nix +++ b/flake.nix @@ -18,7 +18,14 @@ outputs = { nixpkgs, nixpkgs-unstable, home-manager, agenix, ... }: let system = "aarch64-darwin"; - pkgs = nixpkgs.legacyPackages.${system}; + pkgs = import nixpkgs { + inherit system; + config.allowUnfree = true; + }; + pkgs-unstable = import nixpkgs-unstable { + inherit system; + config.allowUnfree = true; + }; in { homeConfigurations."millironx" = home-manager.lib.homeManagerConfiguration { @@ -30,9 +37,7 @@ # Optionally use extraSpecialArgs # to pass through arguments to home.nix - extraSpecialArgs = { - pkgs-unstable = nixpkgs-unstable.legacyPackages.${system}; - }; + extraSpecialArgs = { inherit pkgs-unstable; }; }; }; } From 51b092df63dd485a218b8f38c28075aef33b97dd Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Mon, 9 Dec 2024 16:11:08 -0600 Subject: [PATCH 07/13] pkg: Add signal-desktop --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index 51665c3..75fd9e9 100644 --- a/home.nix +++ b/home.nix @@ -51,6 +51,7 @@ python3 quarto shellcheck + pkgs-unstable.signal-desktop sketchybar-app-font sqlitebrowser texlive.combined.scheme-full From c95475d7920c21bf3fc7a84c382403a3ab00b7b1 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Mon, 9 Dec 2024 16:21:25 -0600 Subject: [PATCH 08/13] pkg: Add anki-bin --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index 75fd9e9..50394e3 100644 --- a/home.nix +++ b/home.nix @@ -19,6 +19,7 @@ # environment. home.packages = with pkgs; [ act + anki-bin # anki is broken on aarch64-darwin asitop bat cowsay From cf84c2bc041c1934711f2323f70523e86132d759 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Mon, 9 Dec 2024 16:35:34 -0600 Subject: [PATCH 09/13] pkg: Add zotero --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index 50394e3..e12f83f 100644 --- a/home.nix +++ b/home.nix @@ -58,6 +58,7 @@ texlive.combined.scheme-full woodpecker-cli yt-dlp + zotero zulu17 # # It is sometimes useful to fine-tune packages, for example, by applying From f0d3253cf6f4e745211dca8f248c76ca1ebf32ed Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Mon, 9 Dec 2024 16:43:23 -0600 Subject: [PATCH 10/13] pkg: Add earthly --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index e12f83f..bc7aa22 100644 --- a/home.nix +++ b/home.nix @@ -24,6 +24,7 @@ bat cowsay direnv + earthly ffmpeg figlet fortune From b3c6918dffb77677f6fab4f843c244f9bc13af14 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Wed, 11 Dec 2024 16:28:38 -0600 Subject: [PATCH 11/13] path: Add Rancher Desktop --- home.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/home.nix b/home.nix index bc7aa22..624c4fc 100644 --- a/home.nix +++ b/home.nix @@ -142,6 +142,7 @@ "$HOME/.juliaup/bin" "$HOME/.cargo/bin" "$HOME/.local/bin" + "$HOME/.rd/bin" ]; # Let Home Manager install and manage itself. @@ -279,12 +280,12 @@ ''; }; services.gpg-agent = { - enable = pkgs.hostPlatform.isLinux; + enable = true; enableBashIntegration = true; enableSshSupport = true; enableZshIntegration = true; defaultCacheTtl = 60; maxCacheTtl = 120; - #pinentryPackage = pkgs.pinentry-qt; + pinentryPackage = pkgs.pinentry_mac; }; } From e7ec071fdc9bccb2284d77be2b13d6ec8b386c29 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Wed, 11 Dec 2024 16:38:58 -0600 Subject: [PATCH 12/13] pkg: Add zed-editor --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index 624c4fc..c715165 100644 --- a/home.nix +++ b/home.nix @@ -59,6 +59,7 @@ texlive.combined.scheme-full woodpecker-cli yt-dlp + pkgs-unstable.zed-editor zotero zulu17 From a8f3d66d53dc069ce66f907e4eac51d0dedea7ba Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Sat, 14 Dec 2024 14:31:57 -0600 Subject: [PATCH 13/13] gpg: Update GPG keys for new year --- home.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/home.nix b/home.nix index c715165..0615686 100644 --- a/home.nix +++ b/home.nix @@ -178,7 +178,7 @@ else eval "$(/opt/homebrew/bin/brew shellenv bash)" fi - gpgconf --launch gpg-agent + #gpgconf --launch gpg-agent ''; }; programs.bat = { @@ -195,7 +195,7 @@ userName = "Thomas A. Christensen II"; userEmail = "25492070+MillironX@users.noreply.github.com"; signing = { - key = "0x073201D703B7C376"; + key = "0x19A2EF3A3C0C18A9!"; signByDefault = true; }; extraConfig = { @@ -269,7 +269,7 @@ . "$HOME/miniconda3/etc/profile.d/mamba.sh" fi # <<< conda initialize <<< - gpgconf --launch gpg-agent + #gpgconf --launch gpg-agent source "$HOME/.cargo/env" ''; profileExtra = '' @@ -288,5 +288,7 @@ defaultCacheTtl = 60; maxCacheTtl = 120; pinentryPackage = pkgs.pinentry_mac; + sshKeys = [ "CC3F27D613DCC2248B56A881FDDACEF6EA090E37" ]; + verbose = true; }; }