8 Commits

Author SHA1 Message Date
Noah Masur
1105bc8fed add microcode service for amd 2024-11-11 18:18:20 -07:00
Noah Masur
1022a3998f fix: don't use ~ in activation script 2024-11-11 14:00:41 -07:00
Noah Masur
67727954ec fix: nix repl '<nixpkgs>' no longer works 2024-11-11 10:59:59 -07:00
github-actions[bot]
cf8fc2ac56 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/683d0c4cd1102dcccfa3f835565378c7f3cbe05e' (2024-11-01)
  → 'github:lnl7/nix-darwin/2fbf4a8417c28cf45bae6e6e97248cbbd9b78632' (2024-11-08)
• Updated input 'disko':
    'github:nix-community/disko/3979285062d6781525cded0f6c4ff92e71376b55' (2024-10-29)
  → 'github:nix-community/disko/5e40e02978e3bd63c2a6a9fa6fa8ba0e310e747f' (2024-11-08)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/b77ccb5ebd1bfd6e48ffe14f32f275ea30dd4fd6' (2024-11-02)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/22a53e2cae4d37fb24e9326c6f72a54cb4f269d5' (2024-11-09)
• Updated input 'home-manager':
    'github:nix-community/home-manager/1743615b61c7285976f85b303a36cdf88a556503' (2024-11-01)
  → 'github:nix-community/home-manager/2f607e07f3ac7e53541120536708e824acccfaa8' (2024-11-05)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-11-02)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-11-09)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/807e9154dcb16384b1b765ebe9cd2bba2ac287fd' (2024-10-29)
  → 'github:nixos/nixpkgs/4aa36568d413aca0ea84a1684d2d46f55dbabad7' (2024-11-05)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/080166c15633801df010977d9d7474b4a6c549d7' (2024-10-30)
  → 'github:nixos/nixpkgs/dba414932936fde69f0606b4f1d87c5bc0003ede' (2024-11-06)
• Updated input 'nur':
    'github:nix-community/nur/41c8b0a22b37fb114413b504c74ae64065d2fb83' (2024-11-02)
  → 'github:nix-community/nur/b29499982ee565c8dab5ca5c7be8d2ebfc267d87' (2024-11-09)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/82ab19ebf79c1839d7351f2fed213d1af13a598e' (2024-11-02)
  → 'github:kyazdani42/nvim-tree.lua/3fc8de198c15ec4e5395f57b70579b3959976960' (2024-11-09)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/25293d87b57ecd901ecc4ffa5dc8868e464f6b54' (2024-10-31)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/86050f39a62de48734f1a2876d70d179b75deb7c' (2024-11-08)
2024-11-09 03:46:56 +00:00
Noah Masur
4c38ae86a9 fix ldap search command 2024-11-05 15:31:04 -05:00
Noah Masur
4b3bc8a216 fix: 1password renamed to 1password-cli 2024-11-05 10:20:48 -05:00
Noah Masur
e9a2ce6df3 fix: move audiobookshelf hostname to common 2024-11-05 10:20:21 -05:00
github-actions[bot]
875054aa2c flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/7840909b00fbd5a183008a6eb251ea307fe4a76e' (2024-10-25)
  → 'github:lnl7/nix-darwin/683d0c4cd1102dcccfa3f835565378c7f3cbe05e' (2024-11-01)
• Updated input 'disko':
    'github:nix-community/disko/09a776702b004fdf9c41a024e1299d575ee18a7d' (2024-10-23)
  → 'github:nix-community/disko/3979285062d6781525cded0f6c4ff92e71376b55' (2024-10-29)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/adf52e031127c5c22abf16d9c2ffcd9c2ad27cc2' (2024-10-26)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/b77ccb5ebd1bfd6e48ffe14f32f275ea30dd4fd6' (2024-11-02)
• Updated input 'home-manager':
    'github:nix-community/home-manager/93435d27d250fa986bfec6b2ff263161ff8288cb' (2024-10-25)
  → 'github:nix-community/home-manager/1743615b61c7285976f85b303a36cdf88a556503' (2024-11-01)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-10-12)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-11-02)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/2768c7d042a37de65bb1b5b3268fc987e534c49d' (2024-10-23)
  → 'github:nixos/nixpkgs/807e9154dcb16384b1b765ebe9cd2bba2ac287fd' (2024-10-29)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/32e940c7c420600ef0d1ef396dc63b04ee9cad37' (2024-10-23)
  → 'github:nixos/nixpkgs/080166c15633801df010977d9d7474b4a6c549d7' (2024-10-30)
• Updated input 'nur':
    'github:nix-community/nur/bdb41713712fcd619a678cde0dba1ae89d15392e' (2024-10-26)
  → 'github:nix-community/nur/41c8b0a22b37fb114413b504c74ae64065d2fb83' (2024-11-02)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/16b21a7d04d06661f92f273a0744fd81fb19e09e' (2024-10-17)
  → 'github:mfussenegger/nvim-lint/36da8dd0ddc4f88e0beae234c20e75397326f143' (2024-10-31)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/8760d76c1d316aa46f141f3f2b80b853a2acc41e' (2024-10-25)
  → 'github:kyazdani42/nvim-tree.lua/82ab19ebf79c1839d7351f2fed213d1af13a598e' (2024-11-02)
• Updated input 'snipe-nvim-src':
    'github:leath-dub/snipe.nvim/4e162869cf0a777180c38afdf18f6364dadf877c' (2024-10-20)
  → 'github:leath-dub/snipe.nvim/64b3763c1b388ac5a3d5a2da615a3d0824af4a45' (2024-11-01)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/ccb67504f93b20f36775d3aad620f9dc9ed98bd9' (2024-10-19)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/25293d87b57ecd901ecc4ffa5dc8868e464f6b54' (2024-10-31)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/5a965cb108fb1f30b29a26dbc29b473f49e80b41' (2024-10-23)
  → 'github:nix-community/NixOS-WSL/adb6bc4b661a43328752b4575be4968a4990c033' (2024-11-01)
2024-11-02 03:47:37 +00:00
10 changed files with 94 additions and 52 deletions

109
flake.lock generated
View File

@@ -87,11 +87,11 @@
]
},
"locked": {
"lastModified": 1729826725,
"narHash": "sha256-w3WNlYxqWYsuzm/jgFPyhncduoDNjot28aC8j39TW0U=",
"lastModified": 1731032247,
"narHash": "sha256-OjLft7fwkmiRLXQsGAudGFZxEYXOT0nHwrQ9GbsBqJ4=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "7840909b00fbd5a183008a6eb251ea307fe4a76e",
"rev": "2fbf4a8417c28cf45bae6e6e97248cbbd9b78632",
"type": "github"
},
"original": {
@@ -108,11 +108,11 @@
]
},
"locked": {
"lastModified": 1729712798,
"narHash": "sha256-a+Aakkb+amHw4biOZ0iMo8xYl37uUL48YEXIC5PYJ/8=",
"lastModified": 1731060864,
"narHash": "sha256-aYE7oAYZ+gPU1mPNhM0JwLAQNgjf0/JK1BF1ln2KBgk=",
"owner": "nix-community",
"repo": "disko",
"rev": "09a776702b004fdf9c41a024e1299d575ee18a7d",
"rev": "5e40e02978e3bd63c2a6a9fa6fa8ba0e310e747f",
"type": "github"
},
"original": {
@@ -145,11 +145,11 @@
]
},
"locked": {
"lastModified": 1729904094,
"narHash": "sha256-BSluUxgTde//mnSQ5YtsEfykgJrRngT/vCQzQEBZ6q8=",
"lastModified": 1731113649,
"narHash": "sha256-U6FMghMpHTk2Pb5VsjNk8tBgCiiyB+bebmfOuNtMisA=",
"owner": "bandithedoge",
"repo": "nixpkgs-firefox-darwin",
"rev": "adf52e031127c5c22abf16d9c2ffcd9c2ad27cc2",
"rev": "22a53e2cae4d37fb24e9326c6f72a54cb4f269d5",
"type": "github"
},
"original": {
@@ -283,11 +283,11 @@
]
},
"locked": {
"lastModified": 1729894599,
"narHash": "sha256-nL9nzNE5/re/P+zOv7NX6bRm5e+DeS1HIufQUJ01w20=",
"lastModified": 1730837930,
"narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "93435d27d250fa986bfec6b2ff263161ff8288cb",
"rev": "2f607e07f3ac7e53541120536708e824acccfaa8",
"type": "github"
},
"original": {
@@ -362,7 +362,7 @@
"nextcloud-snappymail": {
"flake": false,
"locked": {
"lastModified": 1728746479,
"lastModified": 1731123727,
"narHash": "sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E=",
"type": "tarball",
"url": "https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz"
@@ -431,11 +431,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1729665710,
"narHash": "sha256-AlcmCXJZPIlO5dmFzV3V2XF6x/OpNWUV8Y/FMPGd8Z4=",
"lastModified": 1730785428,
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2768c7d042a37de65bb1b5b3268fc987e534c49d",
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
"type": "github"
},
"original": {
@@ -463,11 +463,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1729691686,
"narHash": "sha256-BAuPWW+9fa1moZTU+jFh+1cUtmsuF8asgzFwejM4wac=",
"lastModified": 1730883749,
"narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "32e940c7c420600ef0d1ef396dc63b04ee9cad37",
"rev": "dba414932936fde69f0606b4f1d87c5bc0003ede",
"type": "github"
},
"original": {
@@ -477,13 +477,29 @@
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1730531603,
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": {
"locked": {
"lastModified": 1729908348,
"narHash": "sha256-VK4GLHP+cpjMxLp+R4Xa7icdz4ByI2K7NCAVwcZvEdE=",
"lastModified": 1731119600,
"narHash": "sha256-Asx9nXJBdRN4AvuA8+etlQWY8PrqrXXvPb1uNFveV8k=",
"owner": "nix-community",
"repo": "nur",
"rev": "bdb41713712fcd619a678cde0dba1ae89d15392e",
"rev": "b29499982ee565c8dab5ca5c7be8d2ebfc267d87",
"type": "github"
},
"original": {
@@ -495,11 +511,11 @@
"nvim-lint-src": {
"flake": false,
"locked": {
"lastModified": 1729155978,
"narHash": "sha256-4sGU9yKrIJRlnyRGYVi2aNNycsS+KABTheNnawLGMM8=",
"lastModified": 1730367889,
"narHash": "sha256-vLsyRc8nbJJBjWebNFy5yrS6w2TmibEeMNpyzFenoTg=",
"owner": "mfussenegger",
"repo": "nvim-lint",
"rev": "16b21a7d04d06661f92f273a0744fd81fb19e09e",
"rev": "36da8dd0ddc4f88e0beae234c20e75397326f143",
"type": "github"
},
"original": {
@@ -528,11 +544,11 @@
"nvim-tree-lua-src": {
"flake": false,
"locked": {
"lastModified": 1729827348,
"narHash": "sha256-ffj+EMkfV7VREiqRfJZpLDkvXS2mztuGDbjTPpK3fQ0=",
"lastModified": 1731122044,
"narHash": "sha256-pf4S8iMtgCJU8jOMxqr0oItO0htBGafGglKnEU1neus=",
"owner": "kyazdani42",
"repo": "nvim-tree.lua",
"rev": "8760d76c1d316aa46f141f3f2b80b853a2acc41e",
"rev": "3fc8de198c15ec4e5395f57b70579b3959976960",
"type": "github"
},
"original": {
@@ -632,6 +648,7 @@
"tree-sitter-python": "tree-sitter-python",
"tree-sitter-rasi": "tree-sitter-rasi",
"tree-sitter-vimdoc": "tree-sitter-vimdoc",
"ucodenix": "ucodenix",
"wallpapers": "wallpapers",
"wsl": "wsl",
"zenyd-mpv-scripts": "zenyd-mpv-scripts"
@@ -640,11 +657,11 @@
"snipe-nvim-src": {
"flake": false,
"locked": {
"lastModified": 1729430130,
"narHash": "sha256-iRAX0xestLjPPP8IMimGJJfNqgQINb5lp6eoi6J+BSQ=",
"lastModified": 1730493972,
"narHash": "sha256-9Q/ZbhtteS9SemQJ/3Nov1rshQgm1Beiw88/zgmJbRg=",
"owner": "leath-dub",
"repo": "snipe.nvim",
"rev": "4e162869cf0a777180c38afdf18f6364dadf877c",
"rev": "64b3763c1b388ac5a3d5a2da615a3d0824af4a45",
"type": "github"
},
"original": {
@@ -734,11 +751,11 @@
"tiny-inline-diagnostic-nvim-src": {
"flake": false,
"locked": {
"lastModified": 1729329080,
"narHash": "sha256-ggpNNyo1ir68N4G+sqXi7uAF+QNiQDQhPrion4f7EGY=",
"lastModified": 1731028203,
"narHash": "sha256-A4v8pZuzuH/MSWYF7Hg7ZQo2HNLqlE7dZMhylPEpTdM=",
"owner": "rachartier",
"repo": "tiny-inline-diagnostic.nvim",
"rev": "ccb67504f93b20f36775d3aad620f9dc9ed98bd9",
"rev": "86050f39a62de48734f1a2876d70d179b75deb7c",
"type": "github"
},
"original": {
@@ -879,6 +896,24 @@
"type": "github"
}
},
"ucodenix": {
"inputs": {
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1731337052,
"narHash": "sha256-/wKkjAHHmaov6VWW7POdL+dUWtAWA9Zs6Ys/r7ugy00=",
"owner": "e-tho",
"repo": "ucodenix",
"rev": "5d8df57d4258d225dc9f5c2c4bb96855842cbac2",
"type": "github"
},
"original": {
"owner": "e-tho",
"repo": "ucodenix",
"type": "github"
}
},
"wallpapers": {
"flake": false,
"locked": {
@@ -904,11 +939,11 @@
]
},
"locked": {
"lastModified": 1729717678,
"narHash": "sha256-XEfYT1D+4KT9c0mMwsmZdWS2JgKsboAZbnuJvrjBQKg=",
"lastModified": 1730453870,
"narHash": "sha256-d+kIgz4BvTXb7emjSFV3zjNydGmLUmuluQjdBb51R9o=",
"owner": "nix-community",
"repo": "NixOS-WSL",
"rev": "5a965cb108fb1f30b29a26dbc29b473f49e80b41",
"rev": "adb6bc4b661a43328752b4575be4968a4990c033",
"type": "github"
},
"original": {

View File

@@ -31,6 +31,9 @@
inputs.nixpkgs.follows = "nixpkgs"; # Use system packages list for their inputs
};
# Used for AMD CPU microcode
ucodenix.url = "github:e-tho/ucodenix";
# Community packages; used for Firefox extensions
nur.url = "github:nix-community/nur";

View File

@@ -17,6 +17,7 @@ inputs.nixpkgs.lib.nixosSystem rec {
modules = [
globals
inputs.home-manager.nixosModules.home-manager
inputs.ucodenix.nixosModules.default
../../modules/common
../../modules/nixos
{
@@ -49,6 +50,7 @@ inputs.nixpkgs.lib.nixosSystem rec {
# Allow firmware updates
hardware.cpu.amd.updateMicrocode = true;
services.ucodenix.enable = true;
# Helps reduce GPU fan noise under idle loads
hardware.fancontrol.enable = true;

View File

@@ -23,7 +23,7 @@
];
home-manager.users.${config.user} = {
home.packages = [
pkgs._1password
pkgs._1password-cli
] ++ (if pkgs.stdenv.isLinux then [ pkgs._1password-gui ] else [ ]);
};

View File

@@ -77,6 +77,10 @@
default = [ ];
};
hostnames = {
audiobooks = lib.mkOption {
type = lib.types.str;
description = "Hostname for audiobook server (Audiobookshelf).";
};
files = lib.mkOption {
type = lib.types.str;
description = "Hostname for files server (Filebrowser).";

View File

@@ -21,7 +21,7 @@ function TERM_TOGGLE()
basicterminal:toggle()
end
local nixpkgs = terminal:new({ cmd = "nix repl '<nixpkgs>'" })
local nixpkgs = terminal:new({ cmd = "nix repl --expr 'import <nixpkgs>{}'" })
function NIXPKGS_TOGGLE()
nixpkgs:toggle()
end

View File

@@ -13,7 +13,7 @@
ns = "nix-shell -p";
nsf = "nix-shell --run fish -p";
nsr = "nix-shell-run";
nps = "nix repl '<nixpkgs>'";
nps = "nix repl --expr 'import <nixpkgs>{}'";
nixo = "man configuration.nix";
nixh = "man home-configuration.nix";
nr = "rebuild-nixos";

View File

@@ -13,7 +13,11 @@
let
ldap_scheme = "ldaps";
magic_prefix = "take";
ldap_port = 636;
ldap_port = 3269;
jq_parse = pkgs.writeShellScriptBin "ljq" ''
jq --slurp \
--raw-input 'split("\n\n")|map(split("\n")|map(select(.[0:1]!="#" and length>0)) |select(length > 0)|map(capture("^(?<key>[^:]*:?): *(?<value>.*)") |if .key[-1:.key|length] == ":" then .key=.key[0:-1]|.value=(.value|@base64d) else . end)| group_by(.key) | map({key:.[0].key,value:(if .|length > 1 then [.[].value] else .[].value end)}) | from_entries)' | jq -r 'del(.[].thumbnailPhoto)'
'';
ldap_script = pkgs.writeShellScriptBin "ldap" ''
if ! [ "$LDAP_HOST" ]; then
echo "No LDAP_HOST specified!"
@@ -22,13 +26,13 @@
SEARCH_FILTER="$@"
ldapsearch -LLL \
-B -o ldif-wrap=no \
-E pr=5000/prompt \
-H "${ldap_scheme}://''${LDAP_HOST}:${builtins.toString ldap_port}" \
-D "${pkgs.lib.toUpper magic_prefix}2\\${pkgs.lib.toLower config.user}" \
-w "$(${pkgs._1password}/bin/op item get T2 --fields label=password)" \
-w "$(${pkgs._1password-cli}/bin/op item get T2 --fields label=password --reveal)" \
-b "dc=''${LDAP_HOST//./,dc=}" \
-s "sub" -x "(cn=''${SEARCH_FILTER})" \
| jq --slurp \
--raw-input 'split("\n\n")|map(split("\n")|map(select(.[0:1]!="#" and length>0)) |select(length > 0)|map(capture("^(?<key>[^:]*:?): *(?<value>.*)") |if .key[-1:.key|length] == ":" then .key=.key[0:-1]|.value=(.value|@base64d) else . end)| group_by(.key) | map({key:.[0].key,value:(if .|length > 1 then [.[].value] else .[].value end)}) | from_entries)' | jq -r 'del(.[].thumbnailPhoto)'
| ${jq_parse}/bin/ljq
'';
ldapm_script = pkgs.writeShellScriptBin "ldapm" ''
if ! [ "$LDAP_HOST" ]; then
@@ -49,6 +53,7 @@
ldap_script
ldapm_script
ldapg_script
jq_parse
];
};
}

View File

@@ -36,7 +36,7 @@
homebrew.casks = [ "hammerspoon" ];
system.activationScripts.postUserActivation.text = ''
defaults write org.hammerspoon.Hammerspoon MJConfigFile "~/.config/hammerspoon/init.lua"
defaults write org.hammerspoon.Hammerspoon MJConfigFile "${config.homePath}/.config/hammerspoon/init.lua"
sudo killall Dock
'';
};

View File

@@ -1,13 +1,6 @@
{ config, lib, ... }:
{
options = {
hostnames.audiobooks = lib.mkOption {
type = lib.types.str;
description = "Hostname for audiobook server (Audiobookshelf).";
};
};
config = lib.mkIf config.services.audiobookshelf.enable {
services.audiobookshelf = {