mirror of
https://github.com/nmasur/dotfiles
synced 2025-07-20 16:40:14 +00:00
Compare commits
30 Commits
ef03bb112d
...
pre-platfo
Author | SHA1 | Date | |
---|---|---|---|
6ee5ade2bc | |||
043cd8ce5c | |||
07a0d5185b | |||
a4b5e05f8f | |||
83f548e95f | |||
c66ca460c0 | |||
2b36140fbf | |||
66207830ba | |||
0f7c15bf36 | |||
d31a083ed6 | |||
148839b0ab | |||
7714635fa0 | |||
ca6c275cd8 | |||
54a897abb6 | |||
45eb33485d | |||
cbdf17f618 | |||
fdf231b46e | |||
e9d611fc03 | |||
f899a76f7f | |||
aa93604a6a | |||
6d8fb63d54 | |||
1cb5827438 | |||
fccee387b8 | |||
6f22a3031b | |||
185258ad8a | |||
b69a9a2de7 | |||
f16859893d | |||
b668c991c8 | |||
405b1ce60f | |||
e6f5649999 |
@ -21,7 +21,7 @@
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
${pkgs.disko-packaged}/bin/disko \
|
${pkgs.disko}/bin/disko \
|
||||||
--mode create \
|
--mode create \
|
||||||
--dry-run \
|
--dry-run \
|
||||||
--flake "path:$(pwd)#root" \
|
--flake "path:$(pwd)#root" \
|
||||||
@ -31,7 +31,7 @@
|
|||||||
"This will ERASE ALL DATA on the disk /dev/''${DISK}. Are you sure you want to continue?" \
|
"This will ERASE ALL DATA on the disk /dev/''${DISK}. Are you sure you want to continue?" \
|
||||||
--default=false
|
--default=false
|
||||||
|
|
||||||
${pkgs.disko-packaged}/bin/disko \
|
${pkgs.disko}/bin/disko \
|
||||||
--mode create \
|
--mode create \
|
||||||
--flake "path:$(pwd)#root" \
|
--flake "path:$(pwd)#root" \
|
||||||
--arg disk "/dev/''${DISK}"
|
--arg disk "/dev/''${DISK}"
|
||||||
|
162
flake.lock
generated
162
flake.lock
generated
@ -87,11 +87,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733570843,
|
"lastModified": 1737504076,
|
||||||
"narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=",
|
"narHash": "sha256-/B4XJnzYU/6K1ZZOBIgsa3K4pqDJrnC2579c44c+4rI=",
|
||||||
"owner": "lnl7",
|
"owner": "lnl7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "a35b08d09efda83625bef267eb24347b446c80b8",
|
"rev": "65cc1fa8e36ceff067daf6cfb142331f02f524d3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -108,11 +108,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734088167,
|
"lastModified": 1737038063,
|
||||||
"narHash": "sha256-OIitVU+IstPbX/NWn2jLF+/sT9dVKcO2FKeRAzlyX6c=",
|
"narHash": "sha256-rMEuiK69MDhjz1JgbaeQ9mBDXMJ2/P8vmOYRbFndXsk=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "d32f2d1750d61a476a236526b725ec5a32e16342",
|
"rev": "bf0abfde48f469c256f2b0f481c6281ff04a5db2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -145,11 +145,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734051749,
|
"lastModified": 1737766332,
|
||||||
"narHash": "sha256-jZIJkQ3dT/FKSCMe9CzkIw/CuD0drcaCL6YRWIWzLX8=",
|
"narHash": "sha256-EcKXfadl+51Y5DQU4R7cy3FQx6XklLwmSwIAtOl1hNU=",
|
||||||
"owner": "bandithedoge",
|
"owner": "bandithedoge",
|
||||||
"repo": "nixpkgs-firefox-darwin",
|
"repo": "nixpkgs-firefox-darwin",
|
||||||
"rev": "6ea00de0cb507b4f8c478c19a2d4842a51d1e32c",
|
"rev": "ef9a452ffc26aed9265e2a5ff04952e960f8f21b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -268,32 +268,14 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils_4": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_4"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731533236,
|
|
||||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gh-collaborators": {
|
"gh-collaborators": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717117275,
|
"lastModified": 1736185279,
|
||||||
"narHash": "sha256-x3p2bHL6U8gWanXnTTJGgA9x4Ixy9AOZiBbfcfn5VVw=",
|
"narHash": "sha256-SGmP/8Fvf2rcYkwscMOFG01Y0VJGb/TXrNZtLacurxA=",
|
||||||
"owner": "katiem0",
|
"owner": "katiem0",
|
||||||
"repo": "gh-collaborators",
|
"repo": "gh-collaborators",
|
||||||
"rev": "4dfcd0b5c2e31f2d0fbfd4b83fdfae787a5e6ff8",
|
"rev": "bf412dde50605e48af86f291c2ac8714f2c1b228",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -325,11 +307,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734093295,
|
"lastModified": 1737762889,
|
||||||
"narHash": "sha256-hSwgGpcZtdDsk1dnzA0xj5cNaHgN9A99hRF/mxMtwS4=",
|
"narHash": "sha256-5HGG09bh/Yx0JA8wtBMAzt0HMCL1bYZ93x4IqzVExio=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "66c5d8b62818ec4c1edb3e941f55ef78df8141a8",
|
"rev": "daf04c5950b676f47a794300657f1d3d14c1a120",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -348,11 +330,11 @@
|
|||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734140879,
|
"lastModified": 1737770753,
|
||||||
"narHash": "sha256-OHkuHuPDNAnCRrgcJ4kyu5cczdw/ieRlWCxAEq1iDMk=",
|
"narHash": "sha256-3CxkhWleCeSF18dO4lo0teBfHm5evdEaL959gOcD+0A=",
|
||||||
"owner": "martinvonz",
|
"owner": "martinvonz",
|
||||||
"repo": "jj",
|
"repo": "jj",
|
||||||
"rev": "cf6711437f5843cfe2ba3e0572d985a83b70e383",
|
"rev": "e58713c1355d0536e197a3f99ce5a5c713fe69c3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -427,7 +409,7 @@
|
|||||||
"nextcloud-snappymail": {
|
"nextcloud-snappymail": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734148200,
|
"lastModified": 1737776393,
|
||||||
"narHash": "sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E=",
|
"narHash": "sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E=",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz"
|
"url": "https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz"
|
||||||
@ -460,11 +442,11 @@
|
|||||||
},
|
},
|
||||||
"nixlib": {
|
"nixlib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733620091,
|
"lastModified": 1736643958,
|
||||||
"narHash": "sha256-5WoMeCkaXqTZwwCNLRzyLxEJn8ISwjx4cNqLgqKwg9s=",
|
"narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "f4dc9a6c02e5e14d91d158522f69f6ab4194eb5b",
|
"rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -481,11 +463,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733965598,
|
"lastModified": 1737057290,
|
||||||
"narHash": "sha256-0tlZU8xfQGPcBOdXZee7P3vJLyPjTrXw7WbIgXD34gM=",
|
"narHash": "sha256-3Pe0yKlCc7EOeq1X/aJVDH0CtNL+tIBm49vpepwL1MQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixos-generators",
|
"repo": "nixos-generators",
|
||||||
"rev": "d162ffdf0a30f3d19e67df5091d6744ab8b9229f",
|
"rev": "d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -496,11 +478,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733940404,
|
"lastModified": 1737632463,
|
||||||
"narHash": "sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g=",
|
"narHash": "sha256-38J9QfeGSej341ouwzqf77WIHAScihAKCt8PQJ+NH28=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "5d67ea6b4b63378b9c13be21e2ec9d1afc921713",
|
"rev": "0aa475546ed21629c4f5bbf90e38c846a99ec9e9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -528,11 +510,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734017764,
|
"lastModified": 1735563628,
|
||||||
"narHash": "sha256-msOfmyJSjAHgIygI/JD0Ae3JsDv4rT54Nlfr5t6MQMQ=",
|
"narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "64e9404f308e0f0a0d8cdd7c358f74e34802494b",
|
"rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -544,11 +526,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733940404,
|
"lastModified": 1737632463,
|
||||||
"narHash": "sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g=",
|
"narHash": "sha256-38J9QfeGSej341ouwzqf77WIHAScihAKCt8PQJ+NH28=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "5d67ea6b4b63378b9c13be21e2ec9d1afc921713",
|
"rev": "0aa475546ed21629c4f5bbf90e38c846a99ec9e9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -565,11 +547,11 @@
|
|||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734148234,
|
"lastModified": 1737776325,
|
||||||
"narHash": "sha256-LtmoAk7PyxzNPm5qdX+aXtIOj7UNroaRxt0GfWeKUDM=",
|
"narHash": "sha256-uSt1yFqmuyehOr0u6k8MXSBrwEGToWcIrTzJexHBufM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nur",
|
"repo": "nur",
|
||||||
"rev": "d6b5477eea757f5cae03c47da3fbe2f7be0b9f17",
|
"rev": "e3bdfbe8b01b6469fd2351ab0cf867d9cfa73da8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -581,11 +563,11 @@
|
|||||||
"nvim-lint-src": {
|
"nvim-lint-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1732288955,
|
"lastModified": 1737487916,
|
||||||
"narHash": "sha256-oRVyd2UtmVafoc8TEov+1Hlln6/AFnVokoiENh45X74=",
|
"narHash": "sha256-DKfivSjBFra/iXIuYQa7Mv5f2LglNbQTr8bQ+sCm8to=",
|
||||||
"owner": "mfussenegger",
|
"owner": "mfussenegger",
|
||||||
"repo": "nvim-lint",
|
"repo": "nvim-lint",
|
||||||
"rev": "6b46370d02cd001509a765591a3ffc481b538794",
|
"rev": "789b7ada1b4f00e08d026dffde410dcfa6a0ba87",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -614,11 +596,11 @@
|
|||||||
"nvim-tree-lua-src": {
|
"nvim-tree-lua-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734126858,
|
"lastModified": 1737769654,
|
||||||
"narHash": "sha256-Z5RsV10V4nRlYtvpvGkmCPBo4hCSZg4PFIrTu9NXNuw=",
|
"narHash": "sha256-3wHzEixIhg+aFO9fOOSuTPdNkMK96eG7cdSbK7i5pXA=",
|
||||||
"owner": "kyazdani42",
|
"owner": "kyazdani42",
|
||||||
"repo": "nvim-tree.lua",
|
"repo": "nvim-tree.lua",
|
||||||
"rev": "f7b76cd1a75615c8d6254fc58bedd2a7304eb7d8",
|
"rev": "fee1da88972f5972a8296813f6c00d7598325ebd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -750,11 +732,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1732242723,
|
"lastModified": 1737685583,
|
||||||
"narHash": "sha256-NWI8csIK0ujFlFuEXKnoc+7hWoCiEtINK9r48LUUMeU=",
|
"narHash": "sha256-p+NVABRpGi+pT+xxf9HcLcFVxG6L+vEEy+NwzB9T0f8=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "a229311fcb45b88a95fdfa5cecd8349c809a272a",
|
"rev": "eb64cbcc8eee0fa87ebded92805280d2ec97415a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -766,11 +748,11 @@
|
|||||||
"snipe-nvim-src": {
|
"snipe-nvim-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733844051,
|
"lastModified": 1736108869,
|
||||||
"narHash": "sha256-rz6Jai1J7N3ejq5s/KDk+ac0y2kyFxcGFUOvmQdWfaQ=",
|
"narHash": "sha256-sJ71eiE0XmMJkhNCkbY82R4eHzBOOKFrPa+nxLc1f8s=",
|
||||||
"owner": "leath-dub",
|
"owner": "leath-dub",
|
||||||
"repo": "snipe.nvim",
|
"repo": "snipe.nvim",
|
||||||
"rev": "7d6dc06b90bad922e568f39bdae3d111282c7429",
|
"rev": "0d0a482ac713370196e4fc0025d5aaac5030104d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -824,21 +806,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_4": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"telescope-nvim-src": {
|
"telescope-nvim-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -875,11 +842,11 @@
|
|||||||
"tiny-inline-diagnostic-nvim-src": {
|
"tiny-inline-diagnostic-nvim-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733938987,
|
"lastModified": 1737657256,
|
||||||
"narHash": "sha256-Lk9ZJ5GZnttWFcaZDLj5vt4rmpaRha/T3h9bjvb8tlg=",
|
"narHash": "sha256-4RNZjzVrc6lSXCAEHwtdbWJvNCRjglq97ZL9DRM3IiI=",
|
||||||
"owner": "rachartier",
|
"owner": "rachartier",
|
||||||
"repo": "tiny-inline-diagnostic.nvim",
|
"repo": "tiny-inline-diagnostic.nvim",
|
||||||
"rev": "35d46e3804c9211f2e9860e8eff5e7d0905b8254",
|
"rev": "5c00aec99f558b8f0a2c4445038f74e5f5435c00",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -908,11 +875,11 @@
|
|||||||
"tree-sitter-bash": {
|
"tree-sitter-bash": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731338420,
|
"lastModified": 1737678721,
|
||||||
"narHash": "sha256-JW+30zIyq8Xc7NG9V+YoFqC+57BjZXIbAvWPD2lqvIE=",
|
"narHash": "sha256-aTM0DjmCX2HaeDfZPCoqWULLVoa+nBppiR97jMWWItM=",
|
||||||
"owner": "tree-sitter",
|
"owner": "tree-sitter",
|
||||||
"repo": "tree-sitter-bash",
|
"repo": "tree-sitter-bash",
|
||||||
"rev": "49c31006d8307dcb12bc5770f35b6d5b9e2be68e",
|
"rev": "03f4927065b3c0d71a962be87130aa7e79b35448",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -958,11 +925,11 @@
|
|||||||
"tree-sitter-puppet": {
|
"tree-sitter-puppet": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713617121,
|
"lastModified": 1734835631,
|
||||||
"narHash": "sha256-+zMgzyuGerJ8l+i5ZtWnmGr3i4fFiSLD5FssyKESsmI=",
|
"narHash": "sha256-bO5g5AdhzpB13yHklpAndUHIX7Rvd7OMjH0Ds2ATA6Q=",
|
||||||
"owner": "amaanq",
|
"owner": "amaanq",
|
||||||
"repo": "tree-sitter-puppet",
|
"repo": "tree-sitter-puppet",
|
||||||
"rev": "584522f32495d648b18a53ccb52d988e60de127d",
|
"rev": "15f192929b7d317f5914de2b4accd37b349182a6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -974,11 +941,11 @@
|
|||||||
"tree-sitter-python": {
|
"tree-sitter-python": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733367408,
|
"lastModified": 1737668819,
|
||||||
"narHash": "sha256-DojFqb5YJsqF95Hb2fjjeyNpwaexyJ8KkdxJWSYx7aY=",
|
"narHash": "sha256-g06oE9w2AMCM6BwTQmB+acY1wcQXjIgj62N+z+nrpaY=",
|
||||||
"owner": "tree-sitter",
|
"owner": "tree-sitter",
|
||||||
"repo": "tree-sitter-python",
|
"repo": "tree-sitter-python",
|
||||||
"rev": "1ee3e775477f913ae3a46cde7a6a512deb06052c",
|
"rev": "ab2ba8be034368fa009f62f371c068b8728f9db7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -1060,17 +1027,16 @@
|
|||||||
"wsl": {
|
"wsl": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
"flake-utils": "flake-utils_4",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733854371,
|
"lastModified": 1736095716,
|
||||||
"narHash": "sha256-K9qGHniYBbjqVcEiwXyiofj/IFf78L5F0/FCf+CKyr0=",
|
"narHash": "sha256-csysw/Szu98QDiA2lhWk9seYOyCebeVEWL89zh1cduM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"rev": "dee4425dcee3149475ead0cb6a616b8a028c5888",
|
"rev": "63c3b4ed1712a3a0621002cd59bfdc80875ecbb0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -247,9 +247,9 @@
|
|||||||
mail.imapHost = "imap.purelymail.com";
|
mail.imapHost = "imap.purelymail.com";
|
||||||
mail.smtpHost = "smtp.purelymail.com";
|
mail.smtpHost = "smtp.purelymail.com";
|
||||||
dotfilesRepo = "https://github.com/nmasur/dotfiles";
|
dotfilesRepo = "https://github.com/nmasur/dotfiles";
|
||||||
backup.s3.glacierBucket = "noahmasur-archive";
|
|
||||||
hostnames = {
|
hostnames = {
|
||||||
audiobooks = "read.${baseName}";
|
audiobooks = "read.${baseName}";
|
||||||
|
budget = "money.${baseName}";
|
||||||
files = "files.${baseName}";
|
files = "files.${baseName}";
|
||||||
git = "git.${baseName}";
|
git = "git.${baseName}";
|
||||||
influxdb = "influxdb.${baseName}";
|
influxdb = "influxdb.${baseName}";
|
||||||
@ -277,7 +277,6 @@
|
|||||||
inputs.nix2vim.overlay
|
inputs.nix2vim.overlay
|
||||||
inputs.jujutsu.overlays.default # Fix: https://github.com/martinvonz/jj/issues/4784
|
inputs.jujutsu.overlays.default # Fix: https://github.com/martinvonz/jj/issues/4784
|
||||||
(import ./overlays/neovim-plugins.nix inputs)
|
(import ./overlays/neovim-plugins.nix inputs)
|
||||||
(import ./overlays/disko.nix inputs)
|
|
||||||
(import ./overlays/tree-sitter.nix inputs)
|
(import ./overlays/tree-sitter.nix inputs)
|
||||||
(import ./overlays/mpv-scripts.nix inputs)
|
(import ./overlays/mpv-scripts.nix inputs)
|
||||||
(import ./overlays/nextcloud-apps.nix inputs)
|
(import ./overlays/nextcloud-apps.nix inputs)
|
||||||
|
@ -62,7 +62,7 @@ inputs.nixpkgs.lib.nixosSystem rec {
|
|||||||
|
|
||||||
# Still require colors for programs like Neovim, K9S
|
# Still require colors for programs like Neovim, K9S
|
||||||
theme = {
|
theme = {
|
||||||
colors = (import ../../colorscheme/gruvbox).dark;
|
colors = (import ../../colorscheme/gruvbox-dark).dark;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Programs and services
|
# Programs and services
|
||||||
@ -71,6 +71,7 @@ inputs.nixpkgs.lib.nixosSystem rec {
|
|||||||
dotfiles.enable = true; # Clone dotfiles
|
dotfiles.enable = true; # Clone dotfiles
|
||||||
neovim.enable = true;
|
neovim.enable = true;
|
||||||
giteaRunner.enable = true;
|
giteaRunner.enable = true;
|
||||||
|
services.actualbudget.enable = true;
|
||||||
services.caddy.enable = true;
|
services.caddy.enable = true;
|
||||||
services.grafana.enable = true;
|
services.grafana.enable = true;
|
||||||
services.thelounge.enable = true;
|
services.thelounge.enable = true;
|
||||||
@ -99,6 +100,7 @@ inputs.nixpkgs.lib.nixosSystem rec {
|
|||||||
endpoint = "s3.us-west-002.backblazeb2.com";
|
endpoint = "s3.us-west-002.backblazeb2.com";
|
||||||
bucket = "noahmasur-backup";
|
bucket = "noahmasur-backup";
|
||||||
accessKeyId = "0026b0e73b2e2c80000000005";
|
accessKeyId = "0026b0e73b2e2c80000000005";
|
||||||
|
resticBucket = "noahmasur-restic";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Disable passwords, only use SSH key
|
# Disable passwords, only use SSH key
|
||||||
|
@ -26,7 +26,8 @@ inputs.darwin.lib.darwinSystem {
|
|||||||
inputs.mac-app-util.darwinModules.default
|
inputs.mac-app-util.darwinModules.default
|
||||||
{
|
{
|
||||||
nixpkgs.overlays = [ inputs.firefox-darwin.overlay ] ++ overlays;
|
nixpkgs.overlays = [ inputs.firefox-darwin.overlay ] ++ overlays;
|
||||||
networking.hostName = "lookingglass";
|
networking.hostName = "NYCM-NMASUR2";
|
||||||
|
networking.computerName = "NYCM-NMASUR2";
|
||||||
identityFile = "/Users/Noah.Masur/.ssh/id_ed25519";
|
identityFile = "/Users/Noah.Masur/.ssh/id_ed25519";
|
||||||
gui.enable = true;
|
gui.enable = true;
|
||||||
theme = {
|
theme = {
|
||||||
|
@ -134,6 +134,7 @@ inputs.nixpkgs.lib.nixosSystem rec {
|
|||||||
endpoint = "s3.us-west-002.backblazeb2.com";
|
endpoint = "s3.us-west-002.backblazeb2.com";
|
||||||
bucket = "noahmasur-backup";
|
bucket = "noahmasur-backup";
|
||||||
accessKeyId = "0026b0e73b2e2c80000000005";
|
accessKeyId = "0026b0e73b2e2c80000000005";
|
||||||
|
resticBucket = "noahmasur-restic";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Disable passwords, only use SSH key
|
# Disable passwords, only use SSH key
|
||||||
|
@ -21,4 +21,6 @@
|
|||||||
home.packages = with pkgs; [ slack ];
|
home.packages = with pkgs; [ slack ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Theme string: #1D2122,#665C54,#8EC07C,#BDAE93
|
||||||
}
|
}
|
||||||
|
@ -115,7 +115,7 @@
|
|||||||
left = 10,
|
left = 10,
|
||||||
right = 10,
|
right = 10,
|
||||||
top = 10,
|
top = 10,
|
||||||
bottom = 10,
|
bottom = 12,
|
||||||
}
|
}
|
||||||
|
|
||||||
config.font = wezterm.font('${font}', { weight = 'Bold'})
|
config.font = wezterm.font('${font}', { weight = 'Bold'})
|
||||||
|
@ -86,6 +86,10 @@
|
|||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
description = "Hostname for audiobook server (Audiobookshelf).";
|
description = "Hostname for audiobook server (Audiobookshelf).";
|
||||||
};
|
};
|
||||||
|
budget = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Hostname for budgeting server (ActualBudget).";
|
||||||
|
};
|
||||||
files = lib.mkOption {
|
files = lib.mkOption {
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
description = "Hostname for files server (Filebrowser).";
|
description = "Hostname for files server (Filebrowser).";
|
||||||
|
@ -57,7 +57,7 @@
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
selected=$(gh repo list "$organization" \
|
selected=$(gh repo list "$organization" \
|
||||||
--limit 100 \
|
--limit 1000 \
|
||||||
--no-archived \
|
--no-archived \
|
||||||
--json=name,description,isPrivate,updatedAt,primaryLanguage \
|
--json=name,description,isPrivate,updatedAt,primaryLanguage \
|
||||||
| jq -r '.[] | .name + "," + if .description == "" then "-" else .description |= gsub(","; " ") | .description end + "," + .updatedAt + "," + .primaryLanguage.name' \
|
| jq -r '.[] | .name + "," + if .description == "" then "-" else .description |= gsub(","; " ") | .description end + "," + .updatedAt + "," + .primaryLanguage.name' \
|
||||||
|
@ -19,8 +19,12 @@
|
|||||||
nr = {
|
nr = {
|
||||||
function = "rebuild-nixos";
|
function = "rebuild-nixos";
|
||||||
};
|
};
|
||||||
nro = "rebuild-nixos offline";
|
nro = {
|
||||||
hm = "rebuild-home";
|
function = "rebuild-nixos-offline";
|
||||||
|
};
|
||||||
|
hm = {
|
||||||
|
function = "rebuild-home";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
functions = {
|
functions = {
|
||||||
nix-shell-run = {
|
nix-shell-run = {
|
||||||
@ -44,11 +48,14 @@
|
|||||||
};
|
};
|
||||||
rebuild-nixos = {
|
rebuild-nixos = {
|
||||||
body = ''
|
body = ''
|
||||||
if test "$argv[1]" = "offline"
|
|
||||||
set option "--option substitute false "
|
|
||||||
end
|
|
||||||
git -C ${config.dotfilesPath} add --intent-to-add --all
|
git -C ${config.dotfilesPath} add --intent-to-add --all
|
||||||
echo "doas nixos-rebuild switch $option--flake ${config.dotfilesPath}#${config.networking.hostName}"
|
echo "doas nixos-rebuild switch --flake ${config.dotfilesPath}#${config.networking.hostName}"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
rebuild-nixos-offline = {
|
||||||
|
body = ''
|
||||||
|
git -C ${config.dotfilesPath} add --intent-to-add --all
|
||||||
|
echo "doas nixos-rebuild switch --option substitute false --flake ${config.dotfilesPath}#${config.networking.hostName}"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
rebuild-home = {
|
rebuild-home = {
|
||||||
|
@ -34,10 +34,11 @@ in
|
|||||||
osc # Clipboard over SSH
|
osc # Clipboard over SSH
|
||||||
qrencode # Generate qr codes
|
qrencode # Generate qr codes
|
||||||
rsync # Copy folders
|
rsync # Copy folders
|
||||||
ren # Rename files
|
# ren # Rename files
|
||||||
# rep # Replace text in files
|
# rep # Replace text in files
|
||||||
ripgrep # grep
|
ripgrep # grep
|
||||||
sd # sed
|
sd # sed
|
||||||
|
spacer # Output lines in terminal
|
||||||
tealdeer # Cheatsheets
|
tealdeer # Cheatsheets
|
||||||
tree # View directory hierarchy
|
tree # View directory hierarchy
|
||||||
vimv-rs # Batch rename files
|
vimv-rs # Batch rename files
|
||||||
|
@ -48,11 +48,19 @@
|
|||||||
fi
|
fi
|
||||||
${ldap_script}/bin/ldap "$@" | jq '[ .[].member] | add'
|
${ldap_script}/bin/ldap "$@" | jq '[ .[].member] | add'
|
||||||
'';
|
'';
|
||||||
|
ldapl_script = pkgs.writeShellScriptBin "ldapl" ''
|
||||||
|
if ! [ "$LDAP_HOST" ]; then
|
||||||
|
echo "No LDAP_HOST specified!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
${ldap_script}/bin/ldap "*$@*" | jq -r '.[].name'
|
||||||
|
'';
|
||||||
in
|
in
|
||||||
[
|
[
|
||||||
ldap_script
|
ldap_script
|
||||||
ldapm_script
|
ldapm_script
|
||||||
ldapg_script
|
ldapg_script
|
||||||
|
ldapl_script
|
||||||
jq_parse
|
jq_parse
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
home-manager.users.${config.user} = lib.mkIf pkgs.stdenv.isDarwin {
|
home-manager.users.${config.user} = lib.mkIf pkgs.stdenv.isDarwin {
|
||||||
|
|
||||||
home.packages = with pkgs; [ (nerdfonts.override { fonts = [ "VictorMono" ]; }) ];
|
home.packages = with pkgs; [ nerd-fonts.victor-mono ];
|
||||||
|
|
||||||
programs.alacritty.settings = {
|
programs.alacritty.settings = {
|
||||||
font.normal.family = "VictorMono";
|
font.normal.family = "VictorMono";
|
||||||
|
@ -20,7 +20,10 @@
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
# Add homebrew paths to CLI path
|
# Add homebrew paths to CLI path
|
||||||
home-manager.users.${config.user}.home.sessionPath = [ "/opt/homebrew/bin/" ];
|
home-manager.users.${config.user}.home.sessionPath = [
|
||||||
|
"/opt/homebrew/bin/"
|
||||||
|
"/opt/homebrew/opt/trash/bin/"
|
||||||
|
];
|
||||||
|
|
||||||
homebrew = {
|
homebrew = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -46,7 +49,7 @@
|
|||||||
"scroll-reverser" # Different scroll style for mouse vs. trackpad
|
"scroll-reverser" # Different scroll style for mouse vs. trackpad
|
||||||
"notunes" # Don't launch Apple Music with the play button
|
"notunes" # Don't launch Apple Music with the play button
|
||||||
"steam" # Not packaged for Nixon macOS
|
"steam" # Not packaged for Nixon macOS
|
||||||
# "epic-games" # Not packaged for Nix
|
"epic-games" # Not packaged for Nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -6,11 +6,12 @@
|
|||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
|
|
||||||
config = lib.mkIf pkgs.stdenv.isDarwin {
|
# config = lib.mkIf pkgs.stdenv.isDarwin {
|
||||||
networking = {
|
# networking = {
|
||||||
computerName = config.networking.hostName;
|
# computerName = config.networking.hostName;
|
||||||
# Adjust if necessary
|
# # Adjust if necessary
|
||||||
# hostName = "";
|
# # hostName = "";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
|
# }
|
||||||
}
|
}
|
||||||
|
@ -13,16 +13,21 @@
|
|||||||
nr = {
|
nr = {
|
||||||
function = lib.mkForce "rebuild-darwin";
|
function = lib.mkForce "rebuild-darwin";
|
||||||
};
|
};
|
||||||
nro = lib.mkForce "rebuild-darwin offline";
|
nro = {
|
||||||
|
function = lib.mkForce "rebuild-darwin-offline";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
functions = {
|
functions = {
|
||||||
rebuild-darwin = {
|
rebuild-darwin = {
|
||||||
body = ''
|
body = ''
|
||||||
if test "$argv[1]" = "offline"
|
|
||||||
set option "--option substitute false"
|
|
||||||
end
|
|
||||||
git -C ${config.dotfilesPath} add --intent-to-add --all
|
git -C ${config.dotfilesPath} add --intent-to-add --all
|
||||||
echo "darwin-rebuild switch $option--flake ${config.dotfilesPath}#lookingglass"
|
echo "darwin-rebuild switch --flake ${config.dotfilesPath}#lookingglass"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
rebuild-darwin-offline = {
|
||||||
|
body = ''
|
||||||
|
git -C ${config.dotfilesPath} add --intent-to-add --all
|
||||||
|
echo "darwin-rebuild switch --option substitute false --flake ${config.dotfilesPath}#lookingglass"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
rebuild-home = lib.mkForce {
|
rebuild-home = lib.mkForce {
|
||||||
|
@ -6,6 +6,19 @@
|
|||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
|
|
||||||
|
options = {
|
||||||
|
terminal = lib.mkOption {
|
||||||
|
type = lib.types.nullOr lib.types.str;
|
||||||
|
description = "Path to executable for terminal emulator program.";
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
terminalLaunchCommand = lib.mkOption {
|
||||||
|
type = lib.types.nullOr lib.types.str;
|
||||||
|
description = "Command for using the terminal to launch a new window with a program.";
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
config = lib.mkIf pkgs.stdenv.isDarwin {
|
config = lib.mkIf pkgs.stdenv.isDarwin {
|
||||||
|
|
||||||
services.nix-daemon.enable = true;
|
services.nix-daemon.enable = true;
|
||||||
@ -135,6 +148,9 @@
|
|||||||
# Where to save screenshots
|
# Where to save screenshots
|
||||||
screencapture.location = "~/Downloads";
|
screencapture.location = "~/Downloads";
|
||||||
|
|
||||||
|
# Show seconds on the clock
|
||||||
|
menuExtraClock.ShowSeconds = true;
|
||||||
|
|
||||||
CustomUserPreferences = {
|
CustomUserPreferences = {
|
||||||
# Disable disk image verification
|
# Disable disk image verification
|
||||||
"com.apple.frameworks.diskimages" = {
|
"com.apple.frameworks.diskimages" = {
|
||||||
|
@ -11,11 +11,12 @@
|
|||||||
users.users."${config.user}" = {
|
users.users."${config.user}" = {
|
||||||
# macOS user
|
# macOS user
|
||||||
home = config.homePath;
|
home = config.homePath;
|
||||||
|
uid = 502;
|
||||||
# shell = pkgs.fish; # Default shell
|
# shell = pkgs.fish; # Default shell
|
||||||
};
|
};
|
||||||
|
|
||||||
# This might fix the shell issues
|
# This might fix the shell issues
|
||||||
# users.knownUsers = [ config.user ];
|
users.knownUsers = [ config.user ];
|
||||||
|
|
||||||
home-manager.users.${config.user} = {
|
home-manager.users.${config.user} = {
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
unfreePackages = [
|
unfreePackages = [
|
||||||
"consul"
|
"consul"
|
||||||
"vault-bin"
|
"vault-bin"
|
||||||
"teams"
|
# "teams"
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager.users.${config.user} = lib.mkIf pkgs.stdenv.isDarwin {
|
home-manager.users.${config.user} = lib.mkIf pkgs.stdenv.isDarwin {
|
||||||
@ -32,8 +32,9 @@
|
|||||||
pkgs.consul
|
pkgs.consul
|
||||||
pkgs.noti # Create notifications programmatically
|
pkgs.noti # Create notifications programmatically
|
||||||
pkgs.ipcalc # Make IP network calculations
|
pkgs.ipcalc # Make IP network calculations
|
||||||
pkgs.teams
|
# pkgs.teams
|
||||||
pkgs.cloudflared # Allow connecting to Cloudflare tunnels
|
pkgs.cloudflared # Allow connecting to Cloudflare tunnels
|
||||||
|
pkgs.monitorcontrol # Allows adjusting external displays
|
||||||
(pkgs.writeShellApplication {
|
(pkgs.writeShellApplication {
|
||||||
name = "ocr";
|
name = "ocr";
|
||||||
runtimeInputs = [ pkgs.tesseract ];
|
runtimeInputs = [ pkgs.tesseract ];
|
||||||
|
@ -37,17 +37,16 @@
|
|||||||
# Set up screen position and rotation
|
# Set up screen position and rotation
|
||||||
setupCommands = ''
|
setupCommands = ''
|
||||||
${pkgs.xorg.xrandr}/bin/xrandr --output DisplayPort-1 \
|
${pkgs.xorg.xrandr}/bin/xrandr --output DisplayPort-1 \
|
||||||
--mode 1920x1200 \
|
|
||||||
--pos 2560x0 \
|
|
||||||
--rotate left \
|
|
||||||
--output DisplayPort-0 \
|
|
||||||
--primary \
|
--primary \
|
||||||
--mode 2560x1440 \
|
|
||||||
--pos 0x560 \
|
|
||||||
--rotate normal \
|
--rotate normal \
|
||||||
--rate 120 \
|
--mode 2560x1440 \
|
||||||
|
--rate 165 \
|
||||||
|
--output DisplayPort-2 \
|
||||||
|
--right-of DisplayPort-1 \
|
||||||
|
--rotate left \
|
||||||
--output DVI-0 --off \
|
--output DVI-0 --off \
|
||||||
--output DVI-1 --off \
|
--output DVI-1 --off \
|
||||||
|
|| echo "xrandr failed"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -8,6 +8,10 @@
|
|||||||
|
|
||||||
config = lib.mkIf (config.physical && !config.server) {
|
config = lib.mkIf (config.physical && !config.server) {
|
||||||
|
|
||||||
|
# Use power button to sleep instead of poweroff
|
||||||
|
services.logind.powerKey = "suspend";
|
||||||
|
services.logind.powerKeyLongPress = "poweroff";
|
||||||
|
|
||||||
# Prevent wake from keyboard
|
# Prevent wake from keyboard
|
||||||
powerManagement.powerDownCommands = ''
|
powerManagement.powerDownCommands = ''
|
||||||
set +e
|
set +e
|
||||||
|
74
modules/nixos/services/actualbudget.nix
Normal file
74
modules/nixos/services/actualbudget.nix
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
{ config, lib, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
options = {
|
||||||
|
services.actualbudget = {
|
||||||
|
enable = lib.mkEnableOption "ActualBudget budgeting service";
|
||||||
|
port = lib.mkOption {
|
||||||
|
type = lib.types.port;
|
||||||
|
description = "Port to use for the localhost";
|
||||||
|
default = 5006;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.services.actualbudget.enable {
|
||||||
|
|
||||||
|
virtualisation.podman.enable = lib.mkDefault true;
|
||||||
|
|
||||||
|
users.users.actualbudget = {
|
||||||
|
isSystemUser = true;
|
||||||
|
group = "shared";
|
||||||
|
uid = 980;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Create budget directory, allowing others to manage it
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d /var/lib/actualbudget 0770 actualbudget shared"
|
||||||
|
];
|
||||||
|
|
||||||
|
virtualisation.oci-containers.containers.actualbudget = {
|
||||||
|
workdir = null;
|
||||||
|
volumes = [ "/var/lib/actualbudget:/data" ];
|
||||||
|
user = "${toString (builtins.toString config.users.users.actualbudget.uid)}";
|
||||||
|
pull = "missing";
|
||||||
|
privileged = false;
|
||||||
|
ports = [ "127.0.0.1:${builtins.toString config.services.actualbudget.port}:5006" ];
|
||||||
|
networks = [ ];
|
||||||
|
log-driver = "journald";
|
||||||
|
labels = {
|
||||||
|
app = "actualbudget";
|
||||||
|
};
|
||||||
|
image = "ghcr.io/actualbudget/actual-server:25.1.0";
|
||||||
|
hostname = null;
|
||||||
|
environmentFiles = [ ];
|
||||||
|
environment = {
|
||||||
|
DEBUG = "actual:config"; # Enable debug logging
|
||||||
|
ACTUAL_TRUSTED_PROXIES = builtins.concatStringsSep "," [ "127.0.0.1" ];
|
||||||
|
};
|
||||||
|
dependsOn = [ ];
|
||||||
|
autoStart = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Allow web traffic to Caddy
|
||||||
|
caddy.routes = [
|
||||||
|
{
|
||||||
|
match = [ { host = [ config.hostnames.budget ]; } ];
|
||||||
|
handle = [
|
||||||
|
{
|
||||||
|
handler = "reverse_proxy";
|
||||||
|
upstreams = [ { dial = "localhost:${builtins.toString config.services.actualbudget.port}"; } ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
# Configure Cloudflare DNS to point to this machine
|
||||||
|
services.cloudflare-dyndns.domains = [ config.hostnames.budget ];
|
||||||
|
|
||||||
|
# Backups
|
||||||
|
services.restic.backups.default.paths = [ "/var/lib/actualbudget" ];
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -22,9 +22,9 @@
|
|||||||
description = "S3 access key ID for backups";
|
description = "S3 access key ID for backups";
|
||||||
default = null;
|
default = null;
|
||||||
};
|
};
|
||||||
glacierBucket = lib.mkOption {
|
resticBucket = lib.mkOption {
|
||||||
type = lib.types.nullOr lib.types.str;
|
type = lib.types.nullOr lib.types.str;
|
||||||
description = "S3 bucket for glacier backups";
|
description = "S3 bucket for restic backups";
|
||||||
default = null;
|
default = null;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -84,10 +84,10 @@
|
|||||||
dest = "${config.secretsDirectory}/restic";
|
dest = "${config.secretsDirectory}/restic";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.restic.backups = {
|
services.restic.backups = lib.mkIf (config.backup.s3.resticBucket != null) {
|
||||||
default = {
|
default = {
|
||||||
repository = "s3:s3.us-east-1.amazonaws.com/${config.backup.s3.glacierBucket}/restic";
|
repository = "s3:s3.us-east-1.amazonaws.com/${config.backup.s3.resticBucket}/restic";
|
||||||
paths = [ "/data/images" ];
|
paths = [ ];
|
||||||
environmentFile = config.secrets.s3-glacier.dest;
|
environmentFile = config.secrets.s3-glacier.dest;
|
||||||
passwordFile = config.secrets.restic.dest;
|
passwordFile = config.secrets.restic.dest;
|
||||||
pruneOpts = [
|
pruneOpts = [
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
{
|
{
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
|
./actualbudget.nix
|
||||||
./audiobookshelf.nix
|
./audiobookshelf.nix
|
||||||
./arr.nix
|
./arr.nix
|
||||||
./backups.nix
|
./backups.nix
|
||||||
|
@ -57,5 +57,9 @@
|
|||||||
systemd.services.paperless-web.serviceConfig.UMask = lib.mkForce "0026";
|
systemd.services.paperless-web.serviceConfig.UMask = lib.mkForce "0026";
|
||||||
systemd.services.paperless-scheduler.serviceConfig.UMask = lib.mkForce "0026";
|
systemd.services.paperless-scheduler.serviceConfig.UMask = lib.mkForce "0026";
|
||||||
systemd.services.paperless-task-queue.serviceConfig.UMask = lib.mkForce "0026";
|
systemd.services.paperless-task-queue.serviceConfig.UMask = lib.mkForce "0026";
|
||||||
|
|
||||||
|
# Backups
|
||||||
|
services.restic.backups.default.paths = [ "/data/generic/paperless/documents" ];
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -8,22 +8,14 @@
|
|||||||
|
|
||||||
config = lib.mkIf pkgs.stdenv.isLinux {
|
config = lib.mkIf pkgs.stdenv.isLinux {
|
||||||
|
|
||||||
|
services.tzupdate.enable = true;
|
||||||
|
|
||||||
# Service to determine location for time zone
|
# Service to determine location for time zone
|
||||||
|
# This is required for redshift which depends on the location provider
|
||||||
services.geoclue2.enable = true;
|
services.geoclue2.enable = true;
|
||||||
services.geoclue2.enableWifi = false; # Breaks when it can't connect
|
services.geoclue2.enableWifi = false; # Breaks when it can't connect
|
||||||
location = {
|
location = {
|
||||||
provider = "geoclue2";
|
provider = "geoclue2";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable local time based on time zone
|
|
||||||
services.localtimed.enable = true;
|
|
||||||
|
|
||||||
# Required to get localtimed to talk to geoclue2
|
|
||||||
services.geoclue2.appConfig.localtimed.isSystem = true;
|
|
||||||
services.geoclue2.appConfig.localtimed.isAllowed = true;
|
|
||||||
|
|
||||||
# Fix "Failed to set timezone"
|
|
||||||
# https://github.com/NixOS/nixpkgs/issues/68489#issuecomment-1484030107
|
|
||||||
services.geoclue2.enableDemoAgent = lib.mkForce true;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
# Add disko to nixpkgs from its input flake
|
|
||||||
|
|
||||||
inputs: _final: prev: { disko = inputs.disko.packages.${prev.system}.disko; }
|
|
@ -2,11 +2,10 @@ inputs: _final: prev: {
|
|||||||
|
|
||||||
gh-collaborators = prev.buildGoModule rec {
|
gh-collaborators = prev.buildGoModule rec {
|
||||||
pname = "gh-collaborators";
|
pname = "gh-collaborators";
|
||||||
version = "v2.0.3";
|
version = "v3.0.0";
|
||||||
src = inputs.gh-collaborators;
|
src = inputs.gh-collaborators;
|
||||||
|
|
||||||
# vendorHash = "sha256-rsRDOgJBa8T6+bC/APcmuRmg6ykbIp9pwRnJ9rrfHEs=";
|
vendorHash = "sha256-9qmvG2q9t1Zj8yhKFyA99IaJ90R/gRVdQVjdliVKLRE";
|
||||||
vendorHash = "sha256-fykxRb2U9DDsXorRTLiVWmhMY89N7RS07sal8ww6gz4=";
|
|
||||||
|
|
||||||
ldflags = [
|
ldflags = [
|
||||||
"-s"
|
"-s"
|
||||||
|
@ -1,7 +1,44 @@
|
|||||||
# Fix: Volnoti binary not found
|
# Fix: Volnoti error: 'volnoti' has been removed due to lack of maintenance upstream.
|
||||||
# Broken by https://github.com/nix-community/home-manager/pull/5725/commits/98bf8de65dc1ed12c6443b18f6f24d36e9c438d6
|
|
||||||
_final: prev: {
|
_final: prev: {
|
||||||
volnoti = prev.volnoti.overrideAttrs (oldAttrs: {
|
volnoti = prev.stdenv.mkDerivation {
|
||||||
meta.mainProgram = "volnoti";
|
pname = "volnoti-unstable";
|
||||||
});
|
version = "2013-09-23";
|
||||||
|
src = prev.fetchFromGitHub {
|
||||||
|
owner = "davidbrazdil";
|
||||||
|
repo = "volnoti";
|
||||||
|
rev = "4af7c8e54ecc499097121909f02ecb42a8a60d24";
|
||||||
|
sha256 = "155lb7w563dkdkdn4752hl0zjhgnq3j4cvs9z98nb25k1xpmpki7";
|
||||||
|
};
|
||||||
|
patches = [
|
||||||
|
# Fix dbus interface headers. See
|
||||||
|
# https://github.com/davidbrazdil/volnoti/pull/10
|
||||||
|
(prev.fetchpatch {
|
||||||
|
url = "https://github.com/davidbrazdil/volnoti/commit/623ad8ea5c3ac8720d00a2ced4b6163aae38c119.patch";
|
||||||
|
sha256 = "046zfdjmvhb7jrsgh04vfgi35sgy1zkrhd3bzdby3nvds1wslfam";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
nativeBuildInputs = with prev; [
|
||||||
|
pkg-config
|
||||||
|
autoreconfHook
|
||||||
|
wrapGAppsHook3
|
||||||
|
];
|
||||||
|
buildInputs = with prev; [
|
||||||
|
dbus
|
||||||
|
gdk-pixbuf
|
||||||
|
glib
|
||||||
|
xorg.libX11
|
||||||
|
gtk2
|
||||||
|
dbus-glib
|
||||||
|
librsvg
|
||||||
|
];
|
||||||
|
meta = with prev.lib; {
|
||||||
|
description = "Lightweight volume notification for Linux";
|
||||||
|
homepage = "https://github.com/davidbrazdil/volnoti";
|
||||||
|
license = licenses.gpl3;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = [ ];
|
||||||
|
# Broken by https://github.com/nix-community/home-manager/pull/5725/commits/98bf8de65dc1ed12c6443b18f6f24d36e9c438d6
|
||||||
|
mainProgram = "volnoti";
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user