398 Commits

Author SHA1 Message Date
6ee5ade2bc add trash from homebrew to path 2025-01-27 10:26:18 -05:00
043cd8ce5c add ldapl script 2025-01-27 10:26:01 -05:00
07a0d5185b flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/87131f51f8256952d1a306b5521cedc2dc61aa08' (2025-01-18)
  → 'github:lnl7/nix-darwin/65cc1fa8e36ceff067daf6cfb142331f02f524d3' (2025-01-22)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/3224752c71a5245e90cfae360e0dc5de98e2b53c' (2025-01-18)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/ef9a452ffc26aed9265e2a5ff04952e960f8f21b' (2025-01-25)
• Updated input 'home-manager':
    'github:nix-community/home-manager/a0046af169ce7b1da503974e1b22c48ef4d71887' (2025-01-17)
  → 'github:nix-community/home-manager/daf04c5950b676f47a794300657f1d3d14c1a120' (2025-01-24)
• Updated input 'jujutsu':
    'github:martinvonz/jj/83d40d2c425fa2e050bdac8837b19e5beb3bef25' (2025-01-18)
  → 'github:martinvonz/jj/e58713c1355d0536e197a3f99ce5a5c713fe69c3' (2025-01-25)
• Updated input 'jujutsu/rust-overlay':
    'github:oxalica/rust-overlay/04d5f1836721461b256ec452883362c5edc5288e' (2025-01-02)
  → 'github:oxalica/rust-overlay/eb64cbcc8eee0fa87ebded92805280d2ec97415a' (2025-01-24)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2025-01-18)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2025-01-25)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/5df43628fdf08d642be8ba5b3625a6c70731c19c' (2025-01-16)
  → 'github:nixos/nixpkgs/0aa475546ed21629c4f5bbf90e38c846a99ec9e9' (2025-01-23)
• Updated input 'nur':
    'github:nix-community/nur/62cdd681201843553ec740a85ccf2f0a6fca75c6' (2025-01-18)
  → 'github:nix-community/nur/e3bdfbe8b01b6469fd2351ab0cf867d9cfa73da8' (2025-01-25)
• Updated input 'nur/nixpkgs':
    'github:nixos/nixpkgs/5df43628fdf08d642be8ba5b3625a6c70731c19c' (2025-01-16)
  → 'github:nixos/nixpkgs/0aa475546ed21629c4f5bbf90e38c846a99ec9e9' (2025-01-23)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/dfa45de973c3ce7bd1b9a6d346f896a68ad07e44' (2025-01-06)
  → 'github:mfussenegger/nvim-lint/789b7ada1b4f00e08d026dffde410dcfa6a0ba87' (2025-01-21)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/fca0b67c0b5a31727fb33addc4d9c100736a2894' (2025-01-17)
  → 'github:kyazdani42/nvim-tree.lua/fee1da88972f5972a8296813f6c00d7598325ebd' (2025-01-25)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/aaa6f0dd097f8ca2478cad259e61b7cb26ec0eb8' (2025-01-15)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/5c00aec99f558b8f0a2c4445038f74e5f5435c00' (2025-01-23)
• Updated input 'tree-sitter-bash':
    'github:tree-sitter/tree-sitter-bash/49c31006d8307dcb12bc5770f35b6d5b9e2be68e' (2024-11-11)
  → 'github:tree-sitter/tree-sitter-bash/03f4927065b3c0d71a962be87130aa7e79b35448' (2025-01-24)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/409b5d671eb0ea4972eeacaaca24bbec1acf79b1' (2025-01-07)
  → 'github:tree-sitter/tree-sitter-python/ab2ba8be034368fa009f62f371c068b8728f9db7' (2025-01-23)
2025-01-25 03:44:22 +00:00
a4b5e05f8f switch from geoclue to tzupdate for localtime since geoclue isn't working 2025-01-19 17:44:00 -05:00
83f548e95f fix: power button immediately shuts down pc 2025-01-19 20:07:12 +00:00
c66ca460c0 fix: desktop won't launch if xrandr fails 2025-01-19 20:06:33 +00:00
2b36140fbf flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/57733bd1dc81900e13438e5b4439239f1b29db0e' (2025-01-08)
  → 'github:lnl7/nix-darwin/87131f51f8256952d1a306b5521cedc2dc61aa08' (2025-01-18)
• Updated input 'disko':
    'github:nix-community/disko/b1a94497b1c27fe7f81e3e76990959f5051da18b' (2025-01-10)
  → 'github:nix-community/disko/bf0abfde48f469c256f2b0f481c6281ff04a5db2' (2025-01-16)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/fb3332f1796317224b4a2886815491fa9c63266f' (2025-01-11)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/3224752c71a5245e90cfae360e0dc5de98e2b53c' (2025-01-18)
• Updated input 'home-manager':
    'github:nix-community/home-manager/2532b500c3ed2b8940e831039dcec5a5ea093afc' (2025-01-10)
  → 'github:nix-community/home-manager/a0046af169ce7b1da503974e1b22c48ef4d71887' (2025-01-17)
• Updated input 'jujutsu':
    'github:martinvonz/jj/98724278c5f1344baf3b5c27396aa3e10decec8b' (2025-01-11)
  → 'github:martinvonz/jj/83d40d2c425fa2e050bdac8837b19e5beb3bef25' (2025-01-18)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2025-01-11)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2025-01-18)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/051d1b2dda3b2e81b38d82e2b691e5c2f4d335f4' (2024-12-23)
  → 'github:nix-community/nixos-generators/d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453' (2025-01-16)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/0a31e8d833173ae63e43fd9dbff1ccf09c4f778c' (2024-12-22)
  → 'github:nix-community/nixpkgs.lib/1418bc28a52126761c02dd3d89b2d8ca0f521181' (2025-01-12)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/bffc22eb12172e6db3c5dde9e3e5628f8e3e7912' (2025-01-08)
  → 'github:nixos/nixpkgs/5df43628fdf08d642be8ba5b3625a6c70731c19c' (2025-01-16)
• Updated input 'nur':
    'github:nix-community/nur/82ecbe2706b9dc7a5f138bed1f7a933611085421' (2025-01-11)
  → 'github:nix-community/nur/62cdd681201843553ec740a85ccf2f0a6fca75c6' (2025-01-18)
• Updated input 'nur/nixpkgs':
    'github:nixos/nixpkgs/bffc22eb12172e6db3c5dde9e3e5628f8e3e7912' (2025-01-08)
  → 'github:nixos/nixpkgs/5df43628fdf08d642be8ba5b3625a6c70731c19c' (2025-01-16)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/68fc4c20f5803444277022c681785c5edd11916d' (2024-12-21)
  → 'github:kyazdani42/nvim-tree.lua/fca0b67c0b5a31727fb33addc4d9c100736a2894' (2025-01-17)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/6b40143750d7db53ae0fb2ef8a0bec8be009291b' (2025-01-10)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/aaa6f0dd097f8ca2478cad259e61b7cb26ec0eb8' (2025-01-15)
2025-01-18 03:44:41 +00:00
66207830ba add backups for actual budget 2025-01-14 04:30:14 +00:00
0f7c15bf36 backup paperless and adjust restic bucket 2025-01-14 04:25:41 +00:00
d31a083ed6 add monitorcontrol for macos external displays 2025-01-11 15:08:16 -05:00
148839b0ab fix: gh-collaborators vendor hash outdated 2025-01-11 15:08:08 -05:00
7714635fa0 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/3feaf376d75d3d58ebf7e9a4f584d00628548ad9' (2025-01-04)
  → 'github:lnl7/nix-darwin/57733bd1dc81900e13438e5b4439239f1b29db0e' (2025-01-08)
• Updated input 'disko':
    'github:nix-community/disko/84a5b93637cc16cbfcc61b6e1684d626df61eb21' (2024-12-29)
  → 'github:nix-community/disko/b1a94497b1c27fe7f81e3e76990959f5051da18b' (2025-01-10)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/72ce135b49236c110d86bce6e6d25bfafcc2158d' (2025-01-04)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/fb3332f1796317224b4a2886815491fa9c63266f' (2025-01-11)
• Updated input 'gh-collaborators':
    'github:katiem0/gh-collaborators/4dfcd0b5c2e31f2d0fbfd4b83fdfae787a5e6ff8' (2024-05-31)
  → 'github:katiem0/gh-collaborators/bf412dde50605e48af86f291c2ac8714f2c1b228' (2025-01-06)
• Updated input 'home-manager':
    'github:nix-community/home-manager/a9987622b7b93c82e147f198574e8e6ffbf5e327' (2025-01-03)
  → 'github:nix-community/home-manager/2532b500c3ed2b8940e831039dcec5a5ea093afc' (2025-01-10)
• Updated input 'jujutsu':
    'github:martinvonz/jj/1ddfc59ee95d680ccbd0cfcbcf86c9202f8e44ca' (2025-01-03)
  → 'github:martinvonz/jj/98724278c5f1344baf3b5c27396aa3e10decec8b' (2025-01-11)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2025-01-04)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2025-01-11)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/6df24922a1400241dae323af55f30e4318a6ca65' (2025-01-02)
  → 'github:nixos/nixpkgs/bffc22eb12172e6db3c5dde9e3e5628f8e3e7912' (2025-01-08)
• Updated input 'nur':
    'github:nix-community/nur/b085ce9e13651cc235ca993af7a5b09990d27807' (2025-01-04)
  → 'github:nix-community/nur/82ecbe2706b9dc7a5f138bed1f7a933611085421' (2025-01-11)
• Updated input 'nur/nixpkgs':
    'github:nixos/nixpkgs/6df24922a1400241dae323af55f30e4318a6ca65' (2025-01-02)
  → 'github:nixos/nixpkgs/bffc22eb12172e6db3c5dde9e3e5628f8e3e7912' (2025-01-08)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/1fea92f1d9908eaa5eb8bafe08b4293d7aadaa55' (2024-12-19)
  → 'github:mfussenegger/nvim-lint/dfa45de973c3ce7bd1b9a6d346f896a68ad07e44' (2025-01-06)
• Updated input 'snipe-nvim-src':
    'github:leath-dub/snipe.nvim/2550012916d4fb21d6d1c7a88a9bddde651bb1f0' (2024-12-23)
  → 'github:leath-dub/snipe.nvim/0d0a482ac713370196e4fc0025d5aaac5030104d' (2025-01-05)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/867902d5974a18c156c918ab8addbf091719de27' (2024-12-30)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/6b40143750d7db53ae0fb2ef8a0bec8be009291b' (2025-01-10)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/bffb65a8cfe4e46290331dfef0dbf0ef3679de11' (2024-12-22)
  → 'github:tree-sitter/tree-sitter-python/409b5d671eb0ea4972eeacaaca24bbec1acf79b1' (2025-01-07)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/dee4425dcee3149475ead0cb6a616b8a028c5888' (2024-12-10)
  → 'github:nix-community/NixOS-WSL/63c3b4ed1712a3a0621002cd59bfdc80875ecbb0' (2025-01-05)
• Removed input 'wsl/flake-utils'
• Removed input 'wsl/flake-utils/systems'
2025-01-11 03:47:43 +00:00
ca6c275cd8 pin actual-budget to specific version 2025-01-07 19:29:05 +00:00
54a897abb6 add back epic games to lookingglass 2025-01-06 15:45:25 -05:00
45eb33485d temp: disable teams 2025-01-06 11:03:48 -05:00
cbdf17f618 change name of macbook to match required name 2025-01-06 09:57:16 -05:00
fdf231b46e add spacer program for shell output 2025-01-06 09:57:16 -05:00
e9d611fc03 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/a35b08d09efda83625bef267eb24347b446c80b8' (2024-12-07)
  → 'github:lnl7/nix-darwin/3feaf376d75d3d58ebf7e9a4f584d00628548ad9' (2025-01-04)
• Updated input 'disko':
    'github:nix-community/disko/d32f2d1750d61a476a236526b725ec5a32e16342' (2024-12-13)
  → 'github:nix-community/disko/84a5b93637cc16cbfcc61b6e1684d626df61eb21' (2024-12-29)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/6ea00de0cb507b4f8c478c19a2d4842a51d1e32c' (2024-12-13)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/72ce135b49236c110d86bce6e6d25bfafcc2158d' (2025-01-04)
• Updated input 'home-manager':
    'github:nix-community/home-manager/66c5d8b62818ec4c1edb3e941f55ef78df8141a8' (2024-12-13)
  → 'github:nix-community/home-manager/a9987622b7b93c82e147f198574e8e6ffbf5e327' (2025-01-03)
• Updated input 'jujutsu':
    'github:martinvonz/jj/cf6711437f5843cfe2ba3e0572d985a83b70e383' (2024-12-14)
  → 'github:martinvonz/jj/1ddfc59ee95d680ccbd0cfcbcf86c9202f8e44ca' (2025-01-03)
• Updated input 'jujutsu/rust-overlay':
    'github:oxalica/rust-overlay/a229311fcb45b88a95fdfa5cecd8349c809a272a' (2024-11-22)
  → 'github:oxalica/rust-overlay/04d5f1836721461b256ec452883362c5edc5288e' (2025-01-02)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-12-14)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2025-01-04)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/d162ffdf0a30f3d19e67df5091d6744ab8b9229f' (2024-12-12)
  → 'github:nix-community/nixos-generators/051d1b2dda3b2e81b38d82e2b691e5c2f4d335f4' (2024-12-23)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/f4dc9a6c02e5e14d91d158522f69f6ab4194eb5b' (2024-12-08)
  → 'github:nix-community/nixpkgs.lib/0a31e8d833173ae63e43fd9dbff1ccf09c4f778c' (2024-12-22)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/5d67ea6b4b63378b9c13be21e2ec9d1afc921713' (2024-12-11)
  → 'github:nixos/nixpkgs/6df24922a1400241dae323af55f30e4318a6ca65' (2025-01-02)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/64e9404f308e0f0a0d8cdd7c358f74e34802494b' (2024-12-12)
  → 'github:nixos/nixpkgs/b134951a4c9f3c995fd7be05f3243f8ecd65d798' (2024-12-30)
• Updated input 'nur':
    'github:nix-community/nur/d6b5477eea757f5cae03c47da3fbe2f7be0b9f17' (2024-12-14)
  → 'github:nix-community/nur/b085ce9e13651cc235ca993af7a5b09990d27807' (2025-01-04)
• Updated input 'nur/nixpkgs':
    'github:nixos/nixpkgs/5d67ea6b4b63378b9c13be21e2ec9d1afc921713' (2024-12-11)
  → 'github:nixos/nixpkgs/6df24922a1400241dae323af55f30e4318a6ca65' (2025-01-02)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/6b46370d02cd001509a765591a3ffc481b538794' (2024-11-22)
  → 'github:mfussenegger/nvim-lint/1fea92f1d9908eaa5eb8bafe08b4293d7aadaa55' (2024-12-19)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/f7b76cd1a75615c8d6254fc58bedd2a7304eb7d8' (2024-12-13)
  → 'github:kyazdani42/nvim-tree.lua/68fc4c20f5803444277022c681785c5edd11916d' (2024-12-21)
• Updated input 'snipe-nvim-src':
    'github:leath-dub/snipe.nvim/7d6dc06b90bad922e568f39bdae3d111282c7429' (2024-12-10)
  → 'github:leath-dub/snipe.nvim/2550012916d4fb21d6d1c7a88a9bddde651bb1f0' (2024-12-23)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/35d46e3804c9211f2e9860e8eff5e7d0905b8254' (2024-12-11)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/867902d5974a18c156c918ab8addbf091719de27' (2024-12-30)
• Updated input 'tree-sitter-puppet':
    'github:amaanq/tree-sitter-puppet/584522f32495d648b18a53ccb52d988e60de127d' (2024-04-20)
  → 'github:amaanq/tree-sitter-puppet/15f192929b7d317f5914de2b4accd37b349182a6' (2024-12-22)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/1ee3e775477f913ae3a46cde7a6a512deb06052c' (2024-12-05)
  → 'github:tree-sitter/tree-sitter-python/bffb65a8cfe4e46290331dfef0dbf0ef3679de11' (2024-12-22)
2025-01-04 03:46:51 +00:00
f899a76f7f remove disko overlay 2025-01-02 14:19:57 -05:00
aa93604a6a attempt to fix volnoti removal 2025-01-02 13:09:15 -05:00
6d8fb63d54 setup actualbudget service 2024-12-26 21:49:24 +00:00
1cb5827438 fix: forgot gruvbox-dark on flame 2024-12-25 21:13:56 +00:00
fccee387b8 tweaks for working on a new macbook 2024-12-17 08:21:36 -05:00
6f22a3031b save slack theme to comment 2024-12-16 16:07:53 -05:00
185258ad8a keep hostname as lookingglass 2024-12-16 14:23:13 -05:00
b69a9a2de7 use nerd-fonts subpackage 2024-12-16 14:20:54 -05:00
f16859893d add terminal options for darwin 2024-12-16 14:19:06 -05:00
b668c991c8 move glacierbucket option away from global 2024-12-16 14:16:34 -05:00
405b1ce60f adjust lookingglass computer name 2024-12-16 14:08:29 -05:00
e6f5649999 offline rebuild in new abbr 2024-12-16 13:43:57 -05:00
ef03bb112d flake.lock: Update
Flake lock file updates:

• Updated input 'cmp-nvim-lsp-src':
    'github:hrsh7th/cmp-nvim-lsp/39e2eda76828d88b773cc27a3f61d2ad782c922d' (2024-05-17)
  → 'github:hrsh7th/cmp-nvim-lsp/99290b3ec1322070bcfb9e846450a46f6efa50f0' (2024-12-10)
• Updated input 'darwin':
    'github:lnl7/nix-darwin/55d07816a0944f06a9df5ef174999a72fa4060c7' (2024-12-04)
  → 'github:lnl7/nix-darwin/a35b08d09efda83625bef267eb24347b446c80b8' (2024-12-07)
• Updated input 'disko':
    'github:nix-community/disko/785c1e02c7e465375df971949b8dcbde9ec362e5' (2024-12-02)
  → 'github:nix-community/disko/d32f2d1750d61a476a236526b725ec5a32e16342' (2024-12-13)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/f47d62eed12552182bde1fd03716edbeb581bb6e' (2024-12-07)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/6ea00de0cb507b4f8c478c19a2d4842a51d1e32c' (2024-12-13)
• Updated input 'home-manager':
    'github:nix-community/home-manager/d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a' (2024-12-06)
  → 'github:nix-community/home-manager/66c5d8b62818ec4c1edb3e941f55ef78df8141a8' (2024-12-13)
• Updated input 'jujutsu':
    'github:martinvonz/jj/da3c75b3cb09d1ae98a3e07c54b6a0f06ff70ed4' (2024-12-07)
  → 'github:martinvonz/jj/cf6711437f5843cfe2ba3e0572d985a83b70e383' (2024-12-14)
• Updated input 'nextcloud-external':
    'https://github.com/nextcloud-releases/external/releases/download/v5.5.2/external-v5.5.2.tar.gz?narHash=sha256-OV6HhFBzmnQBO5btGEnqmKlaUMY7/t2Qm3XebclpBlM%3D' (2024-10-21)
  → 'https://github.com/nextcloud-releases/external/releases/download/v5.5.2/external-v5.5.2.tar.gz?narHash=sha256-OV6HhFBzmnQBO5btGEnqmKlaUMY7/t2Qm3XebclpBlM%3D' (2024-10-21)
• Updated input 'nextcloud-news':
    'https://github.com/nextcloud/news/releases/download/25.0.0-alpha12/news.tar.gz?narHash=sha256-pnvyMZQ%2BNYMgH0Unfh5S19HdZSjnghgoUDAoi2KIXNI%3D' (2024-10-23)
  → 'https://github.com/nextcloud/news/releases/download/25.0.0-alpha12/news.tar.gz?narHash=sha256-pnvyMZQ%2BNYMgH0Unfh5S19HdZSjnghgoUDAoi2KIXNI%3D' (2024-10-23)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-10-09)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-12-14)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/8cdaf8885c9c85d9d27b594dbe882406aadfe00e' (2024-12-05)
  → 'github:nix-community/nixos-generators/d162ffdf0a30f3d19e67df5091d6744ab8b9229f' (2024-12-12)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/0e4fdd4a0ab733276b6d2274ff84ae353f17129e' (2024-12-01)
  → 'github:nix-community/nixpkgs.lib/f4dc9a6c02e5e14d91d158522f69f6ab4194eb5b' (2024-12-08)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/d0797a04b81caeae77bcff10a9dde78bc17f5661' (2024-12-05)
  → 'github:nixos/nixpkgs/5d67ea6b4b63378b9c13be21e2ec9d1afc921713' (2024-12-11)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/bcb68885668cccec12276bbb379f8f2557aa06ce' (2024-12-03)
  → 'github:nixos/nixpkgs/64e9404f308e0f0a0d8cdd7c358f74e34802494b' (2024-12-12)
• Updated input 'nur':
    'github:nix-community/nur/b35bbebaf9637f6a10e7a368981fc9ff69d07374' (2024-12-07)
  → 'github:nix-community/nur/d6b5477eea757f5cae03c47da3fbe2f7be0b9f17' (2024-12-14)
• Updated input 'nur/nixpkgs':
    'github:nixos/nixpkgs/55d15ad12a74eb7d4646254e13638ad0c4128776' (2024-12-03)
  → 'github:nixos/nixpkgs/5d67ea6b4b63378b9c13be21e2ec9d1afc921713' (2024-12-11)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/ca7c4c33cac2ad66ec69d45e465379716ef0cc97' (2024-11-24)
  → 'github:kyazdani42/nvim-tree.lua/f7b76cd1a75615c8d6254fc58bedd2a7304eb7d8' (2024-12-13)
• Updated input 'snipe-nvim-src':
    'github:leath-dub/snipe.nvim/be443a02ca6fd1f331a0645d4a904a59ec302070' (2024-12-06)
  → 'github:leath-dub/snipe.nvim/7d6dc06b90bad922e568f39bdae3d111282c7429' (2024-12-10)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/32c7e2eb8f36792056328e6c239d6365de9f8c7d' (2024-12-06)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/35d46e3804c9211f2e9860e8eff5e7d0905b8254' (2024-12-11)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/dd20ebde771edbdececade73dbb8791ff987d0db' (2024-12-06)
  → 'github:nix-community/NixOS-WSL/dee4425dcee3149475ead0cb6a616b8a028c5888' (2024-12-10)
• Updated input 'wsl/flake-compat':
    'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33' (2023-10-04)
  → 'github:edolstra/flake-compat/ff81ac966bb2cae68946d5ed5fc4994f96d0ffec' (2024-12-04)
• Updated input 'wsl/flake-utils':
    'github:numtide/flake-utils/c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a' (2024-09-17)
  → 'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b' (2024-11-13)
2024-12-14 03:55:03 +00:00
da172aaa66 new monitor 2024-12-12 22:39:04 -05:00
11625adbe8 fix to aerc running with kitty instead of wezterm 2024-12-12 20:52:27 -05:00
b691895e05 add restic backups to s3 for immich 2024-12-12 15:11:35 +00:00
66ef1fa38d move filebrowser to shared group and fix path issue 2024-12-09 15:04:41 +00:00
30cc02c2a7 change from media group to shared group 2024-12-08 23:53:10 +00:00
0d3e42be3f fix: neovim nvim-cmp not found in new update 2024-12-08 11:43:47 -05:00
61ab3e1b3f add more fixes to flake update 2024-12-07 20:19:03 -05:00
bc604bc2ce update flake and fix issues with latest packages 2024-12-07 20:18:30 -05:00
39f80ea79a fix: issue with nix shell registry
fixes https://github.com/nmasur/dotfiles/issues/98
2024-12-06 20:49:34 -05:00
6ca944fe42 add local domain resolution for immich 2024-12-07 00:20:12 +00:00
28ffa10a59 add github copilot extension to gh cli 2024-12-05 17:02:46 -05:00
006554f545 switch rebuild-nixos to smarter abbreviation 2024-12-05 22:00:14 +00:00
1b04f9a883 add immich 2024-12-05 21:58:46 +00:00
00f23f4b9c create shared group for all server services to manage all files 2024-12-05 21:58:18 +00:00
9b948f45ee fix: fzf editing files with spaces in path name 2024-12-05 14:44:49 -05:00
1f0ee6b27f fix: volnoti stopped working 2024-12-03 23:31:59 -05:00
3348bd0b39 remove kitty from aerc 2024-12-03 22:50:26 -05:00
780ff152c8 fix: promscrape maxscrapesize no longer valid 2024-12-03 22:50:01 -05:00
d61ac18707 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/698a62c628c2ec423aa770d8ec0e1d0bcf4fca1a' (2024-11-23)
  → 'github:lnl7/nix-darwin/6ab87b7c84d4ee873e937108c4ff80c015a40c7a' (2024-11-26)
• Updated input 'disko':
    'github:nix-community/disko/abc8baff333ac9dca930fc4921a26a8fc248e442' (2024-11-22)
  → 'github:nix-community/disko/b71e3faca99b40fb801f03fd950fbefbbba691a4' (2024-11-29)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/667a63b43f16c94dec474a902c85ebcfa9f5aaac' (2024-11-23)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/7b091902ef4ad7d2fff4201b1b9471c1b4243f83' (2024-11-30)
• Updated input 'home-manager':
    'github:nix-community/home-manager/8cf9cb2ee78aa129e5b8220135a511a2be254c0c' (2024-11-22)
  → 'github:nix-community/home-manager/819f682269f4e002884702b87e445c82840c68f2' (2024-11-29)
• Updated input 'jujutsu':
    'github:martinvonz/jj/a5c96bcf701d3c1c3f568cae4a4f34913bd63d8b' (2024-11-23)
  → 'github:martinvonz/jj/0ca6f00421f6f893e974e0f5349e126abd41a812' (2024-11-30)
• Updated input 'jujutsu/flake-utils':
    'github:numtide/flake-utils/c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a' (2024-09-17)
  → 'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b' (2024-11-13)
• Updated input 'jujutsu/rust-overlay':
    'github:oxalica/rust-overlay/b259ef799b5ac014604da71ecd92d4a52603ed2d' (2024-10-19)
  → 'github:oxalica/rust-overlay/a229311fcb45b88a95fdfa5cecd8349c809a272a' (2024-11-22)
• Updated input 'mac-app-util':
    'github:hraban/mac-app-util/9ef4d1c14dab18a95691602bf541cd091fdcc2e3' (2024-11-12)
  → 'github:hraban/mac-app-util/548672d0cb661ce11d08ee8bde92b87d2a75c872' (2024-11-29)
• Updated input 'mac-app-util/cl-nix-lite':
    'github:hraban/cl-nix-lite/cc920bfb0a6402d3871f470c98d65266126973e4' (2024-06-09)
  → 'github:hraban/cl-nix-lite/31cfe6275c341eb3120a99f4b1c8516c49a29d87' (2024-10-06)
• Updated input 'mac-app-util/flake-compat':
    'github:hraban/flake-compat/6025bade1336a36014639bc3f67eacc853dab78f' (2023-10-20)
  → 'github:hraban/flake-compat/e5b16676185cb7548581c852f51ce7f3a49bba5e' (2024-11-03)
• Updated input 'mac-app-util/flake-utils':
    'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a' (2024-03-11)
  → 'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b' (2024-11-13)
• Updated input 'mac-app-util/flake-utils/systems':
    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e' (2023-04-09)
  → follows 'mac-app-util/systems'
• Added input 'mac-app-util/systems':
    'github:nix-systems/default-darwin/2235d7e6cc29ae99878133c95e9fe5e157661ffb' (2023-07-14)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-11-23)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-11-30)
• Updated input 'nix2vim':
    'github:gytis-ivaskevicius/nix2vim/b3900e6d79233573f318006505d9ad3fb7170b92' (2024-10-16)
  → 'github:gytis-ivaskevicius/nix2vim/e2c511ea553418dd432005875c649b09d56b7e58' (2024-11-28)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/3280fdde8c8f0276c9f5286ad5c0f433dfa5d56c' (2024-11-21)
  → 'github:nix-community/nixos-generators/098e8b6ff72c86944a8d54b64ddd7b7e6635830a' (2024-11-25)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/b9f04e3cf71c23bea21d2768051e6b3068d44734' (2024-11-17)
  → 'github:nix-community/nixpkgs.lib/87b6978992e2eb605732fba842cad0a7e14b2047' (2024-11-24)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/23e89b7da85c3640bbc2173fe04f4bd114342367' (2024-11-19)
  → 'github:nixos/nixpkgs/4633a7c72337ea8fd23a4f2ba3972865e3ec685d' (2024-11-25)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/e8c38b73aeb218e27163376a2d617e61a2ad9b59' (2024-11-16)
  → 'github:nixos/nixpkgs/0c5b4ecbed5b155b705336aa96d878e55acd8685' (2024-11-27)
• Updated input 'nur':
    'github:nix-community/nur/1bfee5e55992301948598f3bb5192e58dfb53cc2' (2024-11-23)
  → 'github:nix-community/nur/954f3b73ddae61755abe0e9bbc40ba6d68a6a22d' (2024-11-30)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/1f3ffd6af145af2a4930a61c50f763264922c3fe' (2024-11-21)
  → 'github:kyazdani42/nvim-tree.lua/ca7c4c33cac2ad66ec69d45e465379716ef0cc97' (2024-11-24)
• Updated input 'snipe-nvim-src':
    'github:leath-dub/snipe.nvim/19aa24b628bba5846032b977cdedc02219867213' (2024-11-20)
  → 'github:leath-dub/snipe.nvim/3d560dcac1cda409f5f6adf17b8003df3ab85eee' (2024-11-24)
• Updated input 'telescope-project-nvim-src':
    'github:nvim-telescope/telescope-project.nvim/7dea0d37dc59f68cbd74459f74869ff740517a60' (2024-11-19)
  → 'github:nvim-telescope/telescope-project.nvim/9fc8428e2ccae167c36ad7cff72798bbd8e35836' (2024-11-26)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/86050f39a62de48734f1a2876d70d179b75deb7c' (2024-11-08)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/cd8e56dd88709e05ecd0036ca2a821d265379bfa' (2024-11-29)
2024-11-30 03:53:18 +00:00
bee5631fab fix osc with new update 2024-11-23 10:52:42 -07:00
78d34d9177 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/f86f158efd4bab8dce3e207e4621f1df3a760b7a' (2024-11-15)
  → 'github:lnl7/nix-darwin/698a62c628c2ec423aa770d8ec0e1d0bcf4fca1a' (2024-11-23)
• Updated input 'disko':
    'github:nix-community/disko/5fd852c4155a689098095406500d0ae3d04654a8' (2024-11-14)
  → 'github:nix-community/disko/abc8baff333ac9dca930fc4921a26a8fc248e442' (2024-11-22)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/16b0320abb172e6636b4e8dce059023197c7f186' (2024-11-16)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/667a63b43f16c94dec474a902c85ebcfa9f5aaac' (2024-11-23)
• Updated input 'home-manager':
    'github:nix-community/home-manager/1d0862ee2d7c6f6cd720d6f32213fa425004be10' (2024-11-14)
  → 'github:nix-community/home-manager/8cf9cb2ee78aa129e5b8220135a511a2be254c0c' (2024-11-22)
• Updated input 'jujutsu':
    'github:martinvonz/jj/e8bbd89ec16b9c5f339bb31954eb57769a6e797f' (2024-11-16)
  → 'github:martinvonz/jj/a5c96bcf701d3c1c3f568cae4a4f34913bd63d8b' (2024-11-23)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-11-16)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-11-23)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/06ffce1a8d95e95c06a4bcfa117dd960b14a7101' (2024-11-14)
  → 'github:nix-community/nixos-generators/3280fdde8c8f0276c9f5286ad5c0f433dfa5d56c' (2024-11-21)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/e04234d263750db01c78a412690363dc2226e68a' (2024-11-10)
  → 'github:nix-community/nixpkgs.lib/b9f04e3cf71c23bea21d2768051e6b3068d44734' (2024-11-17)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/dc460ec76cbff0e66e269457d7b728432263166c' (2024-11-11)
  → 'github:nixos/nixpkgs/23e89b7da85c3640bbc2173fe04f4bd114342367' (2024-11-19)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/c21b77913ea840f8bcf9adf4c41cecc2abffd38d' (2024-11-15)
  → 'github:nixos/nixpkgs/e8c38b73aeb218e27163376a2d617e61a2ad9b59' (2024-11-16)
• Updated input 'nur':
    'github:nix-community/nur/be2664b26e2c661b5053239f9f4d8a9b458e5dca' (2024-11-16)
  → 'github:nix-community/nur/1bfee5e55992301948598f3bb5192e58dfb53cc2' (2024-11-23)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/36da8dd0ddc4f88e0beae234c20e75397326f143' (2024-10-31)
  → 'github:mfussenegger/nvim-lint/6b46370d02cd001509a765591a3ffc481b538794' (2024-11-22)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/28eac2801b201f301449e976d7a9e8cfde053ba3' (2024-11-10)
  → 'github:kyazdani42/nvim-tree.lua/1f3ffd6af145af2a4930a61c50f763264922c3fe' (2024-11-21)
• Updated input 'osc':
    'github:theimpostor/osc/8a313c60d67353669509e9461d22b403df72b5e7' (2024-11-11)
  → 'github:theimpostor/osc/d8bb64e15c3041148e2a6fc92749a5346c47818c' (2024-11-21)
• Updated input 'snipe-nvim-src':
    'github:leath-dub/snipe.nvim/e6787c30998b549e75b77b2432bcb7e7c595c30c' (2024-11-10)
  → 'github:leath-dub/snipe.nvim/19aa24b628bba5846032b977cdedc02219867213' (2024-11-20)
• Updated input 'telescope-project-nvim-src':
    'github:nvim-telescope/telescope-project.nvim/796200876bb0fe8157b8eb1ce03d927d3827a052' (2024-09-09)
  → 'github:nvim-telescope/telescope-project.nvim/7dea0d37dc59f68cbd74459f74869ff740517a60' (2024-11-19)
2024-11-23 03:51:25 +00:00
100eedc8cd wezterm: autoconnect to unix domain 2024-11-17 13:33:46 -07:00
ce298b9600 wezterm: refactor config and add session management 2024-11-17 13:16:58 -07:00
7128cd8d0d clean up jqr 2024-11-16 22:59:00 -07:00
7007577176 jqr for jq preview repl
based on: https://gist.github.com/reegnz/b9e40993d410b75c2d866441add2cb55
2024-11-16 22:25:39 -07:00
ca1c7cc23f add osc for copy paste over ssh 2024-11-16 23:47:26 +00:00
ae43d24f62 enable postgres for flame 2024-11-16 23:47:08 +00:00
c6de176b0b fix: jujutsu tests fail on new version 2024-11-16 23:46:43 +00:00
a36df414c1 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/2fbf4a8417c28cf45bae6e6e97248cbbd9b78632' (2024-11-08)
  → 'github:lnl7/nix-darwin/f86f158efd4bab8dce3e207e4621f1df3a760b7a' (2024-11-15)
• Updated input 'disko':
    'github:nix-community/disko/5e40e02978e3bd63c2a6a9fa6fa8ba0e310e747f' (2024-11-08)
  → 'github:nix-community/disko/5fd852c4155a689098095406500d0ae3d04654a8' (2024-11-14)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/22a53e2cae4d37fb24e9326c6f72a54cb4f269d5' (2024-11-09)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/16b0320abb172e6636b4e8dce059023197c7f186' (2024-11-16)
• Updated input 'home-manager':
    'github:nix-community/home-manager/2f607e07f3ac7e53541120536708e824acccfaa8' (2024-11-05)
  → 'github:nix-community/home-manager/1d0862ee2d7c6f6cd720d6f32213fa425004be10' (2024-11-14)
• Updated input 'mac-app-util':
    'github:hraban/mac-app-util/9c6bbe2a6a7ec647d03f64f0fadb874284f59eac' (2024-09-27)
  → 'github:hraban/mac-app-util/9ef4d1c14dab18a95691602bf541cd091fdcc2e3' (2024-11-12)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-11-09)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz?narHash=sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E%3D' (2024-11-16)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/7c60ba4bc8d6aa2ba3e5b0f6ceb9fc07bc261565' (2024-10-21)
  → 'github:nix-community/nixos-generators/06ffce1a8d95e95c06a4bcfa117dd960b14a7101' (2024-11-14)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/cce4521b6df014e79a7b7afc58c703ed683c916e' (2024-10-20)
  → 'github:nix-community/nixpkgs.lib/e04234d263750db01c78a412690363dc2226e68a' (2024-11-10)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/4aa36568d413aca0ea84a1684d2d46f55dbabad7' (2024-11-05)
  → 'github:nixos/nixpkgs/dc460ec76cbff0e66e269457d7b728432263166c' (2024-11-11)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/dba414932936fde69f0606b4f1d87c5bc0003ede' (2024-11-06)
  → 'github:nixos/nixpkgs/c21b77913ea840f8bcf9adf4c41cecc2abffd38d' (2024-11-15)
• Updated input 'nur':
    'github:nix-community/nur/b29499982ee565c8dab5ca5c7be8d2ebfc267d87' (2024-11-09)
  → 'github:nix-community/nur/be2664b26e2c661b5053239f9f4d8a9b458e5dca' (2024-11-16)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/3fc8de198c15ec4e5395f57b70579b3959976960' (2024-11-09)
  → 'github:kyazdani42/nvim-tree.lua/28eac2801b201f301449e976d7a9e8cfde053ba3' (2024-11-10)
• Updated input 'snipe-nvim-src':
    'github:leath-dub/snipe.nvim/64b3763c1b388ac5a3d5a2da615a3d0824af4a45' (2024-11-01)
  → 'github:leath-dub/snipe.nvim/e6787c30998b549e75b77b2432bcb7e7c595c30c' (2024-11-10)
• Updated input 'tree-sitter-bash':
    'github:tree-sitter/tree-sitter-bash/597a5ed6ed4d932fd44697feec988f977081ae59' (2024-10-15)
  → 'github:tree-sitter/tree-sitter-bash/49c31006d8307dcb12bc5770f35b6d5b9e2be68e' (2024-11-11)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/7f4b9c2d8039701b0579b7c060a918f8548aa7cd' (2024-10-15)
  → 'github:tree-sitter/tree-sitter-python/6d14e44ea217bc5bb1c1804180e9818d7d1b8d91' (2024-11-11)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/adb6bc4b661a43328752b4575be4968a4990c033' (2024-11-01)
  → 'github:nix-community/NixOS-WSL/a6b9cf0b7805e2c50829020a73e7bde683fd36dd' (2024-11-15)
2024-11-16 03:52:17 +00:00
1022a3998f fix: don't use ~ in activation script 2024-11-11 14:00:41 -07:00
67727954ec fix: nix repl '<nixpkgs>' no longer works 2024-11-11 10:59:59 -07:00
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
4c38ae86a9 fix ldap search command 2024-11-05 15:31:04 -05:00
4b3bc8a216 fix: 1password renamed to 1password-cli 2024-11-05 10:20:48 -05:00
e9a2ce6df3 fix: move audiobookshelf hostname to common 2024-11-05 10:20:21 -05:00
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
4b9eea276b upgrade to nextcloud 30 2024-10-26 18:36:28 +00:00
fc5ed5e892 fix: steam-unwrapped requires unfree exception 2024-10-26 14:22:19 -04:00
1d01ddbbbc flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/48b50b3b137be5cfb9f4d006835ce7c3fe558ccc' (2024-10-08)
  → 'github:lnl7/nix-darwin/7840909b00fbd5a183008a6eb251ea307fe4a76e' (2024-10-25)
• Updated input 'disko':
    'github:nix-community/disko/bdbdb725d632863bdedb80baabf21327614dd237' (2024-10-11)
  → 'github:nix-community/disko/09a776702b004fdf9c41a024e1299d575ee18a7d' (2024-10-23)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/8a3143c1ce147481db4463e71bc3b7002e6ebc56' (2024-10-12)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/adf52e031127c5c22abf16d9c2ffcd9c2ad27cc2' (2024-10-26)
• Updated input 'hmts-nvim-src':
    'github:calops/hmts.nvim/1ecb68b9f89abdb23d2754f9d69f90eab2d33eaa' (2024-09-26)
  → 'github:calops/hmts.nvim/c7ff4c3ad96cd05664b18fb5bbbe2abbd7682dd2' (2024-10-24)
• Updated input 'home-manager':
    'github:nix-community/home-manager/2b13611eaed8326789f76f70d21d06fbb14e3e47' (2024-10-11)
  → 'github:nix-community/home-manager/93435d27d250fa986bfec6b2ff263161ff8288cb' (2024-10-25)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-10-12)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-10-26)
• Updated input 'nix2vim':
    'github:gytis-ivaskevicius/nix2vim/da26caae6c7776eedbc6514a0f57f1ccd6a759ed' (2024-10-02)
  → 'github:gytis-ivaskevicius/nix2vim/b3900e6d79233573f318006505d9ad3fb7170b92' (2024-10-16)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/40c8d30c490414910fc63626ad1b67af7db40cd3' (2024-10-10)
  → 'github:nix-community/nixos-generators/7c60ba4bc8d6aa2ba3e5b0f6ceb9fc07bc261565' (2024-10-21)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/b61309c3c1b6013d36299bc8285612865b3b9e4c' (2024-10-06)
  → 'github:nix-community/nixpkgs.lib/cce4521b6df014e79a7b7afc58c703ed683c916e' (2024-10-20)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/5633bcff0c6162b9e4b5f1264264611e950c8ec7' (2024-10-09)
  → 'github:nixos/nixpkgs/2768c7d042a37de65bb1b5b3268fc987e534c49d' (2024-10-23)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/c505ebf777526041d792a49d5f6dd4095ea391a7' (2024-10-11)
  → 'github:nixos/nixpkgs/32e940c7c420600ef0d1ef396dc63b04ee9cad37' (2024-10-23)
• Updated input 'nur':
    'github:nix-community/nur/1d143f52b0a046924ee7fe74bce0bd2e10e07c3d' (2024-10-12)
  → 'github:nix-community/nur/bdb41713712fcd619a678cde0dba1ae89d15392e' (2024-10-26)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/f707b3ae50417067fa63fdfe179b0bff6b380da1' (2024-10-10)
  → 'github:mfussenegger/nvim-lint/16b21a7d04d06661f92f273a0744fd81fb19e09e' (2024-10-17)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/5ad87620ec9d1190d15c88171a3f0122bc16b0fe' (2024-10-11)
  → 'github:kyazdani42/nvim-tree.lua/8760d76c1d316aa46f141f3f2b80b853a2acc41e' (2024-10-25)
• Updated input 'snipe-nvim-src':
    'github:leath-dub/snipe.nvim/f1abd4aaaef6398b45dcddc9f1a40dd982f732b0' (2024-08-23)
  → 'github:leath-dub/snipe.nvim/4e162869cf0a777180c38afdf18f6364dadf877c' (2024-10-20)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/1a83e7ce5c9d0ae4d89fc5c812b55ff8ed1d39e7' (2024-09-17)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/ccb67504f93b20f36775d3aad620f9dc9ed98bd9' (2024-10-19)
• Updated input 'tree-sitter-bash':
    'github:tree-sitter/tree-sitter-bash/c8713e50f0bd77d080832fc61ad128bc8f2934e9' (2024-09-03)
  → 'github:tree-sitter/tree-sitter-bash/597a5ed6ed4d932fd44697feec988f977081ae59' (2024-10-15)
• Updated input 'tree-sitter-lua':
    'github:MunifTanjim/tree-sitter-lua/99fc677e6971c425e8d407f59c77ab897e585c92' (2024-09-09)
  → 'github:MunifTanjim/tree-sitter-lua/34e60e7f45fc313463c68090d88d742a55d1bd7a' (2024-10-21)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/8c65e256f971812276ff2a69a2f515c218ed7f82' (2024-09-03)
  → 'github:tree-sitter/tree-sitter-python/7f4b9c2d8039701b0579b7c060a918f8548aa7cd' (2024-10-15)
• Updated input 'tree-sitter-vimdoc':
    'github:neovim/tree-sitter-vimdoc/2249c44ecd3f5cf22da3dcccfb74f816ddb29245' (2024-06-08)
  → 'github:neovim/tree-sitter-vimdoc/d2e4b5c172a109966c2ce0378f73df6cede39400' (2024-10-23)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/0fc8d9bb51cc46b31d950513df6d088905c8fe55' (2024-10-10)
  → 'github:nix-community/NixOS-WSL/5a965cb108fb1f30b29a26dbc29b473f49e80b41' (2024-10-23)
2024-10-26 03:47:10 +00:00
8cba026f10 temp: not sure if this is even required 2024-10-25 08:53:04 -04:00
a6e4b3130d fix: tabs should be spaces 2024-10-19 09:01:26 -04:00
33868c1add fix: only setup desktop entry for gui 2024-10-19 08:45:26 -04:00
d806bd7f56 use dynamic terminal for neovim based on rofi in linux 2024-10-12 11:57:38 -04:00
120b97f970 audiobookshelf 2024-10-12 15:18:58 +00:00
5f71437e57 fix: samba setting renamed 2024-10-12 15:18:15 +00:00
e8e65ba4d1 fix: zfs deprecated latest compatible linux 2024-10-12 15:17:51 +00:00
c594a0b161 use flake input for gh-collaborators 2024-10-12 10:52:04 -04:00
57c3719600 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/8c8388ade72e58efdeae71b4cbb79e872c23a56b' (2024-10-03)
  → 'github:lnl7/nix-darwin/48b50b3b137be5cfb9f4d006835ce7c3fe558ccc' (2024-10-08)
• Updated input 'disko':
    'github:nix-community/disko/48ebb577855fb2398653f033b3b2208a9249203d' (2024-10-05)
  → 'github:nix-community/disko/bdbdb725d632863bdedb80baabf21327614dd237' (2024-10-11)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/1cab93c0c087555cb21dd9ceb383b0d15deade32' (2024-10-06)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/8a3143c1ce147481db4463e71bc3b7002e6ebc56' (2024-10-12)
• Updated input 'home-manager':
    'github:nix-community/home-manager/509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e' (2024-10-04)
  → 'github:nix-community/home-manager/2b13611eaed8326789f76f70d21d06fbb14e3e47' (2024-10-11)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-10-06)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-10-12)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/9ae128172f823956e54947fe471bc6dfa670ecb4' (2024-10-03)
  → 'github:nix-community/nixos-generators/40c8d30c490414910fc63626ad1b67af7db40cd3' (2024-10-10)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/bb58a3bf239e03fca9d51062e2fe028a4ea5a3d1' (2024-09-29)
  → 'github:nix-community/nixpkgs.lib/b61309c3c1b6013d36299bc8285612865b3b9e4c' (2024-10-06)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/bc947f541ae55e999ffdb4013441347d83b00feb' (2024-10-04)
  → 'github:nixos/nixpkgs/5633bcff0c6162b9e4b5f1264264611e950c8ec7' (2024-10-09)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/6e6b3dd395c3b1eb9be9f2d096383a8d05add030' (2024-10-04)
  → 'github:nixos/nixpkgs/c505ebf777526041d792a49d5f6dd4095ea391a7' (2024-10-11)
• Updated input 'nur':
    'github:nix-community/nur/1841d27c08fb58b1bb3e7944711938e719dd532e' (2024-10-06)
  → 'github:nix-community/nur/1d143f52b0a046924ee7fe74bce0bd2e10e07c3d' (2024-10-12)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/27f44d1cc3d733a38a736acb902f94879d99c76c' (2024-10-03)
  → 'github:mfussenegger/nvim-lint/f707b3ae50417067fa63fdfe179b0bff6b380da1' (2024-10-10)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/c9104a5d079db5a158c9562c54689df27d52dccc' (2024-09-30)
  → 'github:kyazdani42/nvim-tree.lua/5ad87620ec9d1190d15c88171a3f0122bc16b0fe' (2024-10-11)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/31a18ceaeac81e75d10b05ab0dfb4fcc79d4ed1a' (2024-10-05)
  → 'github:nix-community/NixOS-WSL/0fc8d9bb51cc46b31d950513df6d088905c8fe55' (2024-10-10)
2024-10-12 03:46:46 +00:00
98c9c85e95 change update to saturday 2024-10-07 21:00:45 -04:00
3ef36c4873 remove magic prefix from ldap script 2024-10-07 19:23:35 -04:00
1d1d5014a0 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/c03f85fa42d68d1056ca1740f3113b04f3addff2' (2024-09-19)
  → 'github:lnl7/nix-darwin/8c8388ade72e58efdeae71b4cbb79e872c23a56b' (2024-10-03)
• Updated input 'disko':
    'github:nix-community/disko/51994df8ba24d5db5459ccf17b6494643301ad28' (2024-09-20)
  → 'github:nix-community/disko/48ebb577855fb2398653f033b3b2208a9249203d' (2024-10-05)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/947d22726be0ef737ebbe6ffa6f7ff9908576011' (2024-09-22)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/1cab93c0c087555cb21dd9ceb383b0d15deade32' (2024-10-06)
• Updated input 'hmts-nvim-src':
    'github:calops/hmts.nvim/19a91816c123173a4551a6a04f2882338f20db1d' (2024-05-07)
  → 'github:calops/hmts.nvim/1ecb68b9f89abdb23d2754f9d69f90eab2d33eaa' (2024-09-26)
• Updated input 'home-manager':
    'github:nix-community/home-manager/14929f7089268481d86b83ed31ffd88713dcd415' (2024-09-21)
  → 'github:nix-community/home-manager/509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e' (2024-10-04)
• Updated input 'mac-app-util':
    'github:hraban/mac-app-util/63f269f737cafb2219ba38780c1ecb1dc24bc4a2' (2024-07-02)
  → 'github:hraban/mac-app-util/9c6bbe2a6a7ec647d03f64f0fadb874284f59eac' (2024-09-27)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-22)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-10-06)
• Updated input 'nix2vim':
    'github:gytis-ivaskevicius/nix2vim/1db11dbf8a4d124e02244fa5c4ff219b672a8e5b' (2024-06-17)
  → 'github:gytis-ivaskevicius/nix2vim/da26caae6c7776eedbc6514a0f57f1ccd6a759ed' (2024-10-02)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/bfa25c9065f4cb5d884a0ad70f6e82f55ae90448' (2024-09-20)
  → 'github:nix-community/nixos-generators/9ae128172f823956e54947fe471bc6dfa670ecb4' (2024-10-03)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/9db4db09d82e4b2207bfa7f1e747a4f49d214555' (2024-09-15)
  → 'github:nix-community/nixpkgs.lib/bb58a3bf239e03fca9d51062e2fe028a4ea5a3d1' (2024-09-29)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/c04d5652cfa9742b1d519688f65d1bbccea9eb7e' (2024-09-19)
  → 'github:nixos/nixpkgs/bc947f541ae55e999ffdb4013441347d83b00feb' (2024-10-04)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/944b2aea7f0a2d7c79f72468106bc5510cbf5101' (2024-09-20)
  → 'github:nixos/nixpkgs/6e6b3dd395c3b1eb9be9f2d096383a8d05add030' (2024-10-04)
• Updated input 'nur':
    'github:nix-community/nur/9552e6f691915e173c3dac2e7d96bd2d9d2c2416' (2024-09-22)
  → 'github:nix-community/nur/1841d27c08fb58b1bb3e7944711938e719dd532e' (2024-10-06)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/c823e2d0621b5c15aa6b46be4d69b1379bcb8fa6' (2024-09-20)
  → 'github:mfussenegger/nvim-lint/27f44d1cc3d733a38a736acb902f94879d99c76c' (2024-10-03)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/e7cdecc6363acef8232f2f099fe21096ffdc071f' (2024-09-21)
  → 'github:kyazdani42/nvim-tree.lua/c9104a5d079db5a158c9562c54689df27d52dccc' (2024-09-30)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/cc84991d069d1948bb7c2c24a9874c0a835621e6' (2024-09-20)
  → 'github:nix-community/NixOS-WSL/31a18ceaeac81e75d10b05ab0dfb4fcc79d4ed1a' (2024-10-05)
• Updated input 'wsl/flake-utils':
    'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a' (2024-03-11)
  → 'github:numtide/flake-utils/c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a' (2024-09-17)
2024-10-06 03:51:27 +00:00
1f64ed0bb8 fix: dwarf fortress phoebus-theme now unfree
e40e703411
2024-09-30 20:30:29 -04:00
2bfb8ea8b5 disable tab previews in firefox 2024-09-27 14:28:44 -04:00
e91d6665fb add git abbreviation for deleting branches 2024-09-27 14:28:13 -04:00
7e3ab279af update neovim plugins 2024-09-25 16:59:40 -04:00
cdb9da9c50 add gdd to delete git local and remote branch 2024-09-25 16:58:42 -04:00
46bbd2c967 add darwin stateversion (required by nix-darwin) 2024-09-25 16:58:03 -04:00
51bee71faf move hostname to common because services aren't in darwin 2024-09-25 16:57:44 -04:00
a7adc18463 add = to convert program to full path 2024-09-25 16:43:48 -04:00
25a959f404 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/21fe31f26473c180390cfa81e3ea81aca0204c80' (2024-09-13)
  → 'github:lnl7/nix-darwin/c03f85fa42d68d1056ca1740f3113b04f3addff2' (2024-09-19)
• Updated input 'disko':
    'github:nix-community/disko/3632080c41d7a657995807689a08ef6c4bcb2c72' (2024-09-14)
  → 'github:nix-community/disko/51994df8ba24d5db5459ccf17b6494643301ad28' (2024-09-20)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/449fef46920108ca18c6031a2c96611b67dc4941' (2024-09-15)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/947d22726be0ef737ebbe6ffa6f7ff9908576011' (2024-09-22)
• Updated input 'home-manager':
    'github:nix-community/home-manager/e524c57b1fa55d6ca9d8354c6ce1e538d2a1f47f' (2024-09-14)
  → 'github:nix-community/home-manager/14929f7089268481d86b83ed31ffd88713dcd415' (2024-09-21)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-15)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-22)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/5ae384b83b91080f0fead6bc1add1cff8277cb3f' (2024-09-12)
  → 'github:nix-community/nixos-generators/bfa25c9065f4cb5d884a0ad70f6e82f55ae90448' (2024-09-20)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/68584f89dd0eb16fea5d80ae127f3f681f6a5df7' (2024-09-08)
  → 'github:nix-community/nixpkgs.lib/9db4db09d82e4b2207bfa7f1e747a4f49d214555' (2024-09-15)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/4f807e8940284ad7925ebd0a0993d2a1791acb2f' (2024-09-11)
  → 'github:nixos/nixpkgs/c04d5652cfa9742b1d519688f65d1bbccea9eb7e' (2024-09-19)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/e65aa8301ba4f0ab8cb98f944c14aa9da07394f8' (2024-09-11)
  → 'github:nixos/nixpkgs/944b2aea7f0a2d7c79f72468106bc5510cbf5101' (2024-09-20)
• Updated input 'nur':
    'github:nix-community/nur/91d349ff0b378cfc65aef0d0c38a1a08f24efe2d' (2024-09-15)
  → 'github:nix-community/nur/9552e6f691915e173c3dac2e7d96bd2d9d2c2416' (2024-09-22)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/99cab0b885aaa2f59736c047d23e9a7835d4f9a9' (2024-09-14)
  → 'github:mfussenegger/nvim-lint/c823e2d0621b5c15aa6b46be4d69b1379bcb8fa6' (2024-09-20)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/45a93d99794fff3064141d5b3a50db98ce352697' (2024-09-15)
  → 'github:kyazdani42/nvim-tree.lua/e7cdecc6363acef8232f2f099fe21096ffdc071f' (2024-09-21)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/399062d072355be7cd3441a7931cb05378a6c6a2' (2024-09-14)
  → 'github:nvim-treesitter/nvim-treesitter/929ca9c76ee20bb27cffbde4ee90583b6c54d616' (2024-09-21)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/b2adb63ffd952c72eadd036a262e6e6c60de19f3' (2024-09-13)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/1a83e7ce5c9d0ae4d89fc5c812b55ff8ed1d39e7' (2024-09-17)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/34b95b3962f5b3436d4bae5091d1b2ff7c1eb180' (2024-09-09)
  → 'github:nix-community/NixOS-WSL/cc84991d069d1948bb7c2c24a9874c0a835621e6' (2024-09-20)
2024-09-22 03:49:30 +00:00
9f31d775c7 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/76559183801030451e200c90a1627c1d82bb4910' (2024-09-06)
  → 'github:lnl7/nix-darwin/21fe31f26473c180390cfa81e3ea81aca0204c80' (2024-09-13)
• Updated input 'disko':
    'github:nix-community/disko/e55f9a8678adc02024a4877c2a403e3f6daf24fe' (2024-09-03)
  → 'github:nix-community/disko/3632080c41d7a657995807689a08ef6c4bcb2c72' (2024-09-14)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/1770fbd40babfb807f258b70b7992eaf6d09a712' (2024-09-09)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/449fef46920108ca18c6031a2c96611b67dc4941' (2024-09-15)
• Updated input 'home-manager':
    'github:nix-community/home-manager/aaebdea769a5c10f1c6e50ebdf5924c1a13f0cda' (2024-09-07)
  → 'github:nix-community/home-manager/e524c57b1fa55d6ca9d8354c6ce1e538d2a1f47f' (2024-09-14)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-08)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-15)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/15a07ebf4a041bf232026263f1f96f2af390f3bc' (2024-09-05)
  → 'github:nix-community/nixos-generators/5ae384b83b91080f0fead6bc1add1cff8277cb3f' (2024-09-12)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/7f0b9e4fbd91826cb9ce6babbc11c87903191051' (2024-09-01)
  → 'github:nix-community/nixpkgs.lib/68584f89dd0eb16fea5d80ae127f3f681f6a5df7' (2024-09-08)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/574d1eac1c200690e27b8eb4e24887f8df7ac27c' (2024-09-06)
  → 'github:nixos/nixpkgs/4f807e8940284ad7925ebd0a0993d2a1791acb2f' (2024-09-11)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/6f6c45b5134a8ee2e465164811e451dcb5ad86e3' (2024-09-03)
  → 'github:nixos/nixpkgs/e65aa8301ba4f0ab8cb98f944c14aa9da07394f8' (2024-09-11)
• Updated input 'nur':
    'github:nix-community/nur/98eaa05e5fe457f8606c82d3aded375f4ada2a00' (2024-09-08)
  → 'github:nix-community/nur/91d349ff0b378cfc65aef0d0c38a1a08f24efe2d' (2024-09-15)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/a7ce9c78a7c710c28bee56dfab10a5c0c80b7fb5' (2024-09-03)
  → 'github:mfussenegger/nvim-lint/99cab0b885aaa2f59736c047d23e9a7835d4f9a9' (2024-09-14)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/ea55ef12036897fdc4476b115a395d2a34965c82' (2024-09-01)
  → 'github:kyazdani42/nvim-tree.lua/45a93d99794fff3064141d5b3a50db98ce352697' (2024-09-15)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/58030e6d6f1d6609b43dcb765d54539dcc6a1a76' (2024-09-07)
  → 'github:nvim-treesitter/nvim-treesitter/399062d072355be7cd3441a7931cb05378a6c6a2' (2024-09-14)
• Updated input 'telescope-project-nvim-src':
    'github:nvim-telescope/telescope-project.nvim/1aaf16580a614601a7f7077d9639aeb457dc5559' (2023-12-01)
  → 'github:nvim-telescope/telescope-project.nvim/796200876bb0fe8157b8eb1ce03d927d3827a052' (2024-09-09)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/c0543b2980251a7a2024e936ef724dcdfb07bb87' (2024-09-05)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/b2adb63ffd952c72eadd036a262e6e6c60de19f3' (2024-09-13)
• Updated input 'tree-sitter-lua':
    'github:MunifTanjim/tree-sitter-lua/a24dab177e58c9c6832f96b9a73102a0cfbced4a' (2024-03-11)
  → 'github:MunifTanjim/tree-sitter-lua/99fc677e6971c425e8d407f59c77ab897e585c92' (2024-09-09)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/8a89995f745b1a9029d654c391a0f62ca03f7fe7' (2024-09-03)
  → 'github:nix-community/NixOS-WSL/34b95b3962f5b3436d4bae5091d1b2ff7c1eb180' (2024-09-09)
2024-09-15 03:49:10 +00:00
5306070bc5 add uptime-kuma status page 2024-09-14 22:13:13 +00:00
b729eff679 temp: allow litestream though insecure 2024-09-14 21:57:35 +00:00
4883532c65 vim-abolish to replace with caps in neovim 2024-09-09 17:10:39 -04:00
982d3ce2d8 fix 1password-gui on macos (not available) 2024-09-09 17:09:11 -04:00
64311e6e1c remove stu and markview from overlays 2024-09-09 17:08:39 -04:00
83c9393837 fix: wexterm renders blocks of color instead of text
https://github.com/wez/wezterm/issues/5990
2024-09-09 16:41:10 -04:00
e72d4eb548 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/ea319a737939094b48fda9063fa3201ef2479aac' (2024-08-24)
  → 'github:lnl7/nix-darwin/76559183801030451e200c90a1627c1d82bb4910' (2024-09-06)
• Updated input 'disko':
    'github:nix-community/disko/435737144be0259559ca3b43f7d72252b1fdcc1b' (2024-08-22)
  → 'github:nix-community/disko/e55f9a8678adc02024a4877c2a403e3f6daf24fe' (2024-09-03)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/75c57b274d5c01b1625e52b42de9f6cc8f250348' (2024-08-25)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/863c7532c468f208ce8cb651e44f63408d548c3f' (2024-09-08)
• Updated input 'home-manager':
    'github:nix-community/home-manager/c2cd2a52e02f1dfa1c88f95abeb89298d46023be' (2024-08-23)
  → 'github:nix-community/home-manager/aaebdea769a5c10f1c6e50ebdf5924c1a13f0cda' (2024-09-07)
• Updated input 'markview-nvim-src':
    'github:OXY2DEV/markview.nvim/1e79753588bf4fc4554ab4a25d45b8dbfd10f69d' (2024-08-24)
  → 'github:OXY2DEV/markview.nvim/e4b4b9d03b90350236ce88f5be723aa5a8610931' (2024-09-05)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-08-25)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-08)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/0552f784af9f211481c5dda6df9b918733492826' (2024-08-22)
  → 'github:nix-community/nixos-generators/15a07ebf4a041bf232026263f1f96f2af390f3bc' (2024-09-05)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/531a2e8416a6d8200a53eddfbdb8f2c8dc4a1251' (2024-08-18)
  → 'github:nix-community/nixpkgs.lib/7f0b9e4fbd91826cb9ce6babbc11c87903191051' (2024-09-01)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/c374d94f1536013ca8e92341b540eba4c22f9c62' (2024-08-21)
  → 'github:nixos/nixpkgs/574d1eac1c200690e27b8eb4e24887f8df7ac27c' (2024-09-06)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/797f7dc49e0bc7fab4b57c021cdf68f595e47841' (2024-08-22)
  → 'github:nixos/nixpkgs/6f6c45b5134a8ee2e465164811e451dcb5ad86e3' (2024-09-03)
• Updated input 'nur':
    'github:nix-community/nur/7b9ec8855b97a2b9e5a8408c1bec00d5944799c0' (2024-08-25)
  → 'github:nix-community/nur/98eaa05e5fe457f8606c82d3aded375f4ada2a00' (2024-09-08)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/debabca63c0905b59ce596a55a8e33eafdf66342' (2024-08-16)
  → 'github:mfussenegger/nvim-lint/a7ce9c78a7c710c28bee56dfab10a5c0c80b7fb5' (2024-09-03)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/d43ab67d0eb4317961c5e9d15fffe908519debe0' (2024-08-25)
  → 'github:kyazdani42/nvim-tree.lua/ea55ef12036897fdc4476b115a395d2a34965c82' (2024-09-01)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/e085c614fcd716eedb8e2e55bae2ccad4becd40d' (2024-08-24)
  → 'github:nvim-treesitter/nvim-treesitter/58030e6d6f1d6609b43dcb765d54539dcc6a1a76' (2024-09-07)
• Updated input 'stu':
    'github:lusingander/stu/aefd555fb3e128d40f8bd80d37aa5c6e5d8bc011' (2024-07-22)
  → 'github:lusingander/stu/6899c43edc34aeea99b632ae18c793f040160a99' (2024-09-07)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/c0b058439d3a592c04967e475fc83cf41d6aad0e' (2024-08-23)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/c0543b2980251a7a2024e936ef724dcdfb07bb87' (2024-09-05)
• Updated input 'tree-sitter-bash':
    'github:tree-sitter/tree-sitter-bash/2fbd860f802802ca76a6661ce025b3a3bca2d3ed' (2024-05-06)
  → 'github:tree-sitter/tree-sitter-bash/c8713e50f0bd77d080832fc61ad128bc8f2934e9' (2024-09-03)
• Updated input 'tree-sitter-ini':
    'github:justinmk/tree-sitter-ini/87176e524f0a98f5be75fa44f4f0ff5c6eac069c' (2024-05-28)
  → 'github:justinmk/tree-sitter-ini/962568c9efa71d25720ab42c5d36e222626ef3a6' (2024-09-01)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/55a9b8a4fbfbaf0d10cdd47dd4a9d02606c4c218' (2024-08-18)
  → 'github:tree-sitter/tree-sitter-python/8c65e256f971812276ff2a69a2f515c218ed7f82' (2024-09-03)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/0bec2bfb8a2d4dd16e5b012982ca95e57d50e6a2' (2024-08-19)
  → 'github:nix-community/NixOS-WSL/8a89995f745b1a9029d654c391a0f62ca03f7fe7' (2024-09-03)
2024-09-08 03:46:41 +00:00
b51df2f3a3 Revert "flake.lock: Update"
This reverts commit 48b1d41aff.
2024-09-06 21:03:43 +00:00
f47f397e1f fix: n8n urls for auth redirects 2024-09-06 20:10:03 +00:00
48b1d41aff flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/ea319a737939094b48fda9063fa3201ef2479aac' (2024-08-24)
  → 'github:lnl7/nix-darwin/c8d3157d1f768e382de5526bb38e74d2245cad04' (2024-08-30)
• Updated input 'disko':
    'github:nix-community/disko/435737144be0259559ca3b43f7d72252b1fdcc1b' (2024-08-22)
  → 'github:nix-community/disko/511388d837178979de66d14ca4a2ebd5f7991cd3' (2024-08-29)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/75c57b274d5c01b1625e52b42de9f6cc8f250348' (2024-08-25)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/d6fb0bcaf97c356862baf1c90724314f36eebb72' (2024-09-01)
• Updated input 'markview-nvim-src':
    'github:OXY2DEV/markview.nvim/1e79753588bf4fc4554ab4a25d45b8dbfd10f69d' (2024-08-24)
  → 'github:OXY2DEV/markview.nvim/ea71a5bc6e0a0b28af62e2f21d264ddcc466bd51' (2024-08-31)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-08-25)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-01)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/0552f784af9f211481c5dda6df9b918733492826' (2024-08-22)
  → 'github:nix-community/nixos-generators/0dd0205bc3f6d602ddb62aaece5f62a8715a9e85' (2024-08-29)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/531a2e8416a6d8200a53eddfbdb8f2c8dc4a1251' (2024-08-18)
  → 'github:nix-community/nixpkgs.lib/b741d900fecd2f0c32d90f853b24be9f5f098b7d' (2024-08-25)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/c374d94f1536013ca8e92341b540eba4c22f9c62' (2024-08-21)
  → 'github:nixos/nixpkgs/71e91c409d1e654808b2621f28a327acfdad8dc2' (2024-08-28)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/797f7dc49e0bc7fab4b57c021cdf68f595e47841' (2024-08-22)
  → 'github:nixos/nixpkgs/6e99f2a27d600612004fbd2c3282d614bfee6421' (2024-08-30)
• Updated input 'nur':
    'github:nix-community/nur/7b9ec8855b97a2b9e5a8408c1bec00d5944799c0' (2024-08-25)
  → 'github:nix-community/nur/45a53f457546d3c0bf3c4f4673cb53bb78279a07' (2024-09-01)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/e085c614fcd716eedb8e2e55bae2ccad4becd40d' (2024-08-24)
  → 'github:nvim-treesitter/nvim-treesitter/749df308870381979dc098063973f6ace9968ef6' (2024-08-31)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/c0b058439d3a592c04967e475fc83cf41d6aad0e' (2024-08-23)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/8387094305d51c55100528c6a45254c011f8ba13' (2024-08-30)
• Updated input 'tree-sitter-ini':
    'github:justinmk/tree-sitter-ini/87176e524f0a98f5be75fa44f4f0ff5c6eac069c' (2024-05-28)
  → 'github:justinmk/tree-sitter-ini/fc37e95b8d9651c60d81cccbcbbc55867dbb0afd' (2024-08-29)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/55a9b8a4fbfbaf0d10cdd47dd4a9d02606c4c218' (2024-08-18)
  → 'github:tree-sitter/tree-sitter-python/346fa42dc2990d2a2736cc60891369d0d3d8e65c' (2024-08-26)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/0bec2bfb8a2d4dd16e5b012982ca95e57d50e6a2' (2024-08-19)
  → 'github:nix-community/NixOS-WSL/345dfa06658a37873ca18aa205f409e4aaf1caa6' (2024-08-26)
2024-09-01 03:49:32 +00:00
25c4e79ccc add filebrowser app as nextcloud alternative 2024-08-25 21:56:28 +00:00
3b86a666fd add ntfy push notifications 2024-08-25 21:04:16 +00:00
264ad53f67 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/91010a5613ffd7ee23ee9263213157a1c422b705' (2024-08-06)
  → 'github:lnl7/nix-darwin/ea319a737939094b48fda9063fa3201ef2479aac' (2024-08-24)
• Updated input 'disko':
    'github:nix-community/disko/ffc1f95f6c28e1c6d1e587b51a2147027a3e45ed' (2024-08-08)
  → 'github:nix-community/disko/435737144be0259559ca3b43f7d72252b1fdcc1b' (2024-08-22)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/6ffec5acd449b5f2ab4b22c271ad1670a790a1e1' (2024-08-11)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/75c57b274d5c01b1625e52b42de9f6cc8f250348' (2024-08-25)
• Updated input 'home-manager':
    'github:nix-community/home-manager/b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e' (2024-08-07)
  → 'github:nix-community/home-manager/c2cd2a52e02f1dfa1c88f95abeb89298d46023be' (2024-08-23)
• Updated input 'markview-nvim-src':
    'github:OXY2DEV/markview.nvim/c9fa1065098663c3bfe7e07656937c3d2f3dabea' (2024-08-11)
  → 'github:OXY2DEV/markview.nvim/1e79753588bf4fc4554ab4a25d45b8dbfd10f69d' (2024-08-24)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-08-18)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-08-25)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/d6c5d29f58acc10ea82afff1de2b28f038f572bd' (2024-08-08)
  → 'github:nix-community/nixos-generators/0552f784af9f211481c5dda6df9b918733492826' (2024-08-22)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/8bebd4c74f368aacb047f0141db09ec6b339733c' (2024-08-04)
  → 'github:nix-community/nixpkgs.lib/531a2e8416a6d8200a53eddfbdb8f2c8dc4a1251' (2024-08-18)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/5e0ca22929f3342b19569b21b2f3462f053e497b' (2024-08-09)
  → 'github:nixos/nixpkgs/c374d94f1536013ca8e92341b540eba4c22f9c62' (2024-08-21)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/c3d4ac725177c030b1e289015989da2ad9d56af0' (2024-08-15)
  → 'github:nixos/nixpkgs/797f7dc49e0bc7fab4b57c021cdf68f595e47841' (2024-08-22)
• Updated input 'nur':
    'github:nix-community/nur/638e850bd503b43214c8e39a838c625f011d9b10' (2024-08-11)
  → 'github:nix-community/nur/7b9ec8855b97a2b9e5a8408c1bec00d5944799c0' (2024-08-25)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/ad0fe35e80f5cd31a0f19176d7b30e5c3011119d' (2024-08-10)
  → 'github:mfussenegger/nvim-lint/debabca63c0905b59ce596a55a8e33eafdf66342' (2024-08-16)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/ad0b95dee55955817af635fa121f6e2486b10583' (2024-08-10)
  → 'github:kyazdani42/nvim-tree.lua/d43ab67d0eb4317961c5e9d15fffe908519debe0' (2024-08-25)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/8a966f32c973511f9697264b3533e9846d29fd09' (2024-08-10)
  → 'github:nvim-treesitter/nvim-treesitter/e085c614fcd716eedb8e2e55bae2ccad4becd40d' (2024-08-24)
• Updated input 'snipe-nvim-src':
    'github:leath-dub/snipe.nvim/854a47c970413405361487c13e2b1e9aa9a3696e' (2024-08-04)
  → 'github:leath-dub/snipe.nvim/f1abd4aaaef6398b45dcddc9f1a40dd982f732b0' (2024-08-23)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/7b212b214aed37d8ae1a26ac6ca9593223a23ddb' (2024-08-10)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/c0b058439d3a592c04967e475fc83cf41d6aad0e' (2024-08-23)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/0dee05ef958ba2eae88d1e65f24b33cad70d4367' (2024-07-14)
  → 'github:tree-sitter/tree-sitter-python/55a9b8a4fbfbaf0d10cdd47dd4a9d02606c4c218' (2024-08-18)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/be1a6b2e4ddc34b9b6a297e7df2f2a2ecee24690' (2024-08-08)
  → 'github:nix-community/NixOS-WSL/0bec2bfb8a2d4dd16e5b012982ca95e57d50e6a2' (2024-08-19)
2024-08-25 03:46:15 +00:00
1cb5d3138c more caddy log tweaks 2024-08-21 01:23:08 +00:00
9c4438bed2 enable n8n on flame 2024-08-19 20:32:57 +00:00
642d3c183f try changing grafana zfs from increase to delta 2024-08-19 00:04:43 +00:00
5798406977 add denylist to top of caddy routes 2024-08-19 00:04:33 +00:00
81cb603bb7 fix: vmagent scrape size exceeded 2024-08-18 19:36:29 -04:00
1e7c69b3ea add missing paperless service in grafana 2024-08-18 19:35:44 -04:00
45deba10af add shortcut for systemctl cat 2024-08-18 19:35:30 -04:00
d1721efc6c fix: vmagent 102 doesn't work, resort to nixpkgs-stable 2024-08-18 22:23:13 +00:00
96caba63c4 fix: nextcloud apps must be unpacked
compressed sources are no longer unpacked by default
2024-08-18 22:09:56 +00:00
01cd6151c1 calibre-web patch no longer needed for session 2024-08-18 22:09:28 +00:00
e6644ab7b9 add unused calendar application placeholder 2024-08-18 16:42:39 -04:00
e43f6cf000 use alt-t for new wezterm tab on linux 2024-08-18 16:41:31 -04:00
a9cdf6ac38 remove keyboard section from polybar
no longer needed after switching from keyd to kanata
2024-08-18 16:37:33 -04:00
9fb7f68b07 split caddy logging by host and error
also add debug, admin, and other log
2024-08-18 15:42:30 +00:00
845fc000b6 Revert "flake.lock: Update"
This reverts commit 0b0556f057.
2024-08-18 15:15:05 +00:00
0b0556f057 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/91010a5613ffd7ee23ee9263213157a1c422b705' (2024-08-06)
  → 'github:lnl7/nix-darwin/076b9a905af8a52b866c8db068d6da475839d97b' (2024-08-17)
• Updated input 'disko':
    'github:nix-community/disko/ffc1f95f6c28e1c6d1e587b51a2147027a3e45ed' (2024-08-08)
  → 'github:nix-community/disko/276a0d055a720691912c6a34abb724e395c8e38a' (2024-08-15)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/6ffec5acd449b5f2ab4b22c271ad1670a790a1e1' (2024-08-11)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/4a17fec79e6c600f3c2e57984197cb7834a616b0' (2024-08-18)
• Updated input 'home-manager':
    'github:nix-community/home-manager/b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e' (2024-08-07)
  → 'github:nix-community/home-manager/086f619dd991a4d355c07837448244029fc2d9ab' (2024-08-11)
• Updated input 'markview-nvim-src':
    'github:OXY2DEV/markview.nvim/c9fa1065098663c3bfe7e07656937c3d2f3dabea' (2024-08-11)
  → 'github:OXY2DEV/markview.nvim/738ddc0390449c0652f34b99a6cbe0699b2fcf58' (2024-08-17)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-08-11)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-08-18)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/d6c5d29f58acc10ea82afff1de2b28f038f572bd' (2024-08-08)
  → 'github:nix-community/nixos-generators/32e9d82bada67fc5155e8d4d99b6fc3a1765bfdc' (2024-08-17)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/8bebd4c74f368aacb047f0141db09ec6b339733c' (2024-08-04)
  → 'github:nix-community/nixpkgs.lib/ace7856d327b618d3777e31b1f224b3ab57ed71a' (2024-08-11)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/5e0ca22929f3342b19569b21b2f3462f053e497b' (2024-08-09)
  → 'github:nixos/nixpkgs/c3aa7b8938b17aebd2deecf7be0636000d62a2b9' (2024-08-14)
• Updated input 'nur':
    'github:nix-community/nur/638e850bd503b43214c8e39a838c625f011d9b10' (2024-08-11)
  → 'github:nix-community/nur/eefd7f643ffeb25543019d48952e66ddae3da583' (2024-08-18)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/ad0fe35e80f5cd31a0f19176d7b30e5c3011119d' (2024-08-10)
  → 'github:mfussenegger/nvim-lint/debabca63c0905b59ce596a55a8e33eafdf66342' (2024-08-16)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/8a966f32c973511f9697264b3533e9846d29fd09' (2024-08-10)
  → 'github:nvim-treesitter/nvim-treesitter/6d74da7f0a29c35ee7636e157e72dd221e8d6197' (2024-08-17)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/7b212b214aed37d8ae1a26ac6ca9593223a23ddb' (2024-08-10)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/957e1a4710f2cbad66b747c579ab8b450bda9dd6' (2024-08-16)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/0dee05ef958ba2eae88d1e65f24b33cad70d4367' (2024-07-14)
  → 'github:tree-sitter/tree-sitter-python/55a9b8a4fbfbaf0d10cdd47dd4a9d02606c4c218' (2024-08-18)
2024-08-18 03:44:46 +00:00
771cac63a3 save letsencrypt key for acme 2024-08-17 08:55:03 -04:00
f7c5d3510f add acme email to caddy tls 2024-08-14 09:41:12 -04:00
6866ca5fee add snipe.nvim for jumping buffers on gb 2024-08-11 21:55:14 -04:00
883dc15b3d flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/f7142b8024d6b70c66fd646e1d099d3aa5bfec49' (2024-08-02)
  → 'github:lnl7/nix-darwin/91010a5613ffd7ee23ee9263213157a1c422b705' (2024-08-06)
• Updated input 'disko':
    'github:nix-community/disko/7e1b215a0a96efb306ad6440bf706d2b307dc267' (2024-08-01)
  → 'github:nix-community/disko/ffc1f95f6c28e1c6d1e587b51a2147027a3e45ed' (2024-08-08)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/1e21b72d579f06362e01f594b713fa1d51622c21' (2024-08-04)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/6ffec5acd449b5f2ab4b22c271ad1670a790a1e1' (2024-08-11)
• Updated input 'home-manager':
    'github:nix-community/home-manager/afc892db74d65042031a093adb6010c4c3378422' (2024-08-02)
  → 'github:nix-community/home-manager/b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e' (2024-08-07)
• Updated input 'markview-nvim-src':
    'github:OXY2DEV/markview.nvim/d0ccc97b5c988fb28e5033abdf7b832b9dfaf897' (2024-07-31)
  → 'github:OXY2DEV/markview.nvim/c9fa1065098663c3bfe7e07656937c3d2f3dabea' (2024-08-11)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-08-04)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-08-11)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/75cbb2a5e19c18840d105a72d036c6c92fc46c5d' (2024-07-29)
  → 'github:nix-community/nixos-generators/d6c5d29f58acc10ea82afff1de2b28f038f572bd' (2024-08-08)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/d15f6f6021693898fcd2c6a9bb13707383da9bbc' (2024-07-28)
  → 'github:nix-community/nixpkgs.lib/8bebd4c74f368aacb047f0141db09ec6b339733c' (2024-08-04)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/9f918d616c5321ad374ae6cb5ea89c9e04bf3e58' (2024-07-31)
  → 'github:nixos/nixpkgs/5e0ca22929f3342b19569b21b2f3462f053e497b' (2024-08-09)
• Updated input 'nur':
    'github:nix-community/nur/d95fbf93429f5c9f4e41249212d2386a995f0cc3' (2024-08-04)
  → 'github:nix-community/nur/638e850bd503b43214c8e39a838c625f011d9b10' (2024-08-11)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/efc6fc83f0772283e064c53a8f9fb5645bde0bc0' (2024-06-26)
  → 'github:mfussenegger/nvim-lint/ad0fe35e80f5cd31a0f19176d7b30e5c3011119d' (2024-08-10)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/48d0e82f9434691cc50d970898142a8c084a49d6' (2024-07-28)
  → 'github:kyazdani42/nvim-tree.lua/ad0b95dee55955817af635fa121f6e2486b10583' (2024-08-10)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/a7a3b9c10e8a5fe0da05ebb65db3ed1d164e612d' (2024-08-03)
  → 'github:nvim-treesitter/nvim-treesitter/8a966f32c973511f9697264b3533e9846d29fd09' (2024-08-10)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/ca50af9dc3cd88647077330b4728f4d0a7e754c4' (2024-07-28)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/7b212b214aed37d8ae1a26ac6ca9593223a23ddb' (2024-08-10)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/f373ad59ae5866f0f98216bd5c71526b373450d2' (2024-07-29)
  → 'github:nix-community/NixOS-WSL/be1a6b2e4ddc34b9b6a297e7df2f2a2ecee24690' (2024-08-08)
2024-08-11 03:45:54 +00:00
842f373101 switch from keyd to kanata
more reliable, doesn't break on update. also allows the escape key to
timeout and turn into lctrl after 1 second, which might be nicer
behavior
2024-08-07 23:24:28 -04:00
65aa25b213 add moonlight for game streaming 2024-08-07 22:58:58 -04:00
5b2fef7e01 comment on choosing not to switch to ddclient 2024-08-07 22:57:31 -04:00
2a812c1bdb add tiny-inline-diagnostic.nvim plugin for errors 2024-08-07 22:18:52 -04:00
16a372ce64 gnome packages are now top-level 2024-08-04 21:03:38 -04:00
fb45ccdd5c flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/0413754b3cdb879ba14f6e96915e5fdf06c6aab6' (2024-07-27)
  → 'github:lnl7/nix-darwin/f7142b8024d6b70c66fd646e1d099d3aa5bfec49' (2024-08-02)
• Updated input 'disko':
    'github:nix-community/disko/5b01cea8b5753de9c2febd27203c530be14745ff' (2024-07-26)
  → 'github:nix-community/disko/7e1b215a0a96efb306ad6440bf706d2b307dc267' (2024-08-01)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/269d84cf5630803441099787d85ec8792ccccdc7' (2024-07-28)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/1e21b72d579f06362e01f594b713fa1d51622c21' (2024-08-04)
• Updated input 'home-manager':
    'github:nix-community/home-manager/d0240a064db3987eb4d5204cf2400bc4452d9922' (2024-07-27)
  → 'github:nix-community/home-manager/afc892db74d65042031a093adb6010c4c3378422' (2024-08-02)
• Updated input 'markview-nvim-src':
    'github:OXY2DEV/markview.nvim/316cafc79490f8b79c288bbe6638838d6d68e227' (2024-07-17)
  → 'github:OXY2DEV/markview.nvim/d0ccc97b5c988fb28e5033abdf7b832b9dfaf897' (2024-07-31)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-07-28)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-08-04)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/c12f9a969c8cdf14618774515c7c6c96aef753c7' (2024-07-25)
  → 'github:nix-community/nixos-generators/75cbb2a5e19c18840d105a72d036c6c92fc46c5d' (2024-07-29)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/31a99025ce3784c20dd11dafa5260e80e314f59e' (2024-07-21)
  → 'github:nix-community/nixpkgs.lib/d15f6f6021693898fcd2c6a9bb13707383da9bbc' (2024-07-28)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/b73c2221a46c13557b1b3be9c2070cc42cf01eb3' (2024-07-27)
  → 'github:nixos/nixpkgs/9f918d616c5321ad374ae6cb5ea89c9e04bf3e58' (2024-07-31)
• Updated input 'nur':
    'github:nix-community/nur/ad7056b477de1bf3e1fa5ed2c3da1340d6820277' (2024-07-28)
  → 'github:nix-community/nur/d95fbf93429f5c9f4e41249212d2386a995f0cc3' (2024-08-04)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/f97e0de0053df1cb3b9f74b9b1239acced1b7d9a' (2024-07-27)
  → 'github:nvim-treesitter/nvim-treesitter/a7a3b9c10e8a5fe0da05ebb65db3ed1d164e612d' (2024-08-03)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/ac026940beb42f74c5666f6ed3989aca41eddeea' (2024-07-26)
  → 'github:nix-community/NixOS-WSL/f373ad59ae5866f0f98216bd5c71526b373450d2' (2024-07-29)
2024-08-04 03:45:44 +00:00
74e6d740af allow rust-analyzer to check optional feature code 2024-08-01 22:42:48 -04:00
2ad5411b90 add possible option for darwin shell commented out 2024-08-01 22:41:35 -04:00
3b494bed5b adwaita-icon-theme now a top-level pkg 2024-08-01 22:41:15 -04:00
de4c8c32ef flake.lock: Update
Flake lock file updates:

• Updated input 'baleia-nvim-src':
    'github:m00qek/baleia.nvim/4d3b27dbec65a44ceecd9306f605a980bcf4e9b1' (2024-05-31)
  → 'github:m00qek/baleia.nvim/1b25eac3ac03659c3d3af75c7455e179e5f197f7' (2024-07-24)
• Updated input 'darwin':
    'github:lnl7/nix-darwin/33bf7df5bbfcbbb49e6559b0c96c9e3b26d14e58' (2024-07-21)
  → 'github:lnl7/nix-darwin/0413754b3cdb879ba14f6e96915e5fdf06c6aab6' (2024-07-27)
• Updated input 'disko':
    'github:nix-community/disko/bec6e3cde912b8acb915fecdc509eda7c973fb42' (2024-07-19)
  → 'github:nix-community/disko/5b01cea8b5753de9c2febd27203c530be14745ff' (2024-07-26)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/5d4711f0568cd99b73b0bc1524ebe22e5ab2caf7' (2024-07-21)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/269d84cf5630803441099787d85ec8792ccccdc7' (2024-07-28)
• Updated input 'home-manager':
    'github:nix-community/home-manager/635563f245309ef5320f80c7ebcb89b2398d2949' (2024-07-21)
  → 'github:nix-community/home-manager/d0240a064db3987eb4d5204cf2400bc4452d9922' (2024-07-27)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-07-21)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-07-28)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/076ea5b672bb1ea535ee84cfdabd0c2f0b7f20c7' (2024-07-13)
  → 'github:nix-community/nixos-generators/c12f9a969c8cdf14618774515c7c6c96aef753c7' (2024-07-25)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/1bba8a624b3b9d4f68db94fb63aaeb46039ce9e6' (2024-06-30)
  → 'github:nix-community/nixpkgs.lib/31a99025ce3784c20dd11dafa5260e80e314f59e' (2024-07-21)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/1d9c2c9b3e71b9ee663d11c5d298727dace8d374' (2024-07-19)
  → 'github:nixos/nixpkgs/b73c2221a46c13557b1b3be9c2070cc42cf01eb3' (2024-07-27)
• Updated input 'nur':
    'github:nix-community/nur/47677f66e7c51e83505718528a8b3dc2ddcb1e9c' (2024-07-21)
  → 'github:nix-community/nur/ad7056b477de1bf3e1fa5ed2c3da1340d6820277' (2024-07-28)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/4e396b26244444c911b73e9f2f40ae0115351fd1' (2024-07-21)
  → 'github:kyazdani42/nvim-tree.lua/48d0e82f9434691cc50d970898142a8c084a49d6' (2024-07-28)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/733fa85db27079ec2757183c5c840ba15a303e1f' (2024-07-21)
  → 'github:nvim-treesitter/nvim-treesitter/f97e0de0053df1cb3b9f74b9b1239acced1b7d9a' (2024-07-27)
• Updated input 'stu':
    'github:lusingander/stu/cc6f75ca0b97c41b6d1564aa96f175c513eda01b' (2024-07-18)
  → 'github:lusingander/stu/aefd555fb3e128d40f8bd80d37aa5c6e5d8bc011' (2024-07-22)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/8ebede998342477736e0d0acdcc13ddb166a335f' (2024-07-17)
  → 'github:nix-community/NixOS-WSL/ac026940beb42f74c5666f6ed3989aca41eddeea' (2024-07-26)
2024-07-28 03:45:20 +00:00
a7be0ed5cc fix: init tf in subdirectory 2024-07-27 12:25:31 -04:00
e7f8d706b2 remove settings from dock on macos 2024-07-21 10:48:56 -04:00
39fda67d6e replace youtube-dl with yt-dlp on macos 2024-07-21 10:48:56 -04:00
4eb0327a1b fix: sound is now deprecated 2024-07-21 10:11:50 -04:00
029119ce93 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/ec12b88104d6c117871fad55e931addac4626756' (2024-07-01)
  → 'github:lnl7/nix-darwin/33bf7df5bbfcbbb49e6559b0c96c9e3b26d14e58' (2024-07-21)
• Updated input 'disko':
    'github:nix-community/disko/544a80a69d6e2da04e4df7ec8210a858de8c7533' (2024-07-01)
  → 'github:nix-community/disko/bec6e3cde912b8acb915fecdc509eda7c973fb42' (2024-07-19)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/407f201936424ec061d33aa687e7978ae7873b5c' (2024-07-02)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/5d4711f0568cd99b73b0bc1524ebe22e5ab2caf7' (2024-07-21)
• Updated input 'home-manager':
    'github:nix-community/home-manager/59ce796b2563e19821361abbe2067c3bb4143a7d' (2024-07-01)
  → 'github:nix-community/home-manager/635563f245309ef5320f80c7ebcb89b2398d2949' (2024-07-21)
• Updated input 'mac-app-util':
    'github:hraban/mac-app-util/1857b26aceaf64c2b6a357eb83cf34139b6365cc' (2024-06-20)
  → 'github:hraban/mac-app-util/63f269f737cafb2219ba38780c1ecb1dc24bc4a2' (2024-07-02)
• Updated input 'markview-nvim-src':
    'github:OXY2DEV/markview.nvim/f60219dce7283192d549f21847fcf8537bf6d260' (2024-06-28)
  → 'github:OXY2DEV/markview.nvim/316cafc79490f8b79c288bbe6638838d6d68e227' (2024-07-17)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-07-07)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz?narHash=sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI%3D' (2024-07-21)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/140dcc2b9a0eb87ba5e9011076a1a7af19179ab1' (2024-07-01)
  → 'github:nix-community/nixos-generators/076ea5b672bb1ea535ee84cfdabd0c2f0b7f20c7' (2024-07-13)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/00d80d13810dbfea8ab4ed1009b09100cca86ba8' (2024-07-01)
  → 'github:nixos/nixpkgs/1d9c2c9b3e71b9ee663d11c5d298727dace8d374' (2024-07-19)
• Updated input 'nur':
    'github:nix-community/nur/574405811547dcec59e912c5e82bfd224648bd5e' (2024-07-02)
  → 'github:nix-community/nur/47677f66e7c51e83505718528a8b3dc2ddcb1e9c' (2024-07-21)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/8b2c5c678be4b49dff6a2df794877000113fd77b' (2024-06-23)
  → 'github:kyazdani42/nvim-tree.lua/4e396b26244444c911b73e9f2f40ae0115351fd1' (2024-07-21)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/e0d6c7643dc953acc2e817d0cebfc2f1f8c008e1' (2024-07-02)
  → 'github:nvim-treesitter/nvim-treesitter/733fa85db27079ec2757183c5c840ba15a303e1f' (2024-07-21)
• Updated input 'stu':
    'github:lusingander/stu/279edc8d63c04b42773434bf8c6f2744a66d71a8' (2024-07-08)
  → 'github:lusingander/stu/cc6f75ca0b97c41b6d1564aa96f175c513eda01b' (2024-07-18)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/71778c2a472ed00a64abf4219544edbf8e4b86d7' (2024-05-01)
  → 'github:tree-sitter/tree-sitter-python/0dee05ef958ba2eae88d1e65f24b33cad70d4367' (2024-07-14)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/269411cfed6aab694e46f719277c972de96177bb' (2024-06-24)
  → 'github:nix-community/NixOS-WSL/8ebede998342477736e0d0acdcc13ddb166a335f' (2024-07-17)
2024-07-21 13:49:04 +00:00
b15fd34e30 try pinning nix version in lockfile update 2024-07-21 09:43:42 -04:00
a47bcf8949 fix: error in nix version when updating flake
see: https://github.com/DeterminateSystems/update-flake-lock/issues/120
2024-07-21 08:10:22 -04:00
6c024107ee add stu s3 tui browser 2024-07-10 15:47:42 -04:00
4ca25aa194 just keep updating snappymail until we figure this out 2024-07-07 10:09:24 -04:00
20fcca6bda add cursor to fix firefox not rendering links
however, the cursor is too big and i can't seem to make it smaller
2024-07-07 10:06:10 -04:00
0bbbabd6e8 try to fix log rotation issues 2024-07-02 13:42:50 +00:00
ff05b99fe1 update lockfile (fix regresshion vuln) 2024-07-02 13:42:06 +00:00
abdf4b64be add cloudflared client to macos machine 2024-07-02 09:35:13 -04:00
6d0d36165e use opt instead of bo for undofile
i saw this in an example and it seems like it
might be more appropriate
2024-07-02 09:33:04 -04:00
b4470727e5 back to hosting snappymail myself
i'm still not sure if this will work
2024-06-30 21:57:48 -04:00
126baae735 add more services to grafana caddy list 2024-06-29 18:37:03 -04:00
892dfbbee4 fix: grafana alert label template 2024-06-29 13:51:54 +00:00
0198469b83 oops forgot to get rid of experimental line 2024-06-29 13:43:08 +00:00
c89ca7ea94 upgrade to nextcloud 29 successfully 2024-06-29 13:41:30 +00:00
0a98b72784 only set kitty aliases in kitty terminal 2024-06-29 08:01:23 -04:00
c7de16b14c add prom scraping to victoriametrics
allows us to not run vmagent when running victoriametrics
2024-06-29 01:22:59 +00:00
1d405e1828 format comments on lua file 2024-06-28 20:36:31 -04:00
97f99a149e revert toggleterm float opts
they stuck to the height of the terminal window at initial open, which
looked bad whenever it changed, especially if it increased.
2024-06-28 20:36:08 -04:00
bc794f89bc play with markview-nvim
neovim markdown plugin
2024-06-28 20:34:35 -04:00
63b90102f2 remove tempest from cloudflare tunnel alerts 2024-06-27 11:36:05 -04:00
c86188d734 fix: replace kitty with wezterm in macos tiling layout 2024-06-24 09:53:09 -04:00
f1cdd4ae98 fix: renamed and deprecated graphics options (2) 2024-06-23 17:43:36 -04:00
332921edd3 fix: open html emails in browser 2024-06-23 11:42:43 -04:00
cc69cbaa6c tweak wezterm padding to match kitty 2024-06-23 09:08:36 -04:00
d165428a37 more wezterm aesthetic tweaks 2024-06-23 09:06:36 -04:00
3e7955533e fix: vmagent updates
no longer require systemd manual attributes. the dynamicuser now uses
loadcredential to retrieve secrets
2024-06-23 08:55:41 -04:00
0b9886f93e fix: renamed and deprecated graphics options 2024-06-23 08:54:51 -04:00
2f39eb2ceb replace kitty with wezterm on linux (tempest) 2024-06-23 08:54:30 -04:00
cf19085158 update lockfile and i guess rebuild everything on macos 2024-06-21 17:08:38 -06:00
a387950c9a different new tab actions for wezterm 2024-06-21 17:08:25 -06:00
dec46bcc97 fix: pyright is now an independent package 2024-06-20 17:25:51 -06:00
0d6230b3dc fix markdown tables format in github 2024-06-19 11:02:18 -06:00
517ae65cf1 upgrade to nextcloud 29 2024-06-19 10:59:26 -06:00
6f4ee32e8e fix warning in nix with expression 2024-06-19 10:59:17 -06:00
2c2f366c47 disable autoupgrade for swan, make explicit 2024-06-19 10:58:47 -06:00
e509943103 add nixpkgs-caddy into swan 2024-06-19 10:51:16 -06:00
8937d214f1 update lockfile 2024-06-19 10:44:13 -06:00
af4161c4f4 make mac apps available in spotlight 2024-06-18 18:22:05 -06:00
0a225d6599 set neovim completion to work in cmdline (command) mode 2024-06-18 18:08:49 -06:00
b78bbf2003 fix: wezterm fullscreen keybind 2024-06-18 12:50:04 -06:00
97cfaf0708 wezterm fuzzy jump to project 2024-06-17 15:34:46 -06:00
dceb0c5c65 fix: atuin keybind for wezterm 2024-06-17 09:49:07 -06:00
a309e96754 remove kitty-scrollback-nvim feature 2024-06-17 09:37:25 -06:00
83e95b306d add tf init to darwin 2024-06-16 19:00:28 -06:00
6742103195 add wezterm to lookingglass 2024-06-16 18:59:43 -06:00
57ce387402 wezterm completion for fish autosuggestions 2024-06-16 18:58:57 -06:00
265144d957 update style of wezterm tab bar 2024-06-16 18:31:52 -06:00
f0b9bfc0a7 add wezterm potential kitty replacement 2024-06-16 18:02:10 -06:00
a4c9813341 tfinit shortcut script 2024-06-13 15:59:10 +01:00
b051885b52 reduce toggleterm float margin 2024-06-12 12:07:47 +01:00
985e69b4b8 fix: kitty scrollback nvim behavior 2024-06-07 14:05:24 -04:00
8e9d556cfe markdown fix with vim-table-mode 2024-06-06 17:08:40 -04:00
99581ae1ea fix: fallback for ec2 script and only show running instances 2024-06-05 17:58:22 -04:00
96d410e1b2 fix: hcl formatting and markdown errors 2024-06-05 16:49:19 -04:00
8e88d70a52 add ec2 list and ssm session fzf script
also fix lint issues on home packages
2024-06-05 15:14:36 -04:00
8b1032ebda gh watch keybind for neovim toggleterm 2024-06-05 13:54:13 -04:00
e55ee05c5c use separate keybinds for neovim completion features 2024-06-05 13:54:13 -04:00
0cdae3569e remove flake-utils from poetry template 2024-06-05 13:54:13 -04:00
0f1cbe2e06 update detsys actions 2024-06-02 14:04:28 -04:00
7a22e798fc autohotkey v2 for windows 2024-06-02 08:08:05 -04:00
196d2e53e0 Create caps-lock-ctrl.reg for windows 2024-06-02 07:43:15 -04:00
204621a0ba add gh-dash for checking prs 2024-05-28 16:32:46 -04:00
ab050582c1 fix: filetype patterns and add comment syntax for nvim 0.10 2024-05-28 11:08:22 -04:00
6cf4c4979d add notunes package to prevent apple music from opening randomly 2024-05-28 10:27:54 -04:00
ad0bb2d804 update neovim and others 2024-05-28 07:50:14 -04:00
5117b14388 add caddy pkg for flame 2024-05-14 20:23:59 +00:00
e6bde77984 add teams on macos 2024-05-14 16:01:21 -04:00
b546d5b43a update records for destroy 2024-05-09 16:58:14 -04:00
5aa0a935ad remove comments from tf 2024-05-09 16:55:48 -04:00
4555797667 fix: letsencrypt dupe cert limit 2024-05-09 15:07:51 -04:00
5edd1a50d3 move vmvariant to nixos only 2024-05-09 14:41:58 -04:00
a16e3ae3cb add values for destroy 2024-05-08 22:17:23 -04:00
edff6fc768 add teams on macos 2024-05-08 17:23:56 -04:00
45ec4e5a3f try switching from checksum to etag 2024-05-08 00:09:47 -04:00
48fbb2e2d9 fixes to n8n config 2024-05-07 23:46:03 -04:00
7ce9ed564e enforce that instance is running 2024-05-07 23:28:46 -04:00
8074276643 use terraform_data to fix data-based replacement 2024-05-07 23:23:28 -04:00
6edc828ece pass pkgs-caddy to arrow 2024-05-07 20:09:51 -04:00
4b22c774e2 try enabling checksum mode on s3 to get checksum values 2024-05-07 20:08:33 -04:00
b7e81e009c make sure to replace ami if s3 object changes 2024-05-07 20:04:04 -04:00
3d90674522 add ssm agent to wheel 2024-05-07 17:52:48 -04:00
0582b4a147 fix: dupe resource 2024-05-07 16:25:53 -04:00
c06cb27bcc register instance profile for ssm and allow ping 2024-05-07 16:24:12 -04:00
de106298d6 Revert "debug: terraform cycle"
This reverts commit b34997257c.
2024-05-07 15:37:28 -04:00
b34997257c debug: terraform cycle 2024-05-07 15:35:27 -04:00
ddfaf0064c fix: reference to removed var in tf 2024-05-07 15:29:08 -04:00
e561d5984b switch to uploading image to s3 without tf 2024-05-07 15:12:21 -04:00
de766b6893 add aws ssm agent for ami 2024-05-06 16:18:28 -04:00
654009ba74 free disk space to build 2024-05-06 15:08:37 -04:00
a7006af5ad allow n8n as unfree 2024-05-06 14:38:03 -04:00
452afd70c1 enable n8n on arrow 2024-05-06 14:26:24 -04:00
0c399fc269 fix: forgot to add host_ip to aws tf 2024-05-06 14:00:56 -04:00
e59c565e2f add enhanced networking required for some aws instances 2024-05-06 11:45:24 -04:00
d0e613f093 try using larger volume for snapshot 2024-05-06 11:19:46 -04:00
14538d83f5 fix: lost line from workflow 2024-05-06 10:39:00 -04:00
2d31f5726f setup s3 cache for aws 2024-05-06 10:38:09 -04:00
f4ed3f0ec6 try to add root device name for ami 2024-05-05 23:07:54 -04:00
d07abccbce fix: no default tags exist 2024-05-05 22:53:07 -04:00
0feb11b017 fix: point to actual location of vhd for arrow-aws 2024-05-05 20:57:08 -04:00
da559f808a add images bucket tf var 2024-05-05 18:14:07 -04:00
9ebdfa1071 fix: tf backend can't be a variable 2024-05-05 16:36:34 -04:00
5bd81813cb switch to my own fork of gh-collaborators to fix go 2024-05-05 16:17:06 -04:00
69b2332700 fix: xserver libinput renamed without xserver 2024-05-05 15:54:12 -04:00
d4708cd5f6 revert to earliest go module for gh-collaborator compatibility
even though should be built with buildGo120Module
2024-05-05 15:48:49 -04:00
962515c10e replace caddy-cloudflare overlay with nixpkgs pr plugin override 2024-05-05 15:18:43 -04:00
ee97213b9f replace snappymail repo with my own for stability 2024-05-05 15:17:27 -04:00
97ccf1c170 flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/285e26465a0bae510897ca04da26ce6307c652b4?narHash=sha256-kcBiIrmqzt3bNTr2GMBfAyA%2Bon8BEKO1iKzzDFQZkjI%3D' (2024-04-26)
  → 'github:nix-community/disko/d57058eb09dd5ec00c746df34fe0a603ea744370?narHash=sha256-W7%2BrtMzRmdovzndN2NYUv5xzkbMudtQ3jbyFuGk0O1E%3D' (2024-05-02)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/7e82af679667cf9d56075dfa375b32c317aa708d?narHash=sha256-Ep8jPm%2BQ832byS7VtlkdXEEWGFhk5BMX0CjkVtC1G4E%3D' (2024-04-24)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/7e9014891eebabffa68351e3360da3fbc59b8066?narHash=sha256-kTAMHZ1DDGauq3f5IzPw%2BEtVOgWdctLPUMJiqciqOx0%3D' (2024-05-05)
• Updated input 'home-manager':
    'github:nix-community/home-manager/c1609d584a6b5e9e6a02010f51bd368cb4782f8e?narHash=sha256-eT7DENhYy7EPLOqHI9zkIMD9RvMCXcqh6gGqOK5BWYQ%3D' (2024-04-27)
  → 'github:nix-community/home-manager/e0825ea2112d09d9f0680833cd716f6aee3b973f?narHash=sha256-02r2Qzh4fGYBPB/3Lj8vwPMtE6H/UchZnN7A/dQMHIA%3D' (2024-05-04)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.36.1-nextcloud.tar.gz?narHash=sha256-CsAUnbA/9XiVuk96pOK%2BE%2B%2Blp8BlJITtfExWcb9rqPk%3D' (2024-04-26)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.36.1-nextcloud.tar.gz?narHash=sha256-6mel49dSTujJnpdUt1aOJ87duXU/DBqpuqgZOKP1YII%3D' (2024-04-24)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/7bb2ccd8cdc44c91edba16c48d2c8f331fb3d856?narHash=sha256-Drmja/f5MRHZCskS6mvzFqxEaZMeciScCTFxWVLqWEY%3D' (2024-04-25)
  → 'github:nixos/nixpkgs/63c3a29ca82437c87573e4c6919b09a24ea61b0f?narHash=sha256-4cPymbty65RvF1DWQfc%2BBc8B233A1BWxJnNULJKQ1EY%3D' (2024-05-02)
• Updated input 'nur':
    'github:nix-community/nur/1348a217ce75f5171b65873c5146b47e0d26bc83?narHash=sha256-SZTU/TQFzihktp/SPzY3yzMnrYi7EuaCIA/g4jNA8KU%3D' (2024-04-28)
  → 'github:nix-community/nur/49f72c695fb2f46c8aeb1549704246b9558b2011?narHash=sha256-G/dc755qMdAMvXuZsi1OFCzD49OWszdMSnp12%2B1eFcM%3D' (2024-05-05)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/f098232d70cebe90e27404928c9bc19ca7a5a7b5?narHash=sha256-QyS%2BxSIOVbJdf/vLU0o8fdZrQ%2BMssolTyg75ZSnP0fY%3D' (2024-04-16)
  → 'github:mfussenegger/nvim-lint/861a04313501563bb1b11f125ae9b7237a517b9b?narHash=sha256-aM4oWSZrZb660wEpLQnFyoBkH%2BMSi0WgfBIztk98Qtk%3D' (2024-04-30)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/5a18b9827491aa1aea710bc9b85c6b63ed0dad14?narHash=sha256-VMyVrgcgqx52QIy/q0oAuJNuxMNPAgPX3bi1LP27Iho%3D' (2024-04-25)
  → 'github:kyazdani42/nvim-tree.lua/64f61e4c913047a045ff90bd188dd3b54ee443cf?narHash=sha256-rY4FbuqBM4zOUkaA3QBc%2BUrpfTha8uGtp%2BlIzrYK%2Bcg%3D' (2024-05-04)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/0883ff05655117a3fc79ab295a640c4984cfd415?narHash=sha256-4VmW8xfayxIo4k6WA4423yTyLvzBTwidU7d8OuGH1vY%3D' (2024-04-27)
  → 'github:nvim-treesitter/nvim-treesitter/4e21361e15b1d4147830c5fe571556eb1b14e6f9?narHash=sha256-3Ae3ieCqckVAElTufJxgBRNXdWg81%2B%2BoI0qesKevcb4%3D' (2024-05-04)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/a22761025cdac6c314b7e3aa48fb44fa9e594d6a?narHash=sha256-L6iEej6bPqfaZdH5GNoJyNxZWdnIyn7%2BCut%2BzYnMI88%3D' (2024-04-05)
  → 'github:tree-sitter/tree-sitter-python/71778c2a472ed00a64abf4219544edbf8e4b86d7?narHash=sha256-hHQ5gK4dTRSdp0fLKarytU9vFhsBeQp7Ka61vFoIr7Y%3D' (2024-05-01)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/4fb773cffed9bf1efdabcc01b25637eaeb4e8e9c?narHash=sha256-jgTn20s3qzar/IqhjQcEO%2BdIQbT4hBFIloVntiCURkA%3D' (2024-04-26)
  → 'github:nix-community/NixOS-WSL/acb893461a4bee4e77b1a27b1410d4995b52174c?narHash=sha256-rtv%2BnJJ12V7w68j8vIcGacfS1yuK1/dBgglSKWzYMTM%3D' (2024-04-29)
2024-05-05 03:44:32 +00:00
37e66f32c5 switch from go122 to go module 2024-05-04 23:21:01 -04:00
572459ba88 use full arn for aws oidc role 2024-05-04 23:15:45 -04:00
b47ca4c785 forgot to add permissions to run aws workflow 2024-05-04 23:11:49 -04:00
8f0f7911b0 test out arrow on aws 2024-05-04 23:05:55 -04:00
c0356cab62 add gamescope and mangohud 2024-05-04 23:05:40 -04:00
b98ced2939 fix bad hashes 2024-05-03 17:26:56 -04:00
aea3359236 flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/a816daa384dd754b7586f51157fc2e1a44e76073?narHash=sha256-PJbmbf%2B5z924b/wq7jzEFCUtrOc7s1J%2B8qRZu3fVAQc%3D' (2024-04-25)
  → 'github:nix-community/disko/285e26465a0bae510897ca04da26ce6307c652b4?narHash=sha256-kcBiIrmqzt3bNTr2GMBfAyA%2Bon8BEKO1iKzzDFQZkjI%3D' (2024-04-26)
• Updated input 'home-manager':
    'github:nix-community/home-manager/0c5704eceefcb7bb238a958f532a86e3b59d76db?narHash=sha256-4AItZA3EQIiSNAxliuYEJumw/LaVfrMv84gYyrs0r3U%3D' (2024-04-25)
  → 'github:nix-community/home-manager/c1609d584a6b5e9e6a02010f51bd368cb4782f8e?narHash=sha256-eT7DENhYy7EPLOqHI9zkIMD9RvMCXcqh6gGqOK5BWYQ%3D' (2024-04-27)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.36.1-nextcloud.tar.gz?narHash=sha256-CsAUnbA/9XiVuk96pOK%2BE%2B%2Blp8BlJITtfExWcb9rqPk%3D' (2024-04-25)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.36.1-nextcloud.tar.gz?narHash=sha256-6mel49dSTujJnpdUt1aOJ87duXU/DBqpuqgZOKP1YII%3D' (2024-04-24)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/572af610f6151fd41c212f897c71f7056e3fb518?narHash=sha256-cfh1hi%2B6muQMbi9acOlju3V1gl8BEaZBXBR9jQfQi4U%3D' (2024-04-23)
  → 'github:nixos/nixpkgs/7bb2ccd8cdc44c91edba16c48d2c8f331fb3d856?narHash=sha256-Drmja/f5MRHZCskS6mvzFqxEaZMeciScCTFxWVLqWEY%3D' (2024-04-25)
• Updated input 'nur':
    'github:nix-community/nur/23ec6b3cf4882a7b39685837368af00744d8cb6e?narHash=sha256-I7oJlmcyCo0EuqGiIgJYY/OtqzyJz7pdq71sLD5mnyQ%3D' (2024-04-25)
  → 'github:nix-community/nur/1348a217ce75f5171b65873c5146b47e0d26bc83?narHash=sha256-SZTU/TQFzihktp/SPzY3yzMnrYi7EuaCIA/g4jNA8KU%3D' (2024-04-28)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/19c6b0c4c9b35962e45b782e2b85a3214d2ac4d5?narHash=sha256-1K%2Bvg99QjM7UiMLMN7m4trZYFR33BwyHZlsPOe6UOqE%3D' (2024-04-25)
  → 'github:nvim-treesitter/nvim-treesitter/0883ff05655117a3fc79ab295a640c4984cfd415?narHash=sha256-4VmW8xfayxIo4k6WA4423yTyLvzBTwidU7d8OuGH1vY%3D' (2024-04-27)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/f41f95c2c187a49a4ef98b5d00fdf1a68c5f88ba?narHash=sha256-q3zu2D5HVphfAMZ070o/K9IPxw5DLsLkvwr7H1b5fpE%3D' (2024-04-24)
  → 'github:nix-community/NixOS-WSL/4fb773cffed9bf1efdabcc01b25637eaeb4e8e9c?narHash=sha256-jgTn20s3qzar/IqhjQcEO%2BdIQbT4hBFIloVntiCURkA%3D' (2024-04-26)
2024-04-28 03:44:30 +00:00
760a016842 replace nil ls with nixd language server
remove nixlang dedicated module
2024-04-25 13:25:25 -04:00
f59c228803 fix: snappymail requires update 2024-04-25 16:57:30 +00:00
951570c88c flake.lock: Update
Flake lock file updates:

• Updated input 'base16-nvim-src':
    'github:RRethy/base16-nvim/b3e9ec6a82c05b562cd71f40fe8964438a9ba64a?narHash=sha256-l0BO2boIy6mwK8ISWS3D68f8egqHYwsGSAnzjbB5aOE%3D' (2024-02-17)
  → 'github:RRethy/base16-nvim/eec6882101dd189117f79c5d18d389d20cfc0415?narHash=sha256-p3HWYasmi0gVUM5l9jLWL4Iy37Uxnvbj3SO/cMCpDBg%3D' (2024-04-18)
• Updated input 'darwin':
    'github:lnl7/nix-darwin/36524adc31566655f2f4d55ad6b875fb5c1a4083?narHash=sha256-sXcesZWKXFlEQ8oyGHnfk4xc9f2Ip0X/%2BYZOq3sKviI%3D' (2024-03-30)
  → 'github:lnl7/nix-darwin/230a197063de9287128e2c68a7a4b0cd7d0b50a7?narHash=sha256-lc75rgRQLdp4Dzogv5cfqOg6qYc5Rp83oedF2t0kDp8%3D' (2024-04-24)
• Updated input 'disko':
    'github:nix-community/disko/8d4ae698eaac8bd717e23507da2ca8b345bec4b5?narHash=sha256-T0eT2lMbcK7RLelkx0qx4SiFpOS/0dt0aSfLB%2BWsGV8%3D' (2024-04-12)
  → 'github:nix-community/disko/a816daa384dd754b7586f51157fc2e1a44e76073?narHash=sha256-PJbmbf%2B5z924b/wq7jzEFCUtrOc7s1J%2B8qRZu3fVAQc%3D' (2024-04-25)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/10e4a50241d6bbae62754efda7bc4b48dd4aa2c1?narHash=sha256-LlFkVfdF9GfB02gFNHjnLOV0AQYFY7gWATlniTALeaM%3D' (2024-04-14)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/7e82af679667cf9d56075dfa375b32c317aa708d?narHash=sha256-Ep8jPm%2BQ832byS7VtlkdXEEWGFhk5BMX0CjkVtC1G4E%3D' (2024-04-24)
• Updated input 'home-manager':
    'github:nix-community/home-manager/630a0992b3627c64e34f179fab68e3d48c6991c0?narHash=sha256-Noot8H0EZEAFRQWyGxh9ryvhK96xpIqKbh78X447JWs%3D' (2024-04-14)
  → 'github:nix-community/home-manager/0c5704eceefcb7bb238a958f532a86e3b59d76db?narHash=sha256-4AItZA3EQIiSNAxliuYEJumw/LaVfrMv84gYyrs0r3U%3D' (2024-04-25)
• Updated input 'kitty-scrollback-nvim-src':
    'github:mikesmithgh/kitty-scrollback.nvim/2d4c6970e9b6155b857755a5499cdce313d923b3?narHash=sha256-wDNYvNa9UEHg6lRKaonN%2B6vg4XJ4umUaVriziEJejKE%3D' (2024-04-05)
  → 'github:mikesmithgh/kitty-scrollback.nvim/22f524f1fa9c7660804a1800ed0fe981c5d392c8?narHash=sha256-LICARktpc04vaHpFuAFDrZsYKy2HJme6LMtoXMi7jJ8%3D' (2024-04-25)
• Updated input 'nextcloud-external':
    'https://github.com/nextcloud-releases/external/releases/download/v5.3.1/external-v5.3.1.tar.gz?narHash=sha256-RCL2RP5twRDLxI/KfAX6QLYQOzqZmSWsfrC5ZQIwTD4%3D' (2023-11-10)
  → 'https://github.com/nextcloud-releases/external/releases/download/v5.3.1/external-v5.3.1.tar.gz?narHash=sha256-RCL2RP5twRDLxI/KfAX6QLYQOzqZmSWsfrC5ZQIwTD4%3D' (2023-11-10)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.32.0-nextcloud.tar.gz?narHash=sha256-UeZXoZFEPJj7zEVNTXJ3IYNt/wI7VFq3Pjh1ubMHCBo%3D' (2024-04-14)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.32.0-nextcloud.tar.gz?narHash=sha256-o4UghtYKc3Bh9IoKnOwjHCIKHt6tZ5vPdLjHFpIPmE0%3D' (2023-12-26)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/d942db8df8ee860556a38754f15b8d03bf7e6933?narHash=sha256-yYlxv1sg/TNl6hghjAe0ct%2B/p5PwXiT1mpuaExjhR88%3D' (2024-04-08)
  → 'github:nix-community/nixos-generators/722b512eb7e6915882f39fff0e4c9dd44f42b77e?narHash=sha256-3yh0nqI1avYUmmtqqTW3EVfwaLE%2B9ytRWxsA5aWtmyI%3D' (2024-04-22)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/1042fd8b148a9105f3c0aca3a6177fd1d9360ba5?narHash=sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw%3D' (2024-04-10)
  → 'github:nixos/nixpkgs/572af610f6151fd41c212f897c71f7056e3fb518?narHash=sha256-cfh1hi%2B6muQMbi9acOlju3V1gl8BEaZBXBR9jQfQi4U%3D' (2024-04-23)
• Updated input 'nur':
    'github:nix-community/nur/1e6e9f41f0fbdcba7ca505a7d54128bc2f1053d6?narHash=sha256-zON2LEPO98NiUtOItgu%2BVz1uWkrUbt5zJbzf5XCm71Y%3D' (2024-04-14)
  → 'github:nix-community/nur/23ec6b3cf4882a7b39685837368af00744d8cb6e?narHash=sha256-I7oJlmcyCo0EuqGiIgJYY/OtqzyJz7pdq71sLD5mnyQ%3D' (2024-04-25)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/4055dc856d5ac8f6b85748006fd8fa6457e086e8?narHash=sha256-FgHWOiF%2BoMXVISP/k2rt7epEEjFS/sYLnEpe85B5Ox0%3D' (2024-04-09)
  → 'github:mfussenegger/nvim-lint/f098232d70cebe90e27404928c9bc19ca7a5a7b5?narHash=sha256-QyS%2BxSIOVbJdf/vLU0o8fdZrQ%2BMssolTyg75ZSnP0fY%3D' (2024-04-16)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/81eb8d519233c105f30dc0a278607e62b20502fd?narHash=sha256-6pbOeklf%2BotsJIjt9IUyUfuTAedShnwERYq1IfhyrJs%3D' (2024-04-06)
  → 'github:kyazdani42/nvim-tree.lua/5a18b9827491aa1aea710bc9b85c6b63ed0dad14?narHash=sha256-VMyVrgcgqx52QIy/q0oAuJNuxMNPAgPX3bi1LP27Iho%3D' (2024-04-25)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/d2f4c7830377d6d036e9621ae696dbd28f089897?narHash=sha256-rtE1H24sKekGwTIMh7VXkwKVCbJtn8ms4ioK9gF%2BKxY%3D' (2024-04-14)
  → 'github:nvim-treesitter/nvim-treesitter/19c6b0c4c9b35962e45b782e2b85a3214d2ac4d5?narHash=sha256-1K%2Bvg99QjM7UiMLMN7m4trZYFR33BwyHZlsPOe6UOqE%3D' (2024-04-25)
• Updated input 'tree-sitter-puppet':
    'github:amaanq/tree-sitter-puppet/5849f9694197a6e822872945b415429c285fdd54?narHash=sha256-Lwfiby7amjTIOz8QRoC4RdZyFPfFikmQ2sqta4akyH8%3D' (2024-03-03)
  → 'github:amaanq/tree-sitter-puppet/584522f32495d648b18a53ccb52d988e60de127d?narHash=sha256-%2BzMgzyuGerJ8l%2Bi5ZtWnmGr3i4fFiSLD5FssyKESsmI%3D' (2024-04-20)
• Updated input 'tree-sitter-vimdoc':
    'github:neovim/tree-sitter-vimdoc/a75a932449675bbd260213a95f4cd8b3193286f0?narHash=sha256-spj8h1ZDY%2B6sWi%2BFCALapBsG%2Big9H1u3bjkI2%2BUP0ds%3D' (2024-03-23)
  → 'github:neovim/tree-sitter-vimdoc/b711df784dd43d0a8ed8ddbfca0ddcc3239d94b4?narHash=sha256-%2BQbLL5EC3oNiwd7h7MW/mutHhGPUHhbYTQcu6x6atcI%3D' (2024-04-22)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/0479d4c1ebeb314c5281b4aa7109def821a1b27b?narHash=sha256-VgCqYB%2BymQuZmno8B82L8piyENo5xTNuqubnACYoBRk%3D' (2024-04-13)
  → 'github:nix-community/NixOS-WSL/f41f95c2c187a49a4ef98b5d00fdf1a68c5f88ba?narHash=sha256-q3zu2D5HVphfAMZ070o/K9IPxw5DLsLkvwr7H1b5fpE%3D' (2024-04-24)
2024-04-25 16:30:29 +00:00
c066d27909 switch from proton-ge overlay to nixpkgs proton-ge-bin 2024-04-25 12:21:34 -04:00
e43fc0f8db move all files to new nixfmt rfc 2024-04-20 09:42:06 -04:00
b23efc4d77 bpc repo moved to github 2024-04-17 21:03:41 -04:00
2258e68bc2 reformat and remove unnecessary edition from rustfmt 2024-04-14 21:46:15 -04:00
bb23e9fdbe flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/79eab0e82cb126bf4ac170f44af82479f0895ab5' (2024-04-08)
  → 'github:nix-community/disko/8d4ae698eaac8bd717e23507da2ca8b345bec4b5' (2024-04-12)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/49b3ee7dbb9fdbb6388bd5d47895a9a9992b771e' (2024-04-09)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/10e4a50241d6bbae62754efda7bc4b48dd4aa2c1' (2024-04-14)
• Updated input 'home-manager':
    'github:nix-community/home-manager/b00d0e4fe9cba0047f54e77418ddda5f17e6ef2c' (2024-04-09)
  → 'github:nix-community/home-manager/630a0992b3627c64e34f179fab68e3d48c6991c0' (2024-04-14)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.32.0-nextcloud.tar.gz?narHash=sha256-UeZXoZFEPJj7zEVNTXJ3IYNt/wI7VFq3Pjh1ubMHCBo%3D' (2024-04-09)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.32.0-nextcloud.tar.gz?narHash=sha256-UeZXoZFEPJj7zEVNTXJ3IYNt/wI7VFq3Pjh1ubMHCBo%3D' (2024-04-14)
• Updated input 'nur':
    'github:nix-community/nur/ee4ce451f46a08778d1a9f9837eff0750714b08b' (2024-04-09)
  → 'github:nix-community/nur/1e6e9f41f0fbdcba7ca505a7d54128bc2f1053d6' (2024-04-14)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/c16f66cca0c38b4e21371d8330b7f2ad6404f6dc' (2024-04-09)
  → 'github:nvim-treesitter/nvim-treesitter/d2f4c7830377d6d036e9621ae696dbd28f089897' (2024-04-14)
• Updated input 'tree-sitter-bash':
    'github:tree-sitter/tree-sitter-bash/f3f26f47a126797c011c311cec9d449d855c3eab' (2024-03-13)
  → 'github:tree-sitter/tree-sitter-bash/f8fb3274f72a30896075585b32b0c54cad65c086' (2024-04-11)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/aef95bdb6800a3a2af7aa7083d6df03067da6592' (2024-03-15)
  → 'github:nix-community/NixOS-WSL/0479d4c1ebeb314c5281b4aa7109def821a1b27b' (2024-04-13)
• Updated input 'wsl/flake-utils':
    'github:numtide/flake-utils/1ef2e671c3b0c19053962c07dbda38332dcebf26' (2024-01-15)
  → 'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a' (2024-03-11)
2024-04-14 12:32:23 +00:00
358206f6fb arrow image package derivation 2024-04-14 08:28:39 -04:00
402d168304 remove aws and clean up arrow 2024-04-14 08:08:57 -04:00
1865f6985e automatically fetch notes 2024-04-14 04:21:59 +00:00
c338ff5579 color update and decrypt git zfs dataset 2024-04-14 04:07:04 +00:00
bf58cf62d3 fix dns issues with ipv6 and local bind 2024-04-14 03:43:58 +00:00
520f0587c8 increase aerc check-mail timeout
due to purelymail backend (issue 213)
2024-04-13 09:49:56 -04:00
81f2c6372e required update to nixpkgs bc electron doesn't work 2024-04-13 09:49:41 -04:00
b4b2a7f511 temp: don't have latest.xpi for bpc 2024-04-13 09:49:41 -04:00
bc2d0a347d replace white background diagram with transparent 2024-04-13 09:09:54 -04:00
07137fdd91 apply new nix fmt specification 2024-04-13 09:03:44 -04:00
e8e0c97e59 temp: replace bpc-uploads with my own version
because it was removed from gitlab
2024-04-13 09:02:41 -04:00
83496bcad1 no reason to have 122 in firewall 2024-04-13 09:01:56 -04:00
7d82e18c4d update flake and fix nixfmt after update 2024-04-09 17:54:22 -04:00
3c2a971fc4 fix: arrow as host must include filesystems 2024-04-09 17:06:13 -04:00
742fba29f9 include SSL CA in docs 2024-04-02 07:59:04 -07:00
56da4afb5b update gh collaborators to latest go builder 2024-04-02 07:58:30 -07:00
2088d82252 add cleanup step for dns record after tf destroy 2024-03-30 19:47:43 +00:00
566a654f5b don't enable dyndns for services not running 2024-03-30 14:48:56 -04:00
1462214a8e remove league of legends option 2024-03-30 14:47:49 -04:00
efc7daf5fc fix: don't enable thelounge dyndns everywhere 2024-03-30 14:40:24 -04:00
fa582fcc34 fix: chained ternary operator in workflow 2024-03-30 14:32:30 -04:00
c66cedf146 use variable for vultr plan 2024-03-30 14:30:02 -04:00
8dde578676 try multiple ternary option for arrow workflow 2024-03-30 14:07:36 -04:00
5e1534451d don't enable cloudflare-dyndns unless domain list is non-empty 2024-03-30 18:03:52 +00:00
c4a1c7564c remove league of legends as anticheat no longer supports linux 2024-03-30 13:48:26 -04:00
0de2c429f2 fix path for transmission if not in download 2024-03-30 13:48:10 -04:00
eb6b72a25c try updating workflow name 2024-03-30 13:07:06 -04:00
0618fc3962 try binding to wait for identity service to complete
and see if remainafterexit fixes one of the issues
2024-03-30 13:01:34 -04:00
1b7e4687e4 fix: add default value for noproxy dns 2024-03-30 12:34:37 -04:00
9f33371daf update arrow images bucket to use single subdomain 2024-03-30 11:59:18 -04:00
bbc529287d fix: add second no-proxy dyndns for minecraft and others 2024-03-30 15:56:58 +00:00
f757e4a894 add cloudflare-dyndns domains for flame 2024-03-30 15:41:18 +00:00
5cb7b87e74 fix: can't restart systemd from post while also a requirement
oneshot requirements wait for programs to exit anyway
2024-03-30 15:41:07 +00:00
a853352a57 don't sign commits globally, only for personal 2024-03-27 15:02:20 -04:00
a15c05491e git ssh signing 2024-03-26 13:07:26 -04:00
82f7da5858 add temp comment for ldap host option 2024-03-26 12:23:41 -04:00
5d34ed5a68 reset launcher location on every launch 2024-03-26 12:23:27 -04:00
f73c52e2b7 fix: mac dock persistent-apps correction 2024-03-26 12:23:01 -04:00
fecd66465d remove wappalyzer completely 2024-03-26 12:01:32 -04:00
9b0d363909 fix: mac dock persistent-apps now supported directly 2024-03-26 12:01:13 -04:00
400d45df39 add ssm session manager for aws 2024-03-26 11:21:32 -04:00
634805d36d fix: ocr file not found errors 2024-03-26 11:17:54 -04:00
db051a737e switch restart script to multiline script 2024-03-24 21:52:34 -04:00
cbf0d2680c fix: multiline execstartpost 2024-03-24 19:23:41 -04:00
316439dc9a fix: chmod for ssh keys 2024-03-24 18:51:35 -04:00
edaf95cc1c fix: forgot to add auth to ssh 2024-03-24 18:50:23 -04:00
5f867fa2dd fix: typo 2024-03-24 18:31:28 -04:00
bdaf63da20 try to restart services after waiting for identity file 2024-03-24 18:25:26 -04:00
c12d54314e fix: home-manager won't start with low mem
issue caused by nix-index memory usage
2024-03-24 18:25:18 -04:00
f50bbeba94 increase grub boot delay for switching os 2024-03-24 18:04:43 -04:00
848c8aac5f Host key verification 2024-03-24 17:39:38 -04:00
488b5d61fd switch ssh wait with a script 2024-03-24 15:34:12 -04:00
6b5892eb1d make identity wait a finite amount 2024-03-24 15:15:07 -04:00
c3be92dcaf fix: s3 cp failing in github actions 2024-03-24 15:06:50 -04:00
64bee30b17 fixes to cloudflare dyndns and ssh 2024-03-24 15:04:40 -04:00
568fdc7491 temp: skip wait for identity 2024-03-24 14:55:17 -04:00
8585574100 more aws config changes 2024-03-24 14:39:18 -04:00
6b37ba13c9 tf init with definition in main 2024-03-24 14:36:23 -04:00
efac745bdd add skip account id to the backend init 2024-03-24 14:31:22 -04:00
7e0a0bbbd2 try mixing up secrets 2024-03-24 14:29:51 -04:00
16e228b7b0 fix: formatting for just the specific folder 2024-03-24 14:24:09 -04:00
277c400248 forgot to add access key vars to s3 cmd 2024-03-24 14:22:57 -04:00
2b03dd5198 try updated caddy vendorhash 2024-03-24 14:04:28 -04:00
bdd922d318 fix: boolean input in gh action 2024-03-24 14:00:38 -04:00
6b2dfb4aa9 fix: tf formatting 2024-03-24 13:59:36 -04:00
67ab65fa16 introduce arrow host and deployment 2024-03-24 13:16:20 -04:00
b06ebc7185 update proton-ge 2024-03-23 09:36:03 -04:00
a30b189207 remove unnecessary firefox addons 2024-03-18 22:48:27 -04:00
eb3c1f7a4c Revert "kvm replaces hdmi monitor w displayport"
This reverts commit bbdfeb645e.
2024-03-18 22:48:12 -04:00
c697cd4e38 flake.lock: Update
Flake lock file updates:

• Updated input 'bypass-paywalls-clean':
    'gitlab:magnolia1234/bpc-uploads/6e9521ff11ed960d865268078dff00d81e859fbf' (2024-02-26)
  → 'gitlab:magnolia1234/bpc-uploads/0ca7c6a857e4e6c3e508228168e8de70e21cee3a' (2024-03-04)
• Updated input 'darwin':
    'github:lnl7/nix-darwin/17c2ca3c7537a2512224242b84e1ea3c08e79b92' (2024-03-03)
  → 'github:lnl7/nix-darwin/550340062c16d7ef8c2cc20a3d2b97bcd3c6b6f6' (2024-03-07)
• Updated input 'disko':
    'github:nix-community/disko/bde7dd352c07d43bd5b8245e6c39074a391fdd46' (2024-03-01)
  → 'github:nix-community/disko/72818e54ec29427f8d9f9cfa6fc859d01ca6dc66' (2024-03-09)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/144a94dc71410d9655e4e73ac4579e9b7405572b' (2024-03-03)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/e9883b75736b2d33787c9326d27d719a644b1c35' (2024-03-10)
• Updated input 'home-manager':
    'github:nix-community/home-manager/2f3367769a93b226c467551315e9e270c3f78b15' (2024-02-29)
  → 'github:nix-community/home-manager/b0b0c3d94345050a7f86d1ebc6c56eea4389d030' (2024-03-09)
• Updated input 'kitty-scrollback-nvim-src':
    'github:mikesmithgh/kitty-scrollback.nvim/93b4286c4e2c9d4a73ccbefb3adbc688d3ed5fe4' (2024-02-21)
  → 'github:mikesmithgh/kitty-scrollback.nvim/c3014974e4cd498a534ff814761ef794ebb85d01' (2024-03-10)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.32.0-nextcloud.tar.gz?narHash=sha256-UeZXoZFEPJj7zEVNTXJ3IYNt/wI7VFq3Pjh1ubMHCBo%3D' (2024-03-03)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.32.0-nextcloud.tar.gz?narHash=sha256-UeZXoZFEPJj7zEVNTXJ3IYNt/wI7VFq3Pjh1ubMHCBo%3D' (2024-03-10)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/2c9562e7624fa1b50983fc18d504bf86202bef49' (2024-02-29)
  → 'github:nix-community/nixos-generators/bef32a05496d9480b02be586fa7827748b9e597b' (2024-03-08)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/479831ed8b3c9c7b80533999f880c7d0bf6a491b' (2024-02-25)
  → 'github:nix-community/nixpkgs.lib/7873d84a89ae6e4841528ff7f5697ddcb5bdfe6c' (2024-03-03)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/1536926ef5621b09bba54035ae2bb6d806d72ac8' (2024-02-29)
  → 'github:nixos/nixpkgs/9df3e30ce24fd28c7b3e2de0d986769db5d6225d' (2024-03-06)
• Updated input 'nur':
    'github:nix-community/nur/7cf254f2153f2d0cde346c6ea3ff158acf6a6609' (2024-03-03)
  → 'github:nix-community/nur/ff870a7e359c3f34fc1144c6c35f76003d6c17e7' (2024-03-10)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/efafd73efa9bc8c26282aed563ba0f01c7465b06' (2024-03-03)
  → 'github:kyazdani42/nvim-tree.lua/041dbd18f440207ad161503a384e7c82d575db66' (2024-03-09)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/e3e5ff4ebddcbfa8f5798253ebd1f9b449e8ee69' (2024-03-02)
  → 'github:nvim-treesitter/nvim-treesitter/7ff51f53b0efb6228df2e8539b51bb2e737b77f3' (2024-03-09)
• Updated input 'tree-sitter-puppet':
    'github:amaanq/tree-sitter-puppet/3641b9e854ac9c84c7576e71c4c9a357bcfd9550' (2024-02-18)
  → 'github:amaanq/tree-sitter-puppet/5849f9694197a6e822872945b415429c285fdd54' (2024-03-03)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/22d3f87bdafac2782e907330babe4af574f5d0b4' (2024-02-27)
  → 'github:tree-sitter/tree-sitter-python/03e88c170cb23142559a406b6e7621c4af3128f5' (2024-03-06)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/3257ad7f173b0314c8a42fec450fa6556495b97c' (2024-02-29)
  → 'github:nix-community/NixOS-WSL/e0b9e6c8ff35c7a28cb6baa02d85a9737a2ee4e9' (2024-03-09)
2024-03-10 03:44:43 +00:00
661ef8dcbf significantly improved ldapsearch with jq
improve ldapsearch secondary queries
2024-03-08 09:27:33 -05:00
ec09db42e6 use built-in git diff highlight by default 2024-03-06 11:47:57 -05:00
3403924105 add difftastic for more fancy diffs 2024-03-06 11:22:35 -05:00
3d234072f6 add delta for fancy diffs 2024-03-06 11:19:37 -05:00
b39cda6b84 fix: zfs noauto encrypted pool still requesting passphrase on reboot 2024-03-04 13:01:07 +00:00
47be4291a3 flake.lock: Update
Flake lock file updates:

• Updated input 'bypass-paywalls-clean':
    'gitlab:magnolia1234/bpc-uploads/47c602fb1253ff05b3654da4a6d375978f6a43fd' (2024-02-12)
  → 'gitlab:magnolia1234/bpc-uploads/6e9521ff11ed960d865268078dff00d81e859fbf' (2024-02-26)
• Updated input 'darwin':
    'github:lnl7/nix-darwin/0e6857fa1d632637488666c08e7b02c08e3178f8' (2024-02-18)
  → 'github:lnl7/nix-darwin/17c2ca3c7537a2512224242b84e1ea3c08e79b92' (2024-03-03)
• Updated input 'disko':
    'github:nix-community/disko/d8a4377cd8eec23668ea3fae07efee9d5782cb91' (2024-02-18)
  → 'github:nix-community/disko/bde7dd352c07d43bd5b8245e6c39074a391fdd46' (2024-03-01)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/2ab9b39e98497584ba952cacb8dfadf8492fd28d' (2024-02-18)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/144a94dc71410d9655e4e73ac4579e9b7405572b' (2024-03-03)
• Updated input 'home-manager':
    'github:nix-community/home-manager/3d6791b3897b526c82920a2ab5f61d71985b3cf8' (2024-02-15)
  → 'github:nix-community/home-manager/2f3367769a93b226c467551315e9e270c3f78b15' (2024-02-29)
• Updated input 'kitty-scrollback-nvim-src':
    'github:mikesmithgh/kitty-scrollback.nvim/78dd609368aa20bd6fbd801cce73ea30787ebe21' (2024-02-13)
  → 'github:mikesmithgh/kitty-scrollback.nvim/93b4286c4e2c9d4a73ccbefb3adbc688d3ed5fe4' (2024-02-21)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.32.0-nextcloud.tar.gz?narHash=sha256-UeZXoZFEPJj7zEVNTXJ3IYNt/wI7VFq3Pjh1ubMHCBo%3D' (2024-01-21)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.32.0-nextcloud.tar.gz?narHash=sha256-UeZXoZFEPJj7zEVNTXJ3IYNt/wI7VFq3Pjh1ubMHCBo%3D' (2024-03-03)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/0aa24e93f75370454f0e03747b6836ac2a2c9fca' (2024-02-14)
  → 'github:nix-community/nixos-generators/2c9562e7624fa1b50983fc18d504bf86202bef49' (2024-02-29)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/f5af57d3ef9947a70ac86e42695231ac1ad00c25' (2023-09-03)
  → 'github:nix-community/nixpkgs.lib/479831ed8b3c9c7b80533999f880c7d0bf6a491b' (2024-02-25)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/5863c27340ba4de8f83e7e3c023b9599c3cb3c80' (2024-02-16)
  → 'github:nixos/nixpkgs/1536926ef5621b09bba54035ae2bb6d806d72ac8' (2024-02-29)
• Updated input 'nur':
    'github:nix-community/nur/c4296c55625e5394c142d5c07c00cddb76d5241b' (2024-02-18)
  → 'github:nix-community/nur/7cf254f2153f2d0cde346c6ea3ff158acf6a6609' (2024-03-03)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/31be66c27214174a28fc092ffcf4bb3e8f6cfd43' (2024-02-16)
  → 'github:mfussenegger/nvim-lint/e824adb9bc01647f71e55457353a68f0f37f9931' (2024-02-29)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/d35a8d5ec6358ada4b058431b367b32360737466' (2024-02-18)
  → 'github:kyazdani42/nvim-tree.lua/efafd73efa9bc8c26282aed563ba0f01c7465b06' (2024-03-03)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/5e4b657181516e4aaf03ccbb4b21eca3b62b07dc' (2024-02-18)
  → 'github:nvim-treesitter/nvim-treesitter/e3e5ff4ebddcbfa8f5798253ebd1f9b449e8ee69' (2024-03-02)
• Updated input 'tree-sitter-lua':
    'github:MunifTanjim/tree-sitter-lua/9668709211b2e683f27f414454a8b51bf0a6bda1' (2023-09-07)
  → 'github:MunifTanjim/tree-sitter-lua/04c9579dcb917255b2e5f8199df4ae7f587d472f' (2024-02-21)
• Updated input 'tree-sitter-puppet':
    'github:amaanq/tree-sitter-puppet/9ce9a5f7d64528572aaa8d59459ba869e634086b' (2023-07-24)
  → 'github:amaanq/tree-sitter-puppet/3641b9e854ac9c84c7576e71c4c9a357bcfd9550' (2024-02-18)
• Updated input 'tree-sitter-python':
    'github:tree-sitter/tree-sitter-python/deba2badc88afd18e6cbd4341ee3c18c3a9bb4ed' (2024-02-14)
  → 'github:tree-sitter/tree-sitter-python/22d3f87bdafac2782e907330babe4af574f5d0b4' (2024-02-27)
• Updated input 'tree-sitter-vimdoc':
    'github:neovim/tree-sitter-vimdoc/ed8695ad8de39c3f073da130156f00b1148e2891' (2024-01-17)
  → 'github:neovim/tree-sitter-vimdoc/016ad75faa854e4e13bc40c517015183b795eed9' (2024-03-02)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/c8ddba82ca6b791be1acaae4b336ff8e857ec70b' (2024-02-12)
  → 'github:nix-community/NixOS-WSL/3257ad7f173b0314c8a42fec450fa6556495b97c' (2024-02-29)
2024-03-03 03:44:57 +00:00
67f7506636 update size for git repos and kitty scrollback 2024-02-28 16:11:03 -05:00
bbdfeb645e kvm replaces hdmi monitor w displayport 2024-02-28 07:55:18 -05:00
7f60d88f30 automatically use autosquash for rebase 2024-02-28 07:55:03 -05:00
8babcf342b convert nextcloud db from mysql to postgres 2024-02-25 22:31:02 +00:00
a5ec39cd2a map users to generic postgres roles 2024-02-25 21:14:04 +00:00
63434c8309 docs: add new users to thelounge 2024-02-25 19:03:58 +00:00
1a5fe54d06 jujutsu shell integration setting deprecated 2024-02-25 19:01:59 +00:00
b2cfdc1fdf add thelounge irc client 2024-02-25 18:50:00 +00:00
3a4568bc69 add gc for home-manager
move gc options into nixpkgs file
2024-02-19 09:45:00 -05:00
203bb6a13a increase generation cleanup limit
just in case it fails from one upgrade week to the next
2024-02-19 14:28:50 +00:00
4bfd65acb3 fix: new disko format of disks wouldn't boot 2024-02-19 14:28:13 +00:00
d636de890c try to add firefox as mime html reader 2024-02-18 10:35:01 -05:00
1e9401eef2 update disko config to new format 2024-02-18 09:41:48 -05:00
ea67467cbf fix: alias nvim-base16 is still in vim-plugins
not sure what it means so i had to package it myself
2024-02-18 09:26:23 -05:00
fc6bdeb1ad temp: himalaya notmuch broken but config still works 2024-02-18 09:06:15 -05:00
2758637953 fix typo in readme 2024-02-16 22:47:32 -05:00
f747c80c2a update proton-ge and improve install to steam 2024-02-16 22:26:17 -05:00
013f67c0a8 partially fill out vars for git 2024-02-16 20:56:28 -05:00
fb145e5772 monochrome polybar icons 2024-02-16 20:56:03 -05:00
408b329684 temp: disable jj fish integration 2024-02-13 09:49:32 -05:00
ad70457600 fix: compress menu bar icons 2024-02-13 09:49:22 -05:00
f54f7b6e2e fix: launching obsidian built by nix on macos 2024-02-13 09:48:56 -05:00
2700efa6e4 increase format timeout in neovim 2024-02-11 22:28:05 -05:00
e44adf4568 rust-analyzer: ignore direnv folder 2024-02-11 16:20:23 -05:00
471b258ff7 update flake.lock 2024-02-11 16:20:06 -05:00
ac6329baf6 patch kitty-scrollback-nvim because health check depends on git 2024-02-10 21:41:19 -05:00
a61ac456a9 fix: neovim refactor adjusted reference for kitty-scrollback 2024-02-10 21:15:28 -05:00
cf77adb366 neovim lsp refactor
remove null-ls (archived, deprecated)
replace formatting with conform.nvim
replace diagnostics with nvim-lint
fixed issue where overlay neovim plugins weren't being applied
2024-02-10 21:04:37 -05:00
2217568a59 clean up commented xdg mime associations 2024-02-10 09:18:37 -05:00
05deb5b979 fix paperless permissions with umask
instead of running a systemd service timer
2024-02-10 01:40:04 +00:00
8621e2375d fix: nextcloud extraOptions renamed 2024-02-10 01:37:21 +00:00
25975da0c1 reenable visidata on mac 2024-02-09 10:33:17 -05:00
a79719c21a fix: atuin search keybind 2024-02-09 09:51:29 -05:00
5aea58df79 clean up hammerspoon on m3 w display
for some reason, i need to multiply x to line up half-max frames
2024-02-08 15:28:46 -05:00
1833bfddfb prefer kitty to not start fullscreen on m3 macbook pro 2024-02-07 23:14:06 -05:00
6c2fc0289b drop apache-directory-studio in favor of ldapsearch
apache directory studio can't figure out how to make it work on m3
2024-02-07 22:08:22 -05:00
5034ada458 add time format to meetingbar and remove scroll zoom
scroll wheel zoom updates don't work for whatever reason
2024-02-07 21:23:01 -05:00
e635cf6225 fix: deprecated option 2024-02-06 23:41:28 -05:00
b901eef822 use nsixv for png images 2024-02-06 22:12:14 -05:00
e7cdfc1453 include non-zero animation in macos window movement 2024-02-06 17:43:44 -05:00
7503335701 add 1password cli everywhere 2024-02-06 17:43:27 -05:00
0b571e4565 partially move macos dock apps to declarative list 2024-02-04 21:09:25 -07:00
f91c9bcfc2 move macos preferences from imperative to declarative 2024-02-04 13:56:16 -07:00
b27b9136f9 remove ansible (no longer used) 2024-02-04 10:03:29 -07:00
865dad0f4f Revert "remove ansible (no longer used)"
This reverts commit 3178a1dea9.
2024-02-04 10:02:50 -07:00
3178a1dea9 remove ansible (no longer used) 2024-02-04 10:02:39 -07:00
af1b6c8b35 add rep and ren (without rep) 2024-02-04 08:33:42 -07:00
89e8463b98 remove unneeded temp fix for terraform on darwin 2024-02-04 08:33:42 -07:00
01eccb6655 flake.lock: Update
Flake lock file updates:

• Updated input 'bypass-paywalls-clean':
    'gitlab:magnolia1234/bpc-uploads/245899e6b06e30ce36f26b37b8045b6c5b0ac8de' (2024-01-23)
  → 'gitlab:magnolia1234/bpc-uploads/c91cfd510390ab5a138f412ad2890b2cb2a2eafd' (2024-02-02)
• Updated input 'darwin':
    'github:lnl7/nix-darwin/0108864c15bb68ad57d17fb2e7d3a3e025751d79' (2024-01-28)
  → 'github:lnl7/nix-darwin/bdbae6ecff8fcc322bf6b9053c0b984912378af7' (2024-02-02)
• Updated input 'disko':
    'github:nix-community/disko/f7424625dc1f2e4eceac3009cbd1203d566feebc' (2024-01-26)
  → 'github:nix-community/disko/f67ba6552845ea5d7f596a24d57c33a8a9dc8de9' (2024-01-29)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/912228b33c72703badb20a309518e1e09af302c3' (2024-01-28)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/d839feb516758ad28bc1cef43008d55e749c1d6a' (2024-02-04)
• Updated input 'hmts-nvim-src':
    'github:calops/hmts.nvim/14fd941d7ec2bb98314a1aacaa2573d97f1629ab' (2023-08-28)
  → 'github:calops/hmts.nvim/ba1239972a1f56b94252d4f85a43e777ac419662' (2024-02-02)
• Updated input 'home-manager':
    'github:nix-community/home-manager/b2f56952074cb46e93902ecaabfb04dd93733434' (2024-01-26)
  → 'github:nix-community/home-manager/1ca210648a6ca9b957efde5da957f3de6b1f0c45' (2024-02-03)
• Updated input 'kitty-scrollback-nvim-src':
    'github:mikesmithgh/kitty-scrollback.nvim/bb5332b8ec0763b9e611f8cabf4165ed8c3893f5' (2024-01-29)
  → 'github:mikesmithgh/kitty-scrollback.nvim/12f7687ac049d46a987c39b2b4f657fdf540fa4e' (2024-02-02)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.32.0-nextcloud.tar.gz?narHash=sha256-UeZXoZFEPJj7zEVNTXJ3IYNt/wI7VFq3Pjh1ubMHCBo%3D' (2024-01-28)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.32.0-nextcloud.tar.gz?narHash=sha256-UeZXoZFEPJj7zEVNTXJ3IYNt/wI7VFq3Pjh1ubMHCBo%3D' (2024-02-04)
• Updated input 'nix2vim':
    'github:gytis-ivaskevicius/nix2vim/84584da274869fb8177e8ef2d0b9d975bbb82489' (2024-01-28)
  → 'github:gytis-ivaskevicius/nix2vim/29253dcf0f645a44847006d436b096369ef42fd8' (2024-02-02)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/ae5c332cbb5827f6b1f02572496b141021de335f' (2024-01-25)
  → 'github:nixos/nixpkgs/b8b232ae7b8b144397fdb12d20f592e5e7c1a64d' (2024-01-31)
• Updated input 'nur':
    'github:nix-community/nur/ab8cf147ee2254ef91e87ff7272524975fcbba3f' (2024-01-28)
  → 'github:nix-community/nur/ab432acea15134873882610c0e936a882319bc8a' (2024-02-04)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/7bdb220d0fe604a77361e92cdbc7af1b8a412126' (2024-01-21)
  → 'github:kyazdani42/nvim-tree.lua/f39f7b6fcd3865ac2146de4cb4045286308f2935' (2024-01-29)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/458ce4d16c1771fc601ec10a87820acae9981f6d' (2024-01-27)
  → 'github:nvim-treesitter/nvim-treesitter/4fbf150a1621d52f17b099506e1a32f107079210' (2024-02-03)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/31346e340e828f79be23d9c83ec1674b152f17bc' (2024-01-24)
  → 'github:nix-community/NixOS-WSL/bcae8dc73b931b7f0fc65f1f1ef93dc379dfd66b' (2024-02-02)
2024-02-04 03:44:18 +00:00
e7f8a75df3 fix k9s to work with new config workflow 2024-01-30 10:37:05 -07:00
fa03e51d37 add meetingbar cmd opt ctrl j shortcut 2024-01-30 10:22:08 -07:00
fe1a4c2c29 switch to kitty-scrollback.nvim
still has problems with ergonomics
2024-01-30 09:57:38 -07:00
26afa49879 bump neovim plugins and remove unnecessary overlays
clean checkhealth but some possible bugs in bufferline
2024-01-27 21:46:40 -07:00
94bc6662ed fix pr body template for flake updates 2024-01-27 21:20:01 -07:00
06c1f5c372 flake.lock: Update
Flake lock file updates:

• Updated input 'bypass-paywalls-clean':
    'gitlab:magnolia1234/bpc-uploads/55af5ff1f6a7f8ea7fc57253029c07de8f481c62' (2024-01-18)
  → 'gitlab:magnolia1234/bpc-uploads/245899e6b06e30ce36f26b37b8045b6c5b0ac8de' (2024-01-23)
• Updated input 'darwin':
    'github:lnl7/nix-darwin/3ac7acd32db4f7111015e8d5349ff6067df01bf6' (2024-01-21)
  → 'github:lnl7/nix-darwin/0108864c15bb68ad57d17fb2e7d3a3e025751d79' (2024-01-28)
• Updated input 'disko':
    'github:nix-community/disko/0033adc6e3f1ed076f3ed1c637ef1dfe6bef6733' (2024-01-18)
  → 'github:nix-community/disko/f7424625dc1f2e4eceac3009cbd1203d566feebc' (2024-01-26)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/51cc53fd6e6a1625a00565f110edc09f9ea7cfd9' (2024-01-21)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/912228b33c72703badb20a309518e1e09af302c3' (2024-01-28)
• Updated input 'home-manager':
    'github:nix-community/home-manager/9b378afae72cb07471e19aefc30e8e05ef2d7a61' (2024-01-20)
  → 'github:nix-community/home-manager/b2f56952074cb46e93902ecaabfb04dd93733434' (2024-01-26)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.32.0-nextcloud.tar.gz?narHash=sha256-UeZXoZFEPJj7zEVNTXJ3IYNt/wI7VFq3Pjh1ubMHCBo%3D' (2024-01-21)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.32.0-nextcloud.tar.gz?narHash=sha256-UeZXoZFEPJj7zEVNTXJ3IYNt/wI7VFq3Pjh1ubMHCBo%3D' (2024-01-28)
• Updated input 'nix2vim':
    'github:gytis-ivaskevicius/nix2vim/3836a348503ae27340c7f83f0bc7bcb907f3781d' (2023-06-05)
  → 'github:gytis-ivaskevicius/nix2vim/84584da274869fb8177e8ef2d0b9d975bbb82489' (2024-01-28)
• Updated input 'nix2vim/flake-utils':
    'github:numtide/flake-utils/a1720a10a6cfe8234c0e93907ffe81be440f4cef' (2023-05-31)
  → 'github:numtide/flake-utils/1ef2e671c3b0c19053962c07dbda38332dcebf26' (2024-01-15)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/521fb4cdd8a2e1a00d1adf0fea7135d1faf04234' (2024-01-16)
  → 'github:nix-community/nixos-generators/896f6589db5b25023b812bbb6c1f5d3a499b1132' (2024-01-24)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/bbe7d8f876fbbe7c959c90ba2ae2852220573261' (2024-01-19)
  → 'github:nixos/nixpkgs/ae5c332cbb5827f6b1f02572496b141021de335f' (2024-01-25)
• Updated input 'nur':
    'github:nix-community/nur/ff6497ef576a1d88ef7ecb7e40e3a7cd9a410b2b' (2024-01-21)
  → 'github:nix-community/nur/ab8cf147ee2254ef91e87ff7272524975fcbba3f' (2024-01-28)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/74525ac04760bf0d9fec2bf51474d2b05f36048e' (2024-01-20)
  → 'github:kyazdani42/nvim-tree.lua/7bdb220d0fe604a77361e92cdbc7af1b8a412126' (2024-01-21)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/5cc562748729b6dc9563ea5a3d676ff102ab38b1' (2024-01-20)
  → 'github:nvim-treesitter/nvim-treesitter/458ce4d16c1771fc601ec10a87820acae9981f6d' (2024-01-27)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/bb3eeeb96ce059ae29309138874ccf58e796f4b1' (2024-01-15)
  → 'github:nix-community/NixOS-WSL/31346e340e828f79be23d9c83ec1674b152f17bc' (2024-01-24)
• Updated input 'wsl/flake-utils':
    'github:numtide/flake-utils/4022d587cbbfd70fe950c1e2083a02621806a725' (2023-12-04)
  → 'github:numtide/flake-utils/1ef2e671c3b0c19053962c07dbda38332dcebf26' (2024-01-15)
• Updated input 'zenyd-mpv-scripts':
    'github:zenyd/mpv-scripts/3ad7502fe2d6575b395db5568afdf830872c85d0' (2024-01-19)
  → 'github:zenyd/mpv-scripts/7100d19d18d111ce77fc9e6e8947c0d542a86397' (2024-01-26)
2024-01-28 04:16:16 +00:00
4dd94ee59d switch nixpath back to strings because of nixos
only works as list of attrsets in darwin
2024-01-27 21:06:23 -07:00
69dd348c92 fix: repos function fzf window too small 2024-01-25 14:57:29 -05:00
d823b2a49e fix: homebrew programs not in path 2024-01-25 14:57:18 -05:00
756177826c add code for macos meetingbar settings 2024-01-25 08:35:19 -05:00
c60632a37f tweaks for new mac 2024-01-25 07:55:31 -05:00
260 changed files with 9616 additions and 6340 deletions

166
.github/workflows/arrow-aws.yml vendored Normal file
View File

@ -0,0 +1,166 @@
name: Arrow (AWS)
run-name: Arrow (AWS) - ${{ inputs.rebuild && 'Rebuild and ' || '' }}${{ inputs.action == 'create' && 'Create' || ( inputs.action == 'destroy' && 'Destroy' || 'No Action' ) }}
env:
TERRAFORM_DIRECTORY: hosts/arrow/aws
DEPLOY_IDENTITY_BASE64: ${{ secrets.DEPLOY_IDENTITY_BASE64 }}
ARROW_IDENTITY_BASE64: ${{ secrets.ARROW_IDENTITY_BASE64 }}
ZONE_NAME: masu.rs
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ZONE_ID: ${{ secrets.CLOUDFLARE_ZONE_ID }}
on:
workflow_dispatch:
inputs:
rebuild:
type: boolean
default: false
action:
type: choice
required: true
default: create
options:
- create
- destroy
- nothing
size:
type: choice
required: false
options:
- t3a.small # 2 GB RAM / $10
permissions:
id-token: write
contents: write
jobs:
build-deploy:
name: Build and Deploy
runs-on: ubuntu-latest
steps:
- name: Checkout Repo Code
uses: actions/checkout@v4
- name: Free Disk Space (Ubuntu)
if: inputs.rebuild && inputs.action != 'destroy'
uses: jlumbroso/free-disk-space@main
with:
tool-cache: true
# Enable access to KVM, required to build an image
- name: Enable KVM group perms
if: inputs.rebuild && inputs.action != 'destroy'
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
# Login to AWS
- name: AWS Assume Role
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::286370965832:role/github_actions_admin
aws-region: us-east-1
# Install Nix
- name: Install Nix
if: inputs.rebuild && inputs.action != 'destroy'
uses: cachix/install-nix-action@v20
# Build the image
- name: Build Image
if: inputs.rebuild && inputs.action != 'destroy'
run: nix build .#arrow-aws
- name: Upload Image to S3
if: inputs.rebuild && inputs.action != 'destroy'
run: |
aws s3 cp \
result/nixos-amazon-image-*.vhd \
s3://${{ secrets.IMAGES_BUCKET }}/arrow.vhd \
# Installs the Terraform binary and some other accessory functions.
- name: Setup Terraform
uses: hashicorp/setup-terraform@v2
# Checks whether Terraform is formatted properly. If this fails, you
# should install the pre-commit hook.
- name: Check Formatting
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
run: |
terraform fmt -no-color -check -diff -recursive
# Connects to remote state backend and download providers.
- name: Terraform Init
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
run: |
terraform init \
-backend-config="bucket=${{ secrets.TERRAFORM_STATE_BUCKET }}" \
-backend-config="key=arrow.tfstate"
# Deploys infrastructure or changes to infrastructure.
- name: Terraform Apply
if: inputs.action == 'create'
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
env:
TF_VAR_ec2_size: ${{ inputs.size }}
TF_VAR_images_bucket: ${{ secrets.IMAGES_BUCKET }}
run: |
terraform apply \
-auto-approve \
-input=false
# Removes infrastructure.
- name: Terraform Destroy
if: inputs.action == 'destroy'
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
env:
TF_VAR_ec2_size: ${{ inputs.size }}
TF_VAR_images_bucket: ${{ secrets.IMAGES_BUCKET }}
run: |
terraform destroy \
-auto-approve \
-input=false
- name: Get Host IP
if: inputs.action == 'create'
id: host
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
run: terraform output -raw host_ip
- name: Wait on SSH
if: inputs.action == 'create'
run: |
for i in $(seq 1 15); do
if $(nc -z -w 3 ${{ steps.host.outputs.stdout }} 22); then
exit 0
fi
sleep 10
done
- name: Write Identity Keys to Files
if: inputs.action == 'create'
run: |
echo "${{ env.DEPLOY_IDENTITY_BASE64 }}" | base64 -d > deploy_ed25519
chmod 0600 deploy_ed25519
echo "${{ env.ARROW_IDENTITY_BASE64 }}" | base64 -d > arrow_ed25519
chmod 0600 arrow_ed25519
- name: Copy Identity File to Host
if: inputs.action == 'create'
run: |
ssh -i deploy_ed25519 -o StrictHostKeyChecking=accept-new noah@${{ steps.host.outputs.stdout }} 'mkdir -pv .ssh'
scp -i deploy_ed25519 arrow_ed25519 noah@${{ steps.host.outputs.stdout }}:~/.ssh/id_ed25519
- name: Wipe Records
if: ${{ inputs.action == 'destroy' }}
run: |
RECORD_ID=$(curl --request GET \
--url https://api.cloudflare.com/client/v4/zones/${{ env.CLOUDFLARE_ZONE_ID }}/dns_records \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer ${{ env.CLOUDFLARE_API_TOKEN }}" | jq -r '.result[] | select(.name == "n8n2.${{ env.ZONE_NAME }}") | .id')
curl --request DELETE \
--url https://api.cloudflare.com/client/v4/zones/${{ env.CLOUDFLARE_ZONE_ID }}/dns_records/${RECORD_ID} \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer ${{ env.CLOUDFLARE_API_TOKEN }}"

154
.github/workflows/arrow.yml vendored Normal file
View File

@ -0,0 +1,154 @@
name: Arrow
run-name: Arrow - ${{ inputs.rebuild && 'Rebuild and ' || '' }}${{ inputs.action == 'create' && 'Create' || ( inputs.action == 'destroy' && 'Destroy' || 'No Action' ) }}
env:
TERRAFORM_DIRECTORY: hosts/arrow/vultr
DEPLOY_IDENTITY_BASE64: ${{ secrets.DEPLOY_IDENTITY_BASE64 }}
ARROW_IDENTITY_BASE64: ${{ secrets.ARROW_IDENTITY_BASE64 }}
CLOUDFLARE_R2_ENDPOINT: "${{ secrets.CLOUDFLARE_ACCOUNT_ID }}.r2.cloudflarestorage.com"
AWS_ACCESS_KEY_ID: ${{ secrets.CLOUDFLARE_R2_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CLOUDFLARE_R2_SECRET_KEY }}
AWS_DEFAULT_REGION: auto
AWS_ENDPOINT_URL_S3: "https://${{ secrets.CLOUDFLARE_ACCOUNT_ID }}.r2.cloudflarestorage.com"
TF_VAR_vultr_api_key: ${{ secrets.VULTR_API_KEY }}
ZONE_NAME: masu.rs
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ZONE_ID: ${{ secrets.CLOUDFLARE_ZONE_ID }}
on:
workflow_dispatch:
inputs:
rebuild:
type: boolean
default: false
action:
type: choice
required: true
default: create
options:
- create
- destroy
- nothing
plan:
type: choice
required: false
options:
- vc2-1c-1gb # 25 GB / $5
- vc2-1c-2gb # 55 GB / $10 (default)
- vc2-2c-2gb # 65 GB / $15
- vc2-2c-4gb # 80 GB / $20
- vc2-4c-8gb # 160 GB / $40
- vc2-6c-16gb # 320 GB / $80
jobs:
build-deploy:
name: Build and Deploy
runs-on: ubuntu-latest
steps:
- name: Checkout Repo Code
uses: actions/checkout@v4
# Enable access to KVM, required to build an image
- name: Enable KVM group perms
if: inputs.rebuild && inputs.action != 'destroy'
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
# Install Nix
- name: Install Nix
if: inputs.rebuild && inputs.action != 'destroy'
uses: cachix/install-nix-action@v17
# Build the image
- name: Build Image
if: inputs.rebuild && inputs.action != 'destroy'
run: nix build .#arrow
- name: Upload Image to S3
if: inputs.rebuild && inputs.action != 'destroy'
run: |
aws s3 cp \
result/iso/nixos.iso \
s3://noahmasur-arrow-images/arrow.iso \
--endpoint-url "https://${{ env.CLOUDFLARE_R2_ENDPOINT }}"
# Installs the Terraform binary and some other accessory functions.
- name: Setup Terraform
uses: hashicorp/setup-terraform@v2
# Checks whether Terraform is formatted properly. If this fails, you
# should install the pre-commit hook.
- name: Check Formatting
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
run: |
terraform fmt -no-color -check -diff -recursive
# Connects to remote state backend and download providers.
- name: Terraform Init
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
run: terraform init
# Deploys infrastructure or changes to infrastructure.
- name: Terraform Apply
if: inputs.action == 'create'
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
env:
TF_VAR_vultr_plan: ${{ inputs.plan }}
run: |
terraform apply \
-auto-approve \
-input=false
# Removes infrastructure.
- name: Terraform Destroy
if: inputs.action == 'destroy'
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
run: |
terraform destroy \
-auto-approve \
-input=false
- name: Get Host IP
if: inputs.action == 'create'
id: host
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
run: terraform output -raw host_ip
- name: Wait on SSH
if: inputs.action == 'create'
run: |
for i in $(seq 1 15); do
if $(nc -z -w 3 ${{ steps.host.outputs.stdout }} 22); then
exit 0
fi
sleep 10
done
- name: Write Identity Keys to Files
if: inputs.action == 'create'
run: |
echo "${{ env.DEPLOY_IDENTITY_BASE64 }}" | base64 -d > deploy_ed25519
chmod 0600 deploy_ed25519
echo "${{ env.ARROW_IDENTITY_BASE64 }}" | base64 -d > arrow_ed25519
chmod 0600 arrow_ed25519
- name: Copy Identity File to Host
if: inputs.action == 'create'
run: |
ssh -i deploy_ed25519 -o StrictHostKeyChecking=accept-new noah@${{ steps.host.outputs.stdout }} 'mkdir -pv .ssh'
scp -i deploy_ed25519 arrow_ed25519 noah@${{ steps.host.outputs.stdout }}:~/.ssh/id_ed25519
- name: Wipe Records
if: ${{ inputs.action == 'destroy' }}
run: |
RECORD_ID=$(curl --request GET \
--url https://api.cloudflare.com/client/v4/zones/${{ env.CLOUDFLARE_ZONE_ID }}/dns_records \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer ${{ env.CLOUDFLARE_API_TOKEN }}" | jq -r '.result[] | select(.name == "n8n2.${{ env.ZONE_NAME }}") | .id')
curl --request DELETE \
--url https://api.cloudflare.com/client/v4/zones/${{ env.CLOUDFLARE_ZONE_ID }}/dns_records/${RECORD_ID} \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer ${{ env.CLOUDFLARE_API_TOKEN }}"

View File

@ -11,10 +11,10 @@ jobs:
- name: Checkout Repository - name: Checkout Repository
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Install Nix - name: Install Nix
uses: DeterminateSystems/nix-installer-action@v4 uses: DeterminateSystems/nix-installer-action@v11
- name: Check Nixpkgs Inputs - name: Check Nixpkgs Inputs
uses: DeterminateSystems/flake-checker-action@v5 uses: DeterminateSystems/flake-checker-action@v7
- name: Add Nix Cache - name: Add Nix Cache
uses: DeterminateSystems/magic-nix-cache-action@v2 uses: DeterminateSystems/magic-nix-cache-action@v6
- name: Check the Flake - name: Check the Flake
run: nix flake check run: nix flake check

View File

@ -3,7 +3,7 @@ name: Update Flake
on: on:
workflow_dispatch: # allows manual triggering workflow_dispatch: # allows manual triggering
schedule: schedule:
- cron: '33 3 * * 0' # runs weekly on Sunday at 03:33 - cron: '33 3 * * 6' # runs weekly on Saturday at 03:33
permissions: permissions:
contents: write contents: write
@ -18,19 +18,27 @@ jobs:
- name: Checkout Repository - name: Checkout Repository
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Install Nix - name: Install Nix
uses: DeterminateSystems/nix-installer-action@v4 uses: DeterminateSystems/nix-installer-action@v11
with:
nix-package-url: https://releases.nixos.org/nix/nix-2.18.4/nix-2.18.4-x86_64-linux.tar.xz
- name: Check Nixpkgs Inputs - name: Check Nixpkgs Inputs
uses: DeterminateSystems/flake-checker-action@v5 uses: DeterminateSystems/flake-checker-action@v7
- name: Add Nix Cache - name: Add Nix Cache
uses: DeterminateSystems/magic-nix-cache-action@v2 uses: DeterminateSystems/magic-nix-cache-action@v6
- name: Update flake.lock - name: Update flake.lock
uses: DeterminateSystems/update-flake-lock@v19 uses: DeterminateSystems/update-flake-lock@v23
id: update id: update
with: with:
pr-title: "Update flake.lock" # Title of PR to be created pr-title: "Update flake.lock" # Title of PR to be created
pr-labels: | # Labels to be set on the PR pr-labels: | # Labels to be set on the PR
dependencies dependencies
automated automated
pr-body: |
Automated changes by the [update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) GitHub Action.
```
{{ env.GIT_COMMIT_MESSAGE }}
```
- name: Check the Flake - name: Check the Flake
id: check id: check
run: nix flake check run: nix flake check

1
.gitignore vendored
View File

@ -1,6 +1,7 @@
.DS_Store .DS_Store
*.bak *.bak
*.db *.db
*.qcow2
**/.direnv/** **/.direnv/**
result result
private/** private/**

View File

@ -9,7 +9,7 @@ configuration may be difficult to translate to a non-Nix system.
## System Features ## System Features
| Feature | Program | Configuration | | Feature | Program | Configuration |
| --- | --- | --- | |----------------|-----------------------------------------------------|-----------------------------------------------|
| OS | [NixOS](https://nixos.org) | [Link](./modules/nixos) | | OS | [NixOS](https://nixos.org) | [Link](./modules/nixos) |
| Display Server | [X11](https://www.x.org/wiki/) | [Link](./modules/nixos/graphical/xorg.nix) | | Display Server | [X11](https://www.x.org/wiki/) | [Link](./modules/nixos/graphical/xorg.nix) |
| Compositor | [Picom](https://github.com/yshui/picom) | [Link](./modules/nixos/graphical/picom.nix) | | Compositor | [Picom](https://github.com/yshui/picom) | [Link](./modules/nixos/graphical/picom.nix) |
@ -21,11 +21,11 @@ configuration may be difficult to translate to a non-Nix system.
## User Features ## User Features
| Feature | Program | Configuration | | Feature | Program | Configuration |
| --- | --- | --- | |--------------|----------------------------------------------------------------------------------|----------------------------------------------------|
| Dotfiles | [Home-Manager](https://github.com/nix-community/home-manager) | [Link](./modules/common) | | Dotfiles | [Home-Manager](https://github.com/nix-community/home-manager) | [Link](./modules/common) |
| Terminal | [Kitty](https://sw.kovidgoyal.net/kitty/) | [Link](./modules/common/applications/kitty.nix) | | Terminal | [Kitty](https://sw.kovidgoyal.net/kitty/) | [Link](./modules/common/applications/kitty.nix) |
| Shell | [Fish](https://fishshell.com/) | [Link](./modules/common/shell/fish) | | Shell | [Fish](https://fishshell.com/) | [Link](./modules/common/shell/fish) |
| Shell Prompt | [Starship](https://starship.rs/) | [Link](./modules/common/shell/starhip.nix) | | Shell Prompt | [Starship](https://starship.rs/) | [Link](./modules/common/shell/starship.nix) |
| Colorscheme | [Gruvbox](https://github.com/morhetz/gruvbox) | [Link](./colorscheme/gruvbox/default.nix) | | Colorscheme | [Gruvbox](https://github.com/morhetz/gruvbox) | [Link](./colorscheme/gruvbox/default.nix) |
| Wallpaper | [Road](https://gitlab.com/exorcist365/wallpapers/-/blob/master/gruvbox/road.jpg) | [Link](./hosts/tempest/default.nix) | | Wallpaper | [Road](https://gitlab.com/exorcist365/wallpapers/-/blob/master/gruvbox/road.jpg) | [Link](./hosts/tempest/default.nix) |
| Text Editor | [Neovim](https://neovim.io/) | [Link](./modules/common/neovim/config) | | Text Editor | [Neovim](https://neovim.io/) | [Link](./modules/common/neovim/config) |
@ -38,16 +38,12 @@ configuration may be difficult to translate to a non-Nix system.
## macOS Features ## macOS Features
| Feature | Program | Configuration | | Feature | Program | Configuration |
| --- | --- | --- | |----------|---------------------------------------------|--------------------------------------|
| Keybinds | [Hammerspoon](https://www.hammerspoon.org/) | [Link](./modules/darwin/hammerspoon) | | Keybinds | [Hammerspoon](https://www.hammerspoon.org/) | [Link](./modules/darwin/hammerspoon) |
# Diagram # Diagram
![Diagram](https://github.com/nmasur/dotfiles/assets/7386960/ed3e7202-09c4-4a9c-9b14-0272c01647f6) ![Diagram](https://github.com/nmasur/dotfiles/assets/7386960/4cc22285-cea1-4831-b387-a82241184381)
- [flake.nix](./flake.nix)
- [hosts](./hosts/)
- [modules](./modules/)
--- ---

View File

@ -1,4 +1,5 @@
{ pkgs, ... }: rec { { pkgs, ... }:
rec {
# Show quick helper # Show quick helper
default = import ./help.nix { inherit pkgs; }; default = import ./help.nix { inherit pkgs; };
@ -30,5 +31,4 @@
# Run neovim as an app # Run neovim as an app
neovim = import ./neovim.nix { inherit pkgs; }; neovim = import ./neovim.nix { inherit pkgs; };
nvim = neovim; nvim = neovim;
} }

View File

@ -1,19 +1,19 @@
{ pkgs, ... }: { { pkgs, ... }:
{
# nix run github:nmasur/dotfiles#encrypt-secret > private/mysecret.age # nix run github:nmasur/dotfiles#encrypt-secret > private/mysecret.age
type = "app"; type = "app";
program = builtins.toString (pkgs.writeShellScript "encrypt-secret" '' program = builtins.toString (
printf "\nEnter the secret data to encrypt for all hosts...\n\n" 1>&2 pkgs.writeShellScript "encrypt-secret" ''
read -p "Secret: " secret printf "\nEnter the secret data to encrypt for all hosts...\n\n" 1>&2
printf "\nEncrypting...\n\n" 1>&2 read -p "Secret: " secret
tmpfile=$(mktemp) printf "\nEncrypting...\n\n" 1>&2
echo "''${secret}" > ''${tmpfile} tmpfile=$(mktemp)
${pkgs.age}/bin/age --encrypt --armor --recipients-file ${ echo "''${secret}" > ''${tmpfile}
builtins.toString ../misc/public-keys ${pkgs.age}/bin/age --encrypt --armor --recipients-file ${builtins.toString ../misc/public-keys} $tmpfile
} $tmpfile rm $tmpfile
rm $tmpfile ''
''); );
} }

View File

@ -1,39 +1,41 @@
{ pkgs, ... }: { { pkgs, ... }:
{
# This script will partition and format drives; use at your own risk! # This script will partition and format drives; use at your own risk!
type = "app"; type = "app";
program = builtins.toString (pkgs.writeShellScript "format-root" '' program = builtins.toString (
set -e pkgs.writeShellScript "format-root" ''
set -e
DISK=$1 DISK=$1
if [ -z "''${DISK}" ]; then if [ -z "''${DISK}" ]; then
${pkgs.gum}/bin/gum style --width 50 --margin "1 2" --padding "2 4" \ ${pkgs.gum}/bin/gum style --width 50 --margin "1 2" --padding "2 4" \
--foreground "#fb4934" \ --foreground "#fb4934" \
"Missing required parameter." \ "Missing required parameter." \
"Usage: format-root -- <disk>" \ "Usage: format-root -- <disk>" \
"Flake example: nix run github:nmasur/dotfiles#format-root -- nvme0n1" "Flake example: nix run github:nmasur/dotfiles#format-root -- nvme0n1"
echo "(exiting)" echo "(exiting)"
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" \
--arg disk \""/dev/''${DISK}"\" --arg disk \""/dev/''${DISK}"\"
${pkgs.gum}/bin/gum confirm \ ${pkgs.gum}/bin/gum confirm \
"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}"
'');
''
);
} }

View File

@ -1,23 +1,25 @@
{ pkgs, ... }: { { pkgs, ... }:
{
type = "app"; type = "app";
program = builtins.toString (pkgs.writeShellScript "default" '' program = builtins.toString (
${pkgs.gum}/bin/gum style --margin "1 2" --padding "0 2" --foreground "15" --background "55" "Options" pkgs.writeShellScript "default" ''
${pkgs.gum}/bin/gum format --type=template -- ' {{ Italic "Run with" }} {{ Color "15" "69" " nix run github:nmasur/dotfiles#" }}{{ Color "15" "62" "someoption" }}{{ Color "15" "69" " " }}.' ${pkgs.gum}/bin/gum style --margin "1 2" --padding "0 2" --foreground "15" --background "55" "Options"
echo "" ${pkgs.gum}/bin/gum format --type=template -- ' {{ Italic "Run with" }} {{ Color "15" "69" " nix run github:nmasur/dotfiles#" }}{{ Color "15" "62" "someoption" }}{{ Color "15" "69" " " }}.'
echo "" echo ""
${pkgs.gum}/bin/gum format --type=template -- \ echo ""
' {{ Color "15" "57" " readme " }} {{ Italic "Documentation for this repository." }}' \ ${pkgs.gum}/bin/gum format --type=template -- \
' {{ Color "15" "57" " rebuild " }} {{ Italic "Switch to this configuration." }}' \ ' {{ Color "15" "57" " readme " }} {{ Italic "Documentation for this repository." }}' \
' {{ Color "15" "57" " installer " }} {{ Italic "Format and install from nothing." }}' \ ' {{ Color "15" "57" " rebuild " }} {{ Italic "Switch to this configuration." }}' \
' {{ Color "15" "57" " neovim " }} {{ Italic "Test out the Neovim package." }}' \ ' {{ Color "15" "57" " installer " }} {{ Italic "Format and install from nothing." }}' \
' {{ Color "15" "57" " loadkey " }} {{ Italic "Load an ssh key for this machine using melt." }}' \ ' {{ Color "15" "57" " neovim " }} {{ Italic "Test out the Neovim package." }}' \
' {{ Color "15" "57" " encrypt-secret " }} {{ Italic "Encrypt a secret for all machines." }}' \ ' {{ Color "15" "57" " loadkey " }} {{ Italic "Load an ssh key for this machine using melt." }}' \
' {{ Color "15" "57" " reencrypt-secrets " }} {{ Italic "Reencrypt all secrets when new machine is added." }}' \ ' {{ Color "15" "57" " encrypt-secret " }} {{ Italic "Encrypt a secret for all machines." }}' \
' {{ Color "15" "57" " netdata " }} {{ Italic "Connect a machine to Netdata cloud." }}' ' {{ Color "15" "57" " reencrypt-secrets " }} {{ Italic "Reencrypt all secrets when new machine is added." }}' \
echo "" ' {{ Color "15" "57" " netdata " }} {{ Italic "Connect a machine to Netdata cloud." }}'
echo "" echo ""
''); echo ""
''
);
} }

View File

@ -1,48 +1,50 @@
{ pkgs, ... }: { { pkgs, ... }:
{
# Inspired by https://github.com/cleverca22/nix-tests/blob/master/kexec/justdoit.nix # Inspired by https://github.com/cleverca22/nix-tests/blob/master/kexec/justdoit.nix
# This script will partition and format drives; use at your own risk! # This script will partition and format drives; use at your own risk!
type = "app"; type = "app";
program = builtins.toString (pkgs.writeShellScript "installer" '' program = builtins.toString (
set -e pkgs.writeShellScript "installer" ''
set -e
DISK=$1 DISK=$1
FLAKE=$2 FLAKE=$2
PARTITION_PREFIX="" PARTITION_PREFIX=""
if [ -z "$DISK" ] || [ -z "$FLAKE" ]; then if [ -z "$DISK" ] || [ -z "$FLAKE" ]; then
${pkgs.gum}/bin/gum style --width 50 --margin "1 2" --padding "2 4" \ ${pkgs.gum}/bin/gum style --width 50 --margin "1 2" --padding "2 4" \
--foreground "#fb4934" \ --foreground "#fb4934" \
"Missing required parameter." \ "Missing required parameter." \
"Usage: installer -- <disk> <host>" \ "Usage: installer -- <disk> <host>" \
"Example: installer -- nvme0n1 tempest" \ "Example: installer -- nvme0n1 tempest" \
"Flake example: nix run github:nmasur/dotfiles#installer -- nvme0n1 tempest" "Flake example: nix run github:nmasur/dotfiles#installer -- nvme0n1 tempest"
echo "(exiting)" echo "(exiting)"
exit 1 exit 1
fi fi
case "$DISK" in nvme*) case "$DISK" in nvme*)
PARTITION_PREFIX="p" PARTITION_PREFIX="p"
esac esac
${pkgs.gum}/bin/gum confirm \ ${pkgs.gum}/bin/gum confirm \
"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.parted}/bin/parted /dev/''${DISK} -- mklabel gpt ${pkgs.parted}/bin/parted /dev/''${DISK} -- mklabel gpt
${pkgs.parted}/bin/parted /dev/''${DISK} -- mkpart primary 512MiB 100% ${pkgs.parted}/bin/parted /dev/''${DISK} -- mkpart primary 512MiB 100%
${pkgs.parted}/bin/parted /dev/''${DISK} -- mkpart ESP fat32 1MiB 512MiB ${pkgs.parted}/bin/parted /dev/''${DISK} -- mkpart ESP fat32 1MiB 512MiB
${pkgs.parted}/bin/parted /dev/''${DISK} -- set 3 esp on ${pkgs.parted}/bin/parted /dev/''${DISK} -- set 3 esp on
mkfs.ext4 -L nixos /dev/''${DISK}''${PARTITION_PREFIX}1 mkfs.ext4 -L nixos /dev/''${DISK}''${PARTITION_PREFIX}1
mkfs.fat -F 32 -n boot /dev/''${DISK}''${PARTITION_PREFIX}2 mkfs.fat -F 32 -n boot /dev/''${DISK}''${PARTITION_PREFIX}2
mount /dev/disk/by-label/nixos /mnt mount /dev/disk/by-label/nixos /mnt
mkdir --parents /mnt/boot mkdir --parents /mnt/boot
mount /dev/disk/by-label/boot /mnt/boot mount /dev/disk/by-label/boot /mnt/boot
${pkgs.nixos-install-tools}/bin/nixos-install --flake github:nmasur/dotfiles#''${FLAKE}
'');
${pkgs.nixos-install-tools}/bin/nixos-install --flake github:nmasur/dotfiles#''${FLAKE}
''
);
} }

View File

@ -1,13 +1,15 @@
{ pkgs, ... }: { { pkgs, ... }:
{
type = "app"; type = "app";
program = builtins.toString (pkgs.writeShellScript "loadkey" '' program = builtins.toString (
printf "\nEnter the seed phrase for your SSH key...\n" pkgs.writeShellScript "loadkey" ''
printf "\nThen press ^D when complete.\n\n" printf "\nEnter the seed phrase for your SSH key...\n"
mkdir -p ~/.ssh/ printf "\nThen press ^D when complete.\n\n"
${pkgs.melt}/bin/melt restore ~/.ssh/id_ed25519 mkdir -p ~/.ssh/
printf "\n\nContinuing activation.\n\n" ${pkgs.melt}/bin/melt restore ~/.ssh/id_ed25519
''); printf "\n\nContinuing activation.\n\n"
''
);
} }

View File

@ -1,12 +1,12 @@
{ pkgs, ... }: { { pkgs, ... }:
{
type = "app"; type = "app";
program = "${ program = "${
(import ../modules/common/neovim/package { (import ../modules/common/neovim/package {
inherit pkgs; inherit pkgs;
colors = (import ../colorscheme/nord).dark; colors = (import ../colorscheme/nord).dark;
}) })
}/bin/nvim"; }/bin/nvim";
} }

View File

@ -1,19 +1,21 @@
{ pkgs, ... }: { { pkgs, ... }:
{
type = "app"; type = "app";
program = builtins.toString (pkgs.writeShellScript "netdata-cloud" '' program = builtins.toString (
if [ "$EUID" -ne 0 ]; then pkgs.writeShellScript "netdata-cloud" ''
echo "Please run as root" if [ "$EUID" -ne 0 ]; then
exit 1 echo "Please run as root"
fi exit 1
mkdir --parents --mode 0750 /var/lib/netdata/cloud.d fi
printf "\nEnter the claim token for netdata cloud...\n\n" mkdir --parents --mode 0750 /var/lib/netdata/cloud.d
read -p "Token: " token printf "\nEnter the claim token for netdata cloud...\n\n"
echo "''${token}" > /var/lib/netdata/cloud.d/token read -p "Token: " token
chown -R netdata:netdata /var/lib/netdata echo "''${token}" > /var/lib/netdata/cloud.d/token
${pkgs.netdata}/bin/netdata-claim.sh -id=$(uuidgen) chown -R netdata:netdata /var/lib/netdata
printf "\n\nNow restart netdata service.\n\n" ${pkgs.netdata}/bin/netdata-claim.sh -id=$(uuidgen)
''); printf "\n\nNow restart netdata service.\n\n"
''
);
} }

View File

@ -1,9 +1,11 @@
{ pkgs, ... }: { { pkgs, ... }:
{
type = "app"; type = "app";
program = builtins.toString (pkgs.writeShellScript "readme" '' program = builtins.toString (
${pkgs.glow}/bin/glow --pager ${builtins.toString ../README.md} pkgs.writeShellScript "readme" ''
''); ${pkgs.glow}/bin/glow --pager ${builtins.toString ../README.md}
''
);
} }

View File

@ -1,15 +1,17 @@
{ pkgs, ... }: { { pkgs, ... }:
{
type = "app"; type = "app";
program = builtins.toString (pkgs.writeShellScript "rebuild" '' program = builtins.toString (
echo ${pkgs.system} pkgs.writeShellScript "rebuild" ''
SYSTEM=${if pkgs.stdenv.isDarwin then "darwin" else "linux"} echo ${pkgs.system}
if [ "$SYSTEM" == "darwin" ]; then SYSTEM=${if pkgs.stdenv.isDarwin then "darwin" else "linux"}
sudo darwin-rebuild switch --flake ${builtins.toString ../.} if [ "$SYSTEM" == "darwin" ]; then
else sudo darwin-rebuild switch --flake ${builtins.toString ../.}
doas nixos-rebuild switch --flake ${builtins.toString ../.} else
fi doas nixos-rebuild switch --flake ${builtins.toString ../.}
''); fi
''
);
} }

View File

@ -1,27 +1,27 @@
{ pkgs, ... }: { { pkgs, ... }:
{
# nix run github:nmasur/dotfiles#reencrypt-secrets ./private # nix run github:nmasur/dotfiles#reencrypt-secrets ./private
type = "app"; type = "app";
program = builtins.toString (pkgs.writeShellScript "reencrypt-secrets" '' program = builtins.toString (
if [ $# -eq 0 ]; then pkgs.writeShellScript "reencrypt-secrets" ''
echo "Must provide directory to reencrypt." if [ $# -eq 0 ]; then
exit 1 echo "Must provide directory to reencrypt."
fi exit 1
encrypted=$1 fi
for encryptedfile in ''${1}/*; do encrypted=$1
tmpfile=$(mktemp) for encryptedfile in ''${1}/*; do
echo "Decrypting ''${encryptedfile}..." tmpfile=$(mktemp)
${pkgs.age}/bin/age --decrypt \ echo "Decrypting ''${encryptedfile}..."
--identity ~/.ssh/id_ed25519 $encryptedfile > $tmpfile ${pkgs.age}/bin/age --decrypt \
echo "Encrypting ''${encryptedfile}..." --identity ~/.ssh/id_ed25519 $encryptedfile > $tmpfile
${pkgs.age}/bin/age --encrypt --armor --recipients-file ${ echo "Encrypting ''${encryptedfile}..."
builtins.toString ../misc/public-keys ${pkgs.age}/bin/age --encrypt --armor --recipients-file ${builtins.toString ../misc/public-keys} $tmpfile > $encryptedfile
} $tmpfile > $encryptedfile rm $tmpfile
rm $tmpfile done
done echo "Finished."
echo "Finished." ''
''); );
} }

View File

@ -16,9 +16,7 @@
base0B = "#dbbc7f"; # Strings, Inherited Class, Markup Code, Diff Inserted base0B = "#dbbc7f"; # Strings, Inherited Class, Markup Code, Diff Inserted
base0C = "#e69875"; # Support, Regular Expressions, Escape Characters, ... base0C = "#e69875"; # Support, Regular Expressions, Escape Characters, ...
base0D = "#a7c080"; # Functions, Methods, Attribute IDs, Headings base0D = "#a7c080"; # Functions, Methods, Attribute IDs, Headings
base0E = base0E = "#e67e80"; # Keywords, Storage, Selector, Markup Italic, Diff Changed
"#e67e80"; # Keywords, Storage, Selector, Markup Italic, Diff Changed base0F = "#d699b6"; # Deprecated, Opening/Closing Embedded Language Tags, ...
base0F =
"#d699b6"; # Deprecated, Opening/Closing Embedded Language Tags, ...
}; };
} }

View File

@ -2,8 +2,7 @@
{ {
name = "gruvbox-dark"; # Dark, Medium name = "gruvbox-dark"; # Dark, Medium
author = author = "Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox), ElRastaOk (https://www.reddit.com/user/ElRastaOk)";
"Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox), ElRastaOk (https://www.reddit.com/user/ElRastaOk)";
dark = { dark = {
base00 = "#1D2122"; # ---- This is the change from normal gruvbox base00 = "#1D2122"; # ---- This is the change from normal gruvbox
base01 = "#3c3836"; # --- base01 = "#3c3836"; # ---

View File

@ -1,7 +1,6 @@
{ {
name = "gruvbox"; # Dark, Medium name = "gruvbox"; # Dark, Medium
author = author = "Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)";
"Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)";
dark = { dark = {
base00 = "#282828"; # ---- base00 = "#282828"; # ----
base01 = "#3c3836"; # --- base01 = "#3c3836"; # ---

View File

@ -1,41 +1,38 @@
{ disk, ... }: { { disk, ... }:
{
disk = { disk = {
boot = { boot = {
type = "disk"; type = "disk";
device = disk; device = disk;
content = { content = {
type = "table"; type = "gpt";
format = "gpt"; partitions = {
partitions = [
# Boot partition # Boot partition
{ ESP = rec {
name = "ESP"; size = "512MiB";
start = "0"; type = "EF00";
end = "512MiB"; label = "boot";
fs-type = "fat32"; device = "/dev/disk/by-label/${label}";
bootable = true;
content = { content = {
type = "filesystem"; type = "filesystem";
format = "vfat"; format = "vfat";
mountpoint = "/boot"; mountpoint = "/boot";
extraArgs = [ "-n boot" ]; extraArgs = [ "-n ${label}" ];
}; };
} };
# Root partition ext4 # Root partition ext4
{ root = rec {
name = "root"; size = "100%";
start = "512MiB"; label = "nixos";
end = "100%"; device = "/dev/disk/by-label/${label}";
part-type = "primary";
bootable = true;
content = { content = {
type = "filesystem"; type = "filesystem";
format = "ext4"; format = "ext4";
mountpoint = "/"; mountpoint = "/";
extraArgs = [ "-L nixos" ]; extraArgs = [ "-L ${label}" ];
}; };
} };
]; };
}; };
}; };
}; };

View File

@ -1,4 +1,5 @@
{ pool, disks, ... }: { { pool, disks, ... }:
{
disk = lib.genAttrs disks (disk: { disk = lib.genAttrs disks (disk: {
"${disk}" = { "${disk}" = {
type = "disk"; type = "disk";
@ -6,16 +7,18 @@
content = { content = {
type = "table"; type = "table";
format = "gpt"; format = "gpt";
partitions = [{ partitions = [
type = "partition"; {
name = "zfs"; type = "partition";
start = "128MiB"; name = "zfs";
end = "100%"; start = "128MiB";
content = { end = "100%";
type = "zfs"; content = {
pool = pool; type = "zfs";
}; pool = pool;
}]; };
}
];
}; };
}; };
}); });

View File

@ -57,6 +57,7 @@ Launch a new shell. Then use Nix to switch to the macOS configuration:
```bash ```bash
sudo rm /etc/bashrc sudo rm /etc/bashrc
sudo rm /etc/nix/nix.conf sudo rm /etc/nix/nix.conf
export NIX_SSL_CERT_FILE="$HOME/Documents/t2-ca-bundle.pem"
nix \ nix \
--extra-experimental-features flakes \ --extra-experimental-features flakes \
--extra-experimental-features nix-command \ --extra-experimental-features nix-command \

View File

@ -63,3 +63,20 @@ Use this mysqldump command:
sudo -u nextcloud mysqldump -S /run/mysqld/mysqld.sock --default-character-set=utf8mb4 nextcloud > backup.sql sudo -u nextcloud mysqldump -S /run/mysqld/mysqld.sock --default-character-set=utf8mb4 nextcloud > backup.sql
``` ```
## Converting to Postgres
Same as MySQL, but run this command instead:
```
sudo -u nextcloud nextcloud-occ db:convert-type pgsql nextcloud /run/postgresql/ nextcloud
```
Then set the `dbtype` to `pgsql`.
## Backing Up Postgres Database
Use this pg_dump command:
```
sudo -u nextcloud pg_dump nextcloud > backup.sql
```

720
flake.lock generated

File diff suppressed because it is too large Load Diff

373
flake.nix
View File

@ -7,6 +7,12 @@
# Used for system packages # Used for system packages
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
# Used for specific stable packages
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05";
# Used for caddy plugins
nixpkgs-caddy.url = "github:jpds/nixpkgs/caddy-external-plugins";
# Used for MacOS system config # Used for MacOS system config
darwin = { darwin = {
url = "github:lnl7/nix-darwin/master"; url = "github:lnl7/nix-darwin/master";
@ -22,8 +28,7 @@
# Used for user packages and dotfiles # Used for user packages and dotfiles
home-manager = { home-manager = {
url = "github:nix-community/home-manager/master"; url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = inputs.nixpkgs.follows = "nixpkgs"; # Use system packages list for their inputs
"nixpkgs"; # Use system packages list for their inputs
}; };
# Community packages; used for Firefox extensions # Community packages; used for Firefox extensions
@ -35,6 +40,12 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# Better App install management in macOS
mac-app-util = {
url = "github:hraban/mac-app-util";
inputs.nixpkgs.follows = "nixpkgs"; # Use system packages list for their inputs
};
# Manage disk format and partitioning # Manage disk format and partitioning
disko = { disko = {
url = "github:nix-community/disko"; url = "github:nix-community/disko";
@ -59,42 +70,33 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# Nix language server
nil = {
url = "github:oxalica/nil/2023-08-09";
inputs.nixpkgs.follows = "nixpkgs";
};
# Neovim plugins # Neovim plugins
base16-nvim-src = {
url = "github:RRethy/base16-nvim";
flake = false;
};
nvim-lspconfig-src = { nvim-lspconfig-src = {
# https://github.com/neovim/nvim-lspconfig/tags # https://github.com/neovim/nvim-lspconfig/tags
url = "github:neovim/nvim-lspconfig/v0.1.6"; url = "github:neovim/nvim-lspconfig/v0.1.8";
flake = false; flake = false;
}; };
cmp-nvim-lsp-src = { cmp-nvim-lsp-src = {
url = "github:hrsh7th/cmp-nvim-lsp"; url = "github:hrsh7th/cmp-nvim-lsp";
flake = false; flake = false;
}; };
null-ls-nvim-src = {
url = "github:jose-elias-alvarez/null-ls.nvim";
flake = false;
};
baleia-nvim-src = { baleia-nvim-src = {
# https://github.com/m00qek/baleia.nvim/tags # https://github.com/m00qek/baleia.nvim/tags
url = "github:m00qek/baleia.nvim"; url = "github:m00qek/baleia.nvim";
flake = false; flake = false;
}; };
Comment-nvim-src = {
url = "github:numToStr/Comment.nvim/v0.8.0";
flake = false;
};
nvim-treesitter-src = { nvim-treesitter-src = {
# https://github.com/nvim-treesitter/nvim-treesitter/tags # https://github.com/nvim-treesitter/nvim-treesitter/tags
url = "github:nvim-treesitter/nvim-treesitter/master"; url = "github:nvim-treesitter/nvim-treesitter/v0.9.2";
flake = false; flake = false;
}; };
telescope-nvim-src = { telescope-nvim-src = {
url = "github:nvim-telescope/telescope.nvim/0.1.4"; # https://github.com/nvim-telescope/telescope.nvim/releases
url = "github:nvim-telescope/telescope.nvim/0.1.8";
flake = false; flake = false;
}; };
telescope-project-nvim-src = { telescope-project-nvim-src = {
@ -102,11 +104,13 @@
flake = false; flake = false;
}; };
toggleterm-nvim-src = { toggleterm-nvim-src = {
url = "github:akinsho/toggleterm.nvim/v2.8.0"; # https://github.com/akinsho/toggleterm.nvim/tags
url = "github:akinsho/toggleterm.nvim/v2.12.0";
flake = false; flake = false;
}; };
bufferline-nvim-src = { bufferline-nvim-src = {
url = "github:akinsho/bufferline.nvim/v4.4.0"; # https://github.com/akinsho/bufferline.nvim/releases
url = "github:akinsho/bufferline.nvim/v4.6.1";
flake = false; flake = false;
}; };
nvim-tree-lua-src = { nvim-tree-lua-src = {
@ -119,7 +123,19 @@
}; };
fidget-nvim-src = { fidget-nvim-src = {
# https://github.com/j-hui/fidget.nvim/tags # https://github.com/j-hui/fidget.nvim/tags
url = "github:j-hui/fidget.nvim/v1.1.0"; url = "github:j-hui/fidget.nvim/v1.4.5";
flake = false;
};
nvim-lint-src = {
url = "github:mfussenegger/nvim-lint";
flake = false;
};
tiny-inline-diagnostic-nvim-src = {
url = "github:rachartier/tiny-inline-diagnostic.nvim";
flake = false;
};
snipe-nvim-src = {
url = "github:leath-dub/snipe.nvim";
flake = false; flake = false;
}; };
@ -148,6 +164,10 @@
url = "github:Fymyte/tree-sitter-rasi"; url = "github:Fymyte/tree-sitter-rasi";
flake = false; flake = false;
}; };
tree-sitter-vimdoc = {
url = "github:neovim/tree-sitter-vimdoc";
flake = false;
};
# MPV Scripts # MPV Scripts
zenyd-mpv-scripts = { zenyd-mpv-scripts = {
@ -155,116 +175,135 @@
flake = false; flake = false;
}; };
# Age encryption (pin because of failed builds) # Git alternative
age = { # Fixes: https://github.com/martinvonz/jj/issues/4784
url = "github:FiloSottile/age/v1.1.1"; jujutsu = {
url = "github:martinvonz/jj";
inputs.nixpkgs.follows = "nixpkgs";
};
# Ren and rep - CLI find and replace
rep = {
url = "github:robenkleene/rep-grep";
flake = false;
};
ren = {
url = "github:robenkleene/ren-find";
flake = false; flake = false;
}; };
# GE version of Proton for game compatibility gh-collaborators = {
# Alternatively, could consider using https://github.com/fufexan/nix-gaming url = "github:katiem0/gh-collaborators";
proton-ge = {
# https://github.com/GloriousEggroll/proton-ge-custom/releases
url =
"https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton8-25/GE-Proton8-25.tar.gz";
flake = false; flake = false;
}; };
# Firefox addon from outside the extension store # Clipboard over SSH
bypass-paywalls-clean = { osc = {
# https://gitlab.com/magnolia1234/bpc-uploads/-/commits/master/?ref_type=HEADS url = "github:theimpostor/osc/v0.4.6";
url = "gitlab:magnolia1234/bpc-uploads";
flake = false; flake = false;
}; };
# Nextcloud Apps # Nextcloud Apps
nextcloud-news = { nextcloud-news = {
# https://github.com/nextcloud/news/releases # https://github.com/nextcloud/news/releases
url = url = "https://github.com/nextcloud/news/releases/download/25.0.0-alpha12/news.tar.gz";
"https://github.com/nextcloud/news/releases/download/25.0.0-alpha3/news.tar.gz";
flake = false; flake = false;
}; };
nextcloud-external = { nextcloud-external = {
# https://github.com/nextcloud-releases/external/releases # https://github.com/nextcloud-releases/external/releases
url = url = "https://github.com/nextcloud-releases/external/releases/download/v5.5.2/external-v5.5.2.tar.gz";
"https://github.com/nextcloud-releases/external/releases/download/v5.3.1/external-v5.3.1.tar.gz";
flake = false; flake = false;
}; };
nextcloud-cookbook = { nextcloud-cookbook = {
# https://github.com/christianlupus-nextcloud/cookbook-releases/releases/ # https://github.com/christianlupus-nextcloud/cookbook-releases/releases/
url = url = "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.2/cookbook-0.11.2.tar.gz";
"https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.0/cookbook-0.11.0.tar.gz";
flake = false; flake = false;
}; };
nextcloud-snappymail = { nextcloud-snappymail = {
# https://github.com/the-djmaze/snappymail/releases # https://github.com/the-djmaze/snappymail/releases
url = # https://snappymail.eu/repository/nextcloud
"https://snappymail.eu/repository/nextcloud/snappymail-2.32.0-nextcloud.tar.gz"; url = "https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz";
# url = "https://github.com/nmasur/snappymail-nextcloud/releases/download/v2.36.3/snappymail-2.36.3-nextcloud.tar.gz";
flake = false; flake = false;
}; };
}; };
outputs = { nixpkgs, ... }@inputs: outputs =
{ nixpkgs, ... }@inputs:
let let
# Global configuration for my systems # Global configuration for my systems
globals = let baseName = "masu.rs"; globals =
in rec { let
user = "noah"; baseName = "masu.rs";
fullName = "Noah Masur"; in
gitName = fullName; rec {
gitEmail = "7386960+nmasur@users.noreply.github.com"; user = "noah";
mail.server = "noahmasur.com"; fullName = "Noah Masur";
mail.imapHost = "imap.purelymail.com"; gitName = fullName;
mail.smtpHost = "smtp.purelymail.com"; gitEmail = "7386960+nmasur@users.noreply.github.com";
dotfilesRepo = "https://github.com/nmasur/dotfiles"; mail.server = "noahmasur.com";
hostnames = { mail.imapHost = "imap.purelymail.com";
git = "git.${baseName}"; mail.smtpHost = "smtp.purelymail.com";
influxdb = "influxdb.${baseName}"; dotfilesRepo = "https://github.com/nmasur/dotfiles";
metrics = "metrics.${baseName}"; hostnames = {
prometheus = "prom.${baseName}"; audiobooks = "read.${baseName}";
paperless = "paper.${baseName}"; budget = "money.${baseName}";
secrets = "vault.${baseName}"; files = "files.${baseName}";
stream = "stream.${baseName}"; git = "git.${baseName}";
content = "cloud.${baseName}"; influxdb = "influxdb.${baseName}";
books = "books.${baseName}"; irc = "irc.${baseName}";
download = "download.${baseName}"; metrics = "metrics.${baseName}";
minecraft = "minecraft.${baseName}";
n8n = "n8n.${baseName}";
notifications = "ntfy.${baseName}";
prometheus = "prom.${baseName}";
paperless = "paper.${baseName}";
photos = "photos.${baseName}";
secrets = "vault.${baseName}";
stream = "stream.${baseName}";
content = "cloud.${baseName}";
books = "books.${baseName}";
download = "download.${baseName}";
status = "status.${baseName}";
transmission = "transmission.${baseName}";
};
}; };
};
# Common overlays to always use # Common overlays to always use
overlays = [ overlays = [
inputs.nur.overlay inputs.nur.overlays.default
inputs.nix2vim.overlay inputs.nix2vim.overlay
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/calibre-web.nix)
(import ./overlays/disko.nix inputs)
(import ./overlays/tree-sitter.nix inputs) (import ./overlays/tree-sitter.nix inputs)
(import ./overlays/caddy.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)
(import ./overlays/betterlockscreen.nix) (import ./overlays/betterlockscreen.nix)
(import ./overlays/age.nix inputs) (import ./overlays/gh-collaborators.nix inputs)
(import ./overlays/proton-ge.nix inputs) (import ./overlays/osc.nix inputs)
(import ./overlays/gh-collaborators.nix) (import ./overlays/ren-rep.nix inputs)
(import ./overlays/bypass-paywalls-clean.nix inputs) (import ./overlays/volnoti.nix)
(import ./overlays/terraform.nix)
]; ];
# System types to support. # System types to support.
supportedSystems = supportedSystems = [
[ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; "x86_64-linux"
"x86_64-darwin"
"aarch64-linux"
"aarch64-darwin"
];
# Helper function to generate an attrset '{ x86_64-linux = f "x86_64-linux"; ... }'. # Helper function to generate an attrset '{ x86_64-linux = f "x86_64-linux"; ... }'.
forAllSystems = nixpkgs.lib.genAttrs supportedSystems; forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
in
in rec { rec {
# Contains my full system builds, including home-manager # Contains my full system builds, including home-manager
# nixos-rebuild switch --flake .#tempest # nixos-rebuild switch --flake .#tempest
nixosConfigurations = { nixosConfigurations = {
arrow = import ./hosts/arrow { inherit inputs globals overlays; };
tempest = import ./hosts/tempest { inherit inputs globals overlays; }; tempest = import ./hosts/tempest { inherit inputs globals overlays; };
hydra = import ./hosts/hydra { inherit inputs globals overlays; }; hydra = import ./hosts/hydra { inherit inputs globals overlays; };
flame = import ./hosts/flame { inherit inputs globals overlays; }; flame = import ./hosts/flame { inherit inputs globals overlays; };
@ -274,78 +313,143 @@
# Contains my full Mac system builds, including home-manager # Contains my full Mac system builds, including home-manager
# darwin-rebuild switch --flake .#lookingglass # darwin-rebuild switch --flake .#lookingglass
darwinConfigurations = { darwinConfigurations = {
lookingglass = lookingglass = import ./hosts/lookingglass { inherit inputs globals overlays; };
import ./hosts/lookingglass { inherit inputs globals overlays; };
}; };
# For quickly applying home-manager settings with: # For quickly applying home-manager settings with:
# home-manager switch --flake .#tempest # home-manager switch --flake .#tempest
homeConfigurations = { homeConfigurations = {
tempest = tempest = nixosConfigurations.tempest.config.home-manager.users.${globals.user}.home;
nixosConfigurations.tempest.config.home-manager.users.${globals.user}.home; lookingglass = darwinConfigurations.lookingglass.config.home-manager.users."Noah.Masur".home;
lookingglass =
darwinConfigurations.lookingglass.config.home-manager.users."Noah.Masur".home;
}; };
# Disk formatting, only used once # Disk formatting, only used once
diskoConfigurations = { root = import ./disks/root.nix; }; diskoConfigurations = {
root = import ./disks/root.nix;
packages = let
aws = system:
import ./hosts/aws { inherit inputs globals overlays system; };
staff = system:
import ./hosts/staff { inherit inputs globals overlays system; };
neovim = system:
let pkgs = import nixpkgs { inherit system overlays; };
in import ./modules/common/neovim/package {
inherit pkgs;
colors = (import ./colorscheme/gruvbox-dark).dark;
};
in {
x86_64-linux.aws = aws "x86_64-linux";
x86_64-linux.staff = staff "x86_64-linux";
# Package Neovim config into standalone package
x86_64-linux.neovim = neovim "x86_64-linux";
x86_64-darwin.neovim = neovim "x86_64-darwin";
aarch64-linux.neovim = neovim "aarch64-linux";
aarch64-darwin.neovim = neovim "aarch64-darwin";
}; };
packages =
let
staff =
system:
import ./hosts/staff {
inherit
inputs
globals
overlays
system
;
};
neovim =
system:
let
pkgs = import nixpkgs { inherit system overlays; };
in
import ./modules/common/neovim/package {
inherit pkgs;
colors = (import ./colorscheme/gruvbox-dark).dark;
};
in
{
x86_64-linux.staff = staff "x86_64-linux";
x86_64-linux.arrow = inputs.nixos-generators.nixosGenerate rec {
system = "x86_64-linux";
format = "iso";
specialArgs = {
pkgs-stable = import inputs.nixpkgs-stable { inherit system; };
pkgs-caddy = import inputs.nixpkgs-caddy { inherit system; };
};
modules = import ./hosts/arrow/modules.nix { inherit inputs globals overlays; };
};
x86_64-linux.arrow-aws = inputs.nixos-generators.nixosGenerate rec {
system = "x86_64-linux";
format = "amazon";
specialArgs = {
pkgs-stable = import inputs.nixpkgs-stable { inherit system; };
pkgs-caddy = import inputs.nixpkgs-caddy { inherit system; };
};
modules = import ./hosts/arrow/modules.nix { inherit inputs globals overlays; } ++ [
(
{ ... }:
{
boot.kernelPackages = inputs.nixpkgs.legacyPackages.x86_64-linux.linuxKernel.packages.linux_6_6;
amazonImage.sizeMB = 16 * 1024;
permitRootLogin = "prohibit-password";
boot.loader.systemd-boot.enable = inputs.nixpkgs.lib.mkForce false;
boot.loader.efi.canTouchEfiVariables = inputs.nixpkgs.lib.mkForce false;
services.amazon-ssm-agent.enable = true;
users.users.ssm-user.extraGroups = [ "wheel" ];
}
)
];
};
# Package Neovim config into standalone package
x86_64-linux.neovim = neovim "x86_64-linux";
x86_64-darwin.neovim = neovim "x86_64-darwin";
aarch64-linux.neovim = neovim "aarch64-linux";
aarch64-darwin.neovim = neovim "aarch64-darwin";
};
# Programs that can be run by calling this flake # Programs that can be run by calling this flake
apps = forAllSystems (system: apps = forAllSystems (
let pkgs = import nixpkgs { inherit system overlays; }; system:
in import ./apps { inherit pkgs; }); let
pkgs = import nixpkgs { inherit system overlays; };
in
import ./apps { inherit pkgs; }
);
# Development environments # Development environments
devShells = forAllSystems (system: devShells = forAllSystems (
let pkgs = import nixpkgs { inherit system overlays; }; system:
in { let
pkgs = import nixpkgs { inherit system overlays; };
in
{
# Used to run commands and edit files in this repo # Used to run commands and edit files in this repo
default = pkgs.mkShell { default = pkgs.mkShell {
buildInputs = with pkgs; [ git stylua nixfmt shfmt shellcheck ]; buildInputs = with pkgs; [
git
stylua
nixfmt-rfc-style
shfmt
shellcheck
];
}; };
}
);
}); checks = forAllSystems (
system:
let
pkgs = import nixpkgs { inherit system overlays; };
in
{
neovim =
pkgs.runCommand "neovim-check-health" { buildInputs = [ inputs.self.packages.${system}.neovim ]; }
''
mkdir -p $out
export HOME=$TMPDIR
nvim -c "checkhealth" -c "write $out/health.log" -c "quitall"
checks = forAllSystems (system: # Check for errors inside the health log
let pkgs = import nixpkgs { inherit system overlays; }; if $(grep "ERROR" $out/health.log); then
in { cat $out/health.log
neovim = pkgs.runCommand "neovim-check-health" { exit 1
buildInputs = [ inputs.self.packages.${system}.neovim ]; fi
} '' '';
mkdir -p $out }
export HOME=$TMPDIR );
nvim -c "checkhealth" -c "write $out/health.log" -c "quitall"
# Check for errors inside the health log formatter = forAllSystems (
if $(grep "ERROR" $out/health.log); then system:
cat $out/health.log let
exit 1 pkgs = import nixpkgs { inherit system overlays; };
fi in
''; pkgs.nixfmt-rfc-style
}); );
# Templates for starting other projects quickly # Templates for starting other projects quickly
templates = rec { templates = rec {
@ -366,7 +470,10 @@
path = ./templates/haskell; path = ./templates/haskell;
description = "Haskell template"; description = "Haskell template";
}; };
rust = {
path = ./templates/rust;
description = "Rust template";
};
}; };
}; };
} }

98
hosts/arrow/aws/ec2.tf Normal file
View File

@ -0,0 +1,98 @@
resource "aws_instance" "instance" {
ami = aws_ami.image.id
iam_instance_profile = aws_iam_instance_profile.instance.name
instance_type = var.ec2_size
vpc_security_group_ids = [aws_security_group.instance.id]
tags = {
Name = "aws-nixos"
}
lifecycle {
create_before_destroy = true
}
}
resource "aws_ec2_instance_state" "instance" {
instance_id = aws_instance.instance.id
state = "running"
}
data "aws_vpc" "vpc" {
default = true
}
resource "aws_security_group" "instance" {
name = "aws-nixos"
description = "Allow SSH and HTTPS"
vpc_id = data.aws_vpc.vpc.id
ingress {
description = "Ping"
from_port = -1
to_port = -1
protocol = "icmp"
cidr_blocks = ["0.0.0.0/0"]
}
ingress {
description = "SSH"
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
ingress {
description = "HTTPS"
from_port = 443
to_port = 443
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
ipv6_cidr_blocks = ["::/0"]
}
}
# Setup IAM for the instance to use SSM
data "aws_iam_policy_document" "ec2_assume_role" {
statement {
actions = ["sts:AssumeRole"]
principals {
type = "Service"
identifiers = ["ec2.amazonaws.com"]
}
}
}
data "aws_iam_policy_document" "instance_profile" {
statement {
actions = [
"s3:ListAllMyBuckets",
]
resources = ["*"]
}
}
resource "aws_iam_role" "instance_profile" {
name = "nixos"
assume_role_policy = data.aws_iam_policy_document.ec2_assume_role.json
inline_policy {
name = "instance-profile"
policy = data.aws_iam_policy_document.instance_profile.json
}
}
resource "aws_iam_role_policy_attachment" "instance_ssm" {
role = aws_iam_role.instance_profile.name
policy_arn = "arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore"
}
resource "aws_iam_instance_profile" "instance" {
name = "nixos"
role = aws_iam_role.instance_profile.name
}

View File

@ -1,13 +1,23 @@
locals { # locals {
image_file = one(fileset(path.root, "result/nixos-amazon-image-*.vhd")) # image_file = one(fileset(path.root, "../../../result/nixos-amazon-image-*.vhd"))
# }
#
# # Upload image to S3
# resource "aws_s3_object" "image" {
# bucket = var.images_bucket
# key = basename(local.image_file)
# source = local.image_file
# etag = filemd5(local.image_file)
# }
# Use existing image in S3
data "aws_s3_object" "image" {
bucket = var.images_bucket
key = "arrow.vhd"
} }
# Upload to S3 resource "terraform_data" "image_replacement" {
resource "aws_s3_object" "image" { input = data.aws_s3_object.image.etag
bucket = "your_bucket_name"
key = basename(local.image_file)
source = local.image_file
etag = filemd5(local.image_file)
} }
# Setup IAM access for the VM Importer # Setup IAM access for the VM Importer
@ -26,11 +36,11 @@ data "aws_iam_policy_document" "vmimport" {
actions = [ actions = [
"s3:GetBucketLocation", "s3:GetBucketLocation",
"s3:GetObject", "s3:GetObject",
"s3:ListBucket", "s3:ListBucket",
] ]
resources = [ resources = [
"arn:aws:s3:::${aws_s3_object.image.bucket}", "arn:aws:s3:::${data.aws_s3_object.image.bucket}",
"arn:aws:s3:::${aws_s3_object.image.bucket}/*", "arn:aws:s3:::${data.aws_s3_object.image.bucket}/*",
] ]
} }
statement { statement {
@ -58,23 +68,28 @@ resource "aws_ebs_snapshot_import" "image" {
disk_container { disk_container {
format = "VHD" format = "VHD"
user_bucket { user_bucket {
s3_bucket = aws_s3_object.image.bucket s3_bucket = data.aws_s3_object.image.bucket
s3_key = aws_s3_object.image.key s3_key = data.aws_s3_object.image.key
} }
} }
role_name = aws_iam_role.vmimport.name role_name = aws_iam_role.vmimport.name
lifecycle {
replace_triggered_by = [terraform_data.image_replacement]
}
} }
# Convert to AMI # Convert to AMI
resource "aws_ami" "image" { resource "aws_ami" "image" {
description = "Created with NixOS." description = "Created with NixOS."
name = replace(basename(local.image_file), "/\\.vhd$/", "") name = replace(basename(data.aws_s3_object.image.key), "/\\.vhd$/", "")
virtualization_type = "hvm" virtualization_type = "hvm"
root_device_name = "/dev/xvda"
ena_support = true
ebs_block_device { ebs_block_device {
device_name = "/dev/xvda" device_name = "/dev/xvda"
snapshot_id = aws_ebs_snapshot_import.image.id snapshot_id = aws_ebs_snapshot_import.image.id
volume_size = 8 volume_size = 17
} }
} }

13
hosts/arrow/aws/main.tf Normal file
View File

@ -0,0 +1,13 @@
terraform {
backend "s3" {
region = "us-east-1"
dynamodb_table = "terraform-state-lock"
}
required_version = ">= 1.0.0"
required_providers {
aws = {
source = "hashicorp/aws"
version = "5.42.0"
}
}
}

View File

@ -0,0 +1,3 @@
output "host_ip" {
value = aws_instance.instance.public_ip
}

View File

@ -0,0 +1,10 @@
variable "ec2_size" {
type = string
description = "Size of instance to launch"
default = "t3a.small" # 2 GB RAM ($14/mo)
}
variable "images_bucket" {
description = "Name of the bucket in which to store the NixOS VM images."
type = string
}

41
hosts/arrow/default.nix Normal file
View File

@ -0,0 +1,41 @@
# The Arrow
# System configuration for temporary VM
{
inputs,
globals,
overlays,
...
}:
inputs.nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
specialArgs = {
pkgs-caddy = import inputs.nixpkgs-caddy { inherit system; };
};
modules = import ./modules.nix { inherit inputs globals overlays; } ++ [
{
# This is the root filesystem containing NixOS
fileSystems."/" = {
device = "/dev/disk/by-label/nixos";
fsType = "ext4";
};
# This is the boot filesystem for Grub
fileSystems."/boot" = {
device = "/dev/disk/by-label/boot";
fsType = "vfat";
};
virtualisation.vmVariant = {
virtualisation.forwardPorts = [
{
from = "host";
host.port = 2222;
guest.port = 22;
}
];
};
}
];
}

32
hosts/arrow/modules.nix Normal file
View File

@ -0,0 +1,32 @@
{
inputs,
globals,
overlays,
}:
[
globals
inputs.home-manager.nixosModules.home-manager
{
nixpkgs.overlays = overlays;
networking.hostName = "arrow";
physical = false;
server = true;
gui.enable = false;
theme.colors = (import ../../colorscheme/gruvbox).dark;
publicKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s personal"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKpPU2G9rSF8Q6waH62IJexDCQ6lY+8ZyVufGE3xMDGw deploy"
];
identityFile = "/home/${globals.user}/.ssh/id_ed25519";
cloudflare.enable = true;
services.openssh.enable = true;
services.caddy.enable = true;
services.n8n.enable = true;
# nix-index seems to eat up too much memory for Vultr
home-manager.users.${globals.user}.programs.nix-index.enable = inputs.nixpkgs.lib.mkForce false;
}
../../modules/common
../../modules/nixos
]

78
hosts/arrow/vultr/main.tf Normal file
View File

@ -0,0 +1,78 @@
terraform {
backend "s3" {
bucket = "noahmasur-terraform"
key = "arrow.tfstate"
region = "auto"
skip_credentials_validation = true
skip_metadata_api_check = true
skip_region_validation = true
skip_requesting_account_id = true
skip_s3_checksum = true
use_path_style = true
/*
ENVIRONMENT VARIABLES
---------------------
AWS_ACCESS_KEY_ID - R2 token
AWS_SECRET_ACCESS_KEY - R2 secret
AWS_ENDPOINT_URL_S3 - R2 location: https://ACCOUNT_ID.r2.cloudflarestorage.com
*/
}
required_version = ">= 1.0.0"
required_providers {
aws = {
source = "hashicorp/aws"
version = "5.42.0"
}
vultr = {
source = "vultr/vultr"
version = "2.19.0"
}
}
}
variable "vultr_api_key" {
type = string
description = "API key for Vultr management"
sensitive = true
}
# https://api.vultr.com/v2/plans
variable "vultr_plan" {
type = string
description = "Size of instance to launch"
default = "vc2-1c-2gb" # 55 GB SSD ($10/mo)
}
provider "aws" {
region = "auto"
skip_credentials_validation = true
skip_metadata_api_check = true
skip_region_validation = true
skip_requesting_account_id = true
}
provider "vultr" {
api_key = var.vultr_api_key
}
resource "vultr_iso_private" "image" {
# url = "https://${var.cloudflare_account_id}.r2.cloudflarestorage.com/${data.aws_s3_bucket.images.id}/${aws_s3_object.image.key}"
url = "https://arrow-images.masu.rs/arrow.iso"
}
resource "vultr_instance" "arrow" {
plan = var.vultr_plan
region = "ewr"
iso_id = vultr_iso_private.image.id
label = "arrow"
tags = ["arrow"]
enable_ipv6 = false
disable_public_ipv4 = false
backups = "disabled"
ddos_protection = false
activation_email = false
}
output "host_ip" {
value = vultr_instance.arrow.main_ip
}

View File

@ -1,27 +0,0 @@
{ inputs, system, globals, overlays, ... }:
inputs.nixos-generators.nixosGenerate {
inherit system;
format = "amazon";
modules = [
globals
inputs.home-manager.nixosModules.home-manager
{
nixpkgs.overlays = overlays;
networking.hostName = "sheep";
gui.enable = false;
theme.colors = (import ../../colorscheme/gruvbox).dark;
passwordHash = null;
publicKey =
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s";
# AWS settings require this
permitRootLogin = "prohibit-password";
}
../../modules/common
../../modules/nixos
../../modules/nixos/services/sshd.nix
] ++ [
# Required to fix diskSize errors during build
({ ... }: { amazonImage.sizeMB = 16 * 1024; })
];
}

View File

@ -1,280 +0,0 @@
name: 'Terraform'
env:
AWS_ACCOUNT_NUMBER: ''
AWS_PLAN_ROLE_NAME: github_actions_plan
AWS_APPLY_ROLE_NAME: github_actions_admin
# Always required. Used for authenticating to AWS, but can also act as your
# default region if you don't want to specify in the provider configuration.
AWS_REGION: us-east-1
# You must change these to fit your project.
TF_VAR_project: change-me
TF_VAR_label: change-me
TF_VAR_owner: Your Name Here
# If storing Terraform in a subdirectory, specify it here.
TERRAFORM_DIRECTORY: .
# Pinned versions of tools to use.
# Check for new releases:
# - https://github.com/hashicorp/terraform/releases
# - https://github.com/fugue/regula/releases
# - https://github.com/terraform-linters/tflint/releases
TERRAFORM_VERSION: 1.2.6
REGULA_VERSION: 2.9.0
TFLINT_VERSION: 0.39.1
# Terraform configuration options
TERRAFORM_PARALLELISM: 10
# These variables are passed to Terraform based on GitHub information.
TF_VAR_repo: ${{ github.repository }}
# This workflow is triggered in the following ways.
on:
# Any push or merge to these branches.
push:
branches:
- dev
- prod
# Any pull request targeting these branches (plan only).
pull_request:
branches:
- dev
- prod
# Any manual trigger on these branches.
workflow_dispatch:
branches:
- dev
- prod
# -------------------------------------------------------------------
# The rest of this workflow can operate without adjustments. Edit the
# below content at your own risk!
# -------------------------------------------------------------------
# Used to connect to AWS IAM
permissions:
id-token: write
contents: read
pull-requests: write
# Only run one workflow at a time for each Terraform state. This prevents
# lockfile conflicts, especially during PR vs push.
concurrency: terraform-${{ github.base_ref || github.ref }}
jobs:
terraform:
name: 'Terraform'
# Change this if you need to run your deployment on-prem.
runs-on: ubuntu-latest
steps:
# Downloads the current repo code to the runner.
- name: Checkout Repo Code
uses: actions/checkout@v3
# Enable access to KVM, required to build an image
- name: Enable KVM group perms
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
# Login to AWS
- name: AWS Assume Role
uses: aws-actions/configure-aws-credentials@v1.6.1
with:
role-to-assume: ${{ env.AWS_ROLE_ARN }}
aws-region: ${{ env.AWS_REGION }}
# Install Nix
- name: Install Nix
uses: cachix/install-nix-action@v17
with:
extra_nix_config: |
substituters = s3://insert-cache-bucket https://cache.nixos.org/
trusted-public-keys = insert-cache-bucket:M6PsZjHXcLvbQyPUBLICKEYGVoNwI84g1FBQzouRU= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
# Build the image
- name: Build Image
run: nix build .#aws
# Copy the image to S3
- name: Upload Image to Cache
env:
NIX_CACHE_PRIVATE_KEY: ${{ secrets.NIX_CACHE_PRIVATE_KEY }}
run: |
echo "$NIX_CACHE_PRIVATE_KEY" > cache.key
nix store sign --key-file cache.key $(readlink result)
nix copy --to s3://t2-aws-nixos-test $(readlink result)
rm cache.key
# Exports all GitHub Secrets as environment variables prefixed by
# "TF_VAR_", which exposes them to Terraform. The name of each GitHub
# Secret must match its Terraform variable name exactly.
- name: Export Secrets to Terraform Variables
env:
ALL_SECRETS: ${{ toJson(secrets) }}
run: |
echo "$ALL_SECRETS" \
| jq "to_entries | .[] | \"TF_VAR_\" + ( .key | ascii_downcase ) + \"=\" + .value" \
| tr -d \" >> $GITHUB_ENV
# Installs the Terraform binary and some other accessory functions.
- name: Setup Terraform
uses: hashicorp/setup-terraform@v2
with:
terraform_version: ${{ env.TERRAFORM_VERSION }}
# Checks whether Terraform is formatted properly. If this fails, you
# should install the pre-commit hook.
- name: Check Formatting
run: |
terraform fmt -no-color -check -diff -recursive
# Downloads a Terraform code lint test.
- uses: terraform-linters/setup-tflint@v1
name: Setup TFLint
with:
tflint_version: v${{ env.TFLINT_VERSION }}
# Sets up linting with this codebase.
- name: Init TFLint
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
run: tflint --init
# Lints the current code.
- name: Run TFLint
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
run: |
tflint -f compact
find ./modules/* -type d -maxdepth 0 | xargs -I __ tflint -f compact --disable-rule=terraform_required_providers --disable-rule=terraform_required_version __
# Connects to remote state backend and download providers.
- name: Terraform Init
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
run: |
terraform init \
-backend-config="role_arn=${{ env.AWS_STATE_ROLE_ARN }}" \
-backend-config="region=us-east-1" \
-backend-config="workspace_key_prefix=accounts/${{ env.AWS_ACCOUNT_NUMBER }}/${{ github.repository }}" \
-backend-config="key=state.tfstate" \
-backend-config="dynamodb_table=global-tf-state-lock"
# Set the Terraform Workspace to the current branch name.
- name: Set Terraform Workspace
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
shell: bash
run: |
export WORKSPACE=${{ github.base_ref || github.ref_name }}
terraform workspace select ${WORKSPACE} || terraform workspace new $WORKSPACE
echo "TF_WORKSPACE=$(echo ${WORKSPACE} | sed 's/\//_/g')" >> $GITHUB_ENV
# Checks differences between current code and infrastructure state.
- name: Terraform Plan
id: plan
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
run: |
terraform plan \
-input=false \
-no-color \
-out=tfplan \
-parallelism=${TERRAFORM_PARALLELISM} \
-var-file=variables-${TF_WORKSPACE}.tfvars
# Gets the results of the plan for pull requests.
- name: Terraform Show Plan
id: show
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
run: terraform show -no-color tfplan
# Adds the results of the plan to the pull request.
- name: Comment Plan
uses: actions/github-script@v6
if: github.event_name == 'pull_request'
env:
STDOUT: "```terraform\n${{ steps.show.outputs.stdout }}```"
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
// 1. Retrieve existing bot comments for the PR
const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
})
const botComment = comments.find(comment => {
return comment.user.type === 'Bot' && comment.body.includes('Terraform Format and Style')
})
// 2. Prepare format of the comment
const output = `#### Terraform Format and Style 🖌\`${{ steps.fmt.outcome }}\`
#### Terraform Initialization ⚙️\`${{ steps.init.outcome }}\`
#### Terraform Validation 🤖\`${{ steps.validate.outcome }}\`
<details><summary>Validation Output</summary>
\`\`\`\n
${{ steps.validate.outputs.stdout }}
\`\`\`
</details>
#### Terraform Plan 📖\`${{ steps.plan.outcome }}\`
<details><summary>Show Plan</summary>
\`\`\`\n
${process.env.PLAN}
\`\`\`
</details>
*Pusher: @${{ github.actor }}, Action: \`${{ github.event_name }}\`, Working Directory: \`${{ env.tf_actions_working_dir }}\`, Workflow: \`${{ github.workflow }}\`*`;
// 3. If we have a comment, update it, otherwise create a new one
if (botComment) {
github.rest.issues.updateComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: botComment.id,
body: output
})
} else {
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: output
})
}
# Downloads Regula and checks whether the plan meets compliance requirements.
- name: Regula Compliance Check
shell: bash
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
run: |
REGULA_URL="https://github.com/fugue/regula/releases/download/v${REGULA_VERSION}/regula_${REGULA_VERSION}_Linux_x86_64.tar.gz"
curl -sL "$REGULA_URL" -o regula.tar.gz
tar xzf regula.tar.gz
terraform show -json tfplan | ./regula run
# Deploys infrastructure or changes to infrastructure.
- name: Terraform Apply
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
working-directory: ${{ env.TERRAFORM_DIRECTORY }}
run: |
terraform apply \
-auto-approve \
-input=false \
-parallelism=${TERRAFORM_PARALLELISM} \
tfplan

View File

@ -7,11 +7,19 @@
# https://blog.korfuri.fr/posts/2022/08/nixos-on-an-oracle-free-tier-ampere-machine/ # https://blog.korfuri.fr/posts/2022/08/nixos-on-an-oracle-free-tier-ampere-machine/
# These days, probably use nixos-anywhere instead. # These days, probably use nixos-anywhere instead.
{ inputs, globals, overlays, ... }: {
inputs,
globals,
overlays,
...
}:
inputs.nixpkgs.lib.nixosSystem { inputs.nixpkgs.lib.nixosSystem rec {
system = "aarch64-linux"; system = "aarch64-linux";
specialArgs = { }; specialArgs = {
pkgs-stable = import inputs.nixpkgs-stable { inherit system; };
pkgs-caddy = import inputs.nixpkgs-caddy { inherit system; };
};
modules = [ modules = [
globals globals
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
@ -26,7 +34,11 @@ inputs.nixpkgs.lib.nixosSystem {
# Not sure what's necessary but too afraid to remove anything # Not sure what's necessary but too afraid to remove anything
imports = [ (inputs.nixpkgs + "/nixos/modules/profiles/qemu-guest.nix") ]; imports = [ (inputs.nixpkgs + "/nixos/modules/profiles/qemu-guest.nix") ];
boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "usbhid" ]; boot.initrd.availableKernelModules = [
"xhci_pci"
"virtio_pci"
"usbhid"
];
# File systems must be declared in order to boot # File systems must be declared in order to boot
@ -49,7 +61,9 @@ inputs.nixpkgs.lib.nixosSystem {
gui.enable = false; gui.enable = false;
# Still require colors for programs like Neovim, K9S # Still require colors for programs like Neovim, K9S
theme = { colors = (import ../../colorscheme/gruvbox).dark; }; theme = {
colors = (import ../../colorscheme/gruvbox-dark).dark;
};
# Programs and services # Programs and services
atuin.enable = true; atuin.enable = true;
@ -57,22 +71,28 @@ inputs.nixpkgs.lib.nixosSystem {
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.openssh.enable = true; services.openssh.enable = true;
services.victoriametrics.enable = true; services.victoriametrics.enable = true;
services.influxdb2.enable = true; services.influxdb2.enable = true;
services.gitea.enable = true; services.gitea.enable = true;
services.vaultwarden.enable = true; services.vaultwarden.enable = true;
services.minecraft-server.enable = true; # Setup Minecraft server services.minecraft-server.enable = true; # Setup Minecraft server
services.n8n.enable = true;
services.ntfy-sh.enable = true;
services.postgresql.enable = true;
services.uptime-kuma.enable = true;
system.autoUpgrade.enable = true;
# Allows private remote access over the internet # Allows private remote access over the internet
cloudflareTunnel = { cloudflareTunnel = {
enable = true; enable = true;
id = "bd250ee1-ed2e-42d2-b627-039f1eb5a4d2"; id = "bd250ee1-ed2e-42d2-b627-039f1eb5a4d2";
credentialsFile = ../../private/cloudflared-flame.age; credentialsFile = ../../private/cloudflared-flame.age;
ca = ca = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK/6oyVqjFGX3Uvrc3VS8J9sphxzAnRzKC85xgkHfYgR3TK6qBGXzHrknEj21xeZrr3G2y1UsGzphWJd9ZfIcdA= open-ssh-ca@cloudflareaccess.org";
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK/6oyVqjFGX3Uvrc3VS8J9sphxzAnRzKC85xgkHfYgR3TK6qBGXzHrknEj21xeZrr3G2y1UsGzphWJd9ZfIcdA= open-ssh-ca@cloudflareaccess.org";
}; };
# Nextcloud backup config # Nextcloud backup config
@ -80,11 +100,13 @@ inputs.nixpkgs.lib.nixosSystem {
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
publicKey = publicKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s"; "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s personal"
];
# # Wireguard config for Transmission # # Wireguard config for Transmission
# wireguard.enable = true; # wireguard.enable = true;
@ -114,7 +136,6 @@ inputs.nixpkgs.lib.nixosSystem {
# # VPN port forwarding # # VPN port forwarding
# services.transmission.settings.peer-port = 57599; # services.transmission.settings.peer-port = 57599;
} }
]; ];
} }

View File

@ -3,7 +3,12 @@
# See [readme](../README.md) to explain how this file works. # See [readme](../README.md) to explain how this file works.
{ inputs, globals, overlays, ... }: {
inputs,
globals,
overlays,
...
}:
inputs.nixpkgs.lib.nixosSystem { inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
@ -32,8 +37,7 @@ inputs.nixpkgs.lib.nixosSystem {
startMenuLaunchers = true; startMenuLaunchers = true;
nativeSystemd = true; nativeSystemd = true;
wslConf.network.generateResolvConf = true; # Turn off if it breaks VPN wslConf.network.generateResolvConf = true; # Turn off if it breaks VPN
interop.includePath = interop.includePath = false; # Including Windows PATH will slow down Neovim command mode
false; # Including Windows PATH will slow down Neovim command mode
}; };
neovim.enable = true; neovim.enable = true;
@ -41,7 +45,6 @@ inputs.nixpkgs.lib.nixosSystem {
mail.aerc.enable = true; mail.aerc.enable = true;
mail.himalaya.enable = true; mail.himalaya.enable = true;
dotfiles.enable = true; dotfiles.enable = true;
nixlang.enable = true;
lua.enable = true; lua.enable = true;
} }
]; ];

View File

@ -1,7 +1,12 @@
# The Looking Glass # The Looking Glass
# System configuration for my work Macbook # System configuration for my work Macbook
{ inputs, globals, overlays, ... }: {
inputs,
globals,
overlays,
...
}:
inputs.darwin.lib.darwinSystem { inputs.darwin.lib.darwinSystem {
system = "aarch64-darwin"; system = "aarch64-darwin";
@ -9,15 +14,20 @@ inputs.darwin.lib.darwinSystem {
modules = [ modules = [
../../modules/common ../../modules/common
../../modules/darwin ../../modules/darwin
(globals // rec { (
user = "Noah.Masur"; globals
gitName = "Noah-Masur_1701"; // rec {
gitEmail = "${user}@take2games.com"; user = "Noah.Masur";
}) gitName = "Noah-Masur_1701";
gitEmail = "${user}@take2games.com";
}
)
inputs.home-manager.darwinModules.home-manager inputs.home-manager.darwinModules.home-manager
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 = {
@ -35,7 +45,6 @@ inputs.darwin.lib.darwinSystem {
discord.enable = true; discord.enable = true;
firefox.enable = true; firefox.enable = true;
dotfiles.enable = true; dotfiles.enable = true;
nixlang.enable = true;
terraform.enable = true; terraform.enable = true;
python.enable = true; python.enable = true;
rust.enable = true; rust.enable = true;
@ -44,6 +53,8 @@ inputs.darwin.lib.darwinSystem {
kubernetes.enable = true; kubernetes.enable = true;
_1password.enable = true; _1password.enable = true;
slack.enable = true; slack.enable = true;
wezterm.enable = true;
yt-dlp.enable = true;
} }
]; ];
} }

View File

@ -1,43 +1,53 @@
# The Staff # The Staff
# ISO configuration for my USB drive # ISO configuration for my USB drive
{ inputs, system, overlays, ... }: {
inputs,
system,
overlays,
...
}:
inputs.nixos-generators.nixosGenerate { inputs.nixos-generators.nixosGenerate {
inherit system; inherit system;
format = "install-iso"; format = "install-iso";
modules = [{ modules = [
nixpkgs.overlays = overlays; {
networking.hostName = "staff"; nixpkgs.overlays = overlays;
users.extraUsers.root.openssh.authorizedKeys.keys = [ networking.hostName = "staff";
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s" users.extraUsers.root.openssh.authorizedKeys.keys = [
]; "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s"
services.openssh = {
enable = true;
ports = [ 22 ];
allowSFTP = true;
settings = {
GatewayPorts = "no";
X11Forwarding = false;
PasswordAuthentication = false;
PermitRootLogin = "yes";
};
};
environment.systemPackages =
let pkgs = import inputs.nixpkgs { inherit system overlays; };
in with pkgs; [
git
vim
wget
curl
(import ../../modules/common/neovim/package {
inherit pkgs;
colors = (import ../../colorscheme/gruvbox).dark;
})
]; ];
nix.extraOptions = '' services.openssh = {
experimental-features = nix-command flakes enable = true;
warn-dirty = false ports = [ 22 ];
''; allowSFTP = true;
}]; settings = {
GatewayPorts = "no";
X11Forwarding = false;
PasswordAuthentication = false;
PermitRootLogin = "yes";
};
};
environment.systemPackages =
let
pkgs = import inputs.nixpkgs { inherit system overlays; };
in
with pkgs;
[
git
vim
wget
curl
(import ../../modules/common/neovim/package {
inherit pkgs;
colors = (import ../../colorscheme/gruvbox).dark;
})
];
nix.extraOptions = ''
experimental-features = nix-command flakes
warn-dirty = false
'';
}
];
} }

View File

@ -1,13 +1,19 @@
# The Swan # The Swan
# System configuration for my home NAS server # System configuration for my home NAS server
# See [readme](../README.md) to explain how this file works. {
inputs,
globals,
overlays,
...
}:
{ inputs, globals, overlays, ... }: inputs.nixpkgs.lib.nixosSystem rec {
inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = { }; specialArgs = {
pkgs-stable = import inputs.nixpkgs-stable { inherit system; };
pkgs-caddy = import inputs.nixpkgs-caddy { inherit system; };
};
modules = [ modules = [
globals globals
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
@ -23,8 +29,13 @@ inputs.nixpkgs.lib.nixosSystem {
networking.hostName = "swan"; networking.hostName = "swan";
# Not sure what's necessary but too afraid to remove anything # Not sure what's necessary but too afraid to remove anything
boot.initrd.availableKernelModules = boot.initrd.availableKernelModules = [
[ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ]; "xhci_pci"
"ahci"
"nvme"
"usb_storage"
"sd_mod"
];
# Required for transcoding # Required for transcoding
boot.initrd.kernelModules = [ "amdgpu" ]; boot.initrd.kernelModules = [ "amdgpu" ];
@ -56,8 +67,27 @@ inputs.nixpkgs.lib.nixosSystem {
devices = (import ../../disks/root.nix { disk = "/dev/nvme0n1"; }); devices = (import ../../disks/root.nix { disk = "/dev/nvme0n1"; });
}; };
# Automatically load the ZFS pool on boot zramSwap.enable = true;
boot.zfs.extraPools = [ "tank" ]; swapDevices = [
{
device = "/swapfile";
size = 4 * 1024; # 4 GB
}
];
boot.zfs = {
# Automatically load the ZFS pool on boot
extraPools = [ "tank" ];
# Only try to decrypt datasets with keyfiles
requestEncryptionCredentials = [
"tank/archive"
"tank/generic"
"tank/nextcloud"
"tank/generic/git"
];
# If password is requested and fails, continue to boot eventually
passwordTimeout = 300;
};
# Theming # Theming
@ -65,7 +95,9 @@ inputs.nixpkgs.lib.nixosSystem {
gui.enable = false; gui.enable = false;
# Still require colors for programs like Neovim, K9S # Still require colors for programs like Neovim, K9S
theme = { colors = (import ../../colorscheme/gruvbox).dark; }; theme = {
colors = (import ../../colorscheme/gruvbox-dark).dark;
};
# Programs and services # Programs and services
atuin.enable = true; atuin.enable = true;
@ -73,8 +105,11 @@ inputs.nixpkgs.lib.nixosSystem {
cloudflare.enable = true; cloudflare.enable = true;
dotfiles.enable = true; dotfiles.enable = true;
arrs.enable = true; arrs.enable = true;
filebrowser.enable = true;
services.audiobookshelf.enable = true;
services.bind.enable = true; services.bind.enable = true;
services.caddy.enable = true; services.caddy.enable = true;
services.immich.enable = true;
services.jellyfin.enable = true; services.jellyfin.enable = true;
services.nextcloud.enable = true; services.nextcloud.enable = true;
services.calibre-web.enable = true; services.calibre-web.enable = true;
@ -84,14 +119,14 @@ inputs.nixpkgs.lib.nixosSystem {
services.samba.enable = true; services.samba.enable = true;
services.paperless.enable = true; services.paperless.enable = true;
services.postgresql.enable = true; services.postgresql.enable = true;
system.autoUpgrade.enable = false;
# Allows private remote access over the internet # Allows private remote access over the internet
cloudflareTunnel = { cloudflareTunnel = {
enable = true; enable = true;
id = "646754ac-2149-4a58-b51a-e1d0a1f3ade2"; id = "646754ac-2149-4a58-b51a-e1d0a1f3ade2";
credentialsFile = ../../private/cloudflared-swan.age; credentialsFile = ../../private/cloudflared-swan.age;
ca = ca = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCHF/UMtJqPFrf6f6GRY0ZFnkCW7b6sYgUTjTtNfRj1RdmNic1NoJZql7y6BrqQinZvy7nsr1UFDNWoHn6ah3tg= open-ssh-ca@cloudflareaccess.org";
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCHF/UMtJqPFrf6f6GRY0ZFnkCW7b6sYgUTjTtNfRj1RdmNic1NoJZql7y6BrqQinZvy7nsr1UFDNWoHn6ah3tg= open-ssh-ca@cloudflareaccess.org";
}; };
# Send regular backups and litestream for DBs to an S3-like bucket # Send regular backups and litestream for DBs to an S3-like bucket
@ -99,11 +134,13 @@ inputs.nixpkgs.lib.nixosSystem {
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
publicKey = publicKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s"; "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s personal"
];
} }
]; ];
} }

View File

@ -1,12 +1,19 @@
# The Tempest # The Tempest
# System configuration for my desktop # System configuration for my desktop
# See [readme](../README.md) to explain how this file works. {
inputs,
globals,
overlays,
...
}:
{ inputs, globals, overlays, ... }: inputs.nixpkgs.lib.nixosSystem rec {
inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = {
pkgs-stable = import inputs.nixpkgs-stable { inherit system; };
pkgs-caddy = import inputs.nixpkgs-caddy { inherit system; };
};
modules = [ modules = [
globals globals
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
@ -20,14 +27,26 @@ inputs.nixpkgs.lib.nixosSystem {
networking.hostName = "tempest"; networking.hostName = "tempest";
# Not sure what's necessary but too afraid to remove anything # Not sure what's necessary but too afraid to remove anything
boot.initrd.availableKernelModules = boot.initrd.availableKernelModules = [
[ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; "nvme"
"xhci_pci"
"ahci"
"usb_storage"
"usbhid"
"sd_mod"
];
# Graphics and VMs # Graphics and VMs
boot.initrd.kernelModules = [ "amdgpu" ]; boot.initrd.kernelModules = [ "amdgpu" ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
services.xserver.videoDrivers = [ "amdgpu" ]; services.xserver.videoDrivers = [ "amdgpu" ];
# I don't think I need this?
# boot.kernelParams = [
# "video=DP-0:2560x1440@165"
# "video=DP-1:1920x1080@60"
# ];
# Required binary blobs to boot on this machine # Required binary blobs to boot on this machine
hardware.enableRedistributableFirmware = true; hardware.enableRedistributableFirmware = true;
@ -101,36 +120,34 @@ inputs.nixpkgs.lib.nixosSystem {
mail.himalaya.enable = true; mail.himalaya.enable = true;
keybase.enable = true; keybase.enable = true;
mullvad.enable = false; mullvad.enable = false;
nixlang.enable = true;
rust.enable = true; rust.enable = true;
terraform.enable = true;
wezterm.enable = true;
yt-dlp.enable = true; yt-dlp.enable = true;
gaming = { gaming = {
dwarf-fortress.enable = true; dwarf-fortress.enable = true;
enable = true; enable = true;
steam.enable = true; steam.enable = true;
moonlight.enable = true;
legendary.enable = true; legendary.enable = true;
lutris.enable = true; lutris.enable = true;
leagueoflegends.enable = true;
ryujinx.enable = true; ryujinx.enable = true;
}; };
services.vmagent.enable = true; # Enables Prometheus metrics services.vmagent.enable = true; # Enables Prometheus metrics
services.openssh.enable = services.openssh.enable = true; # Required for Cloudflare tunnel and identity file
true; # Required for Cloudflare tunnel and identity file
# Allows private remote access over the internet # Allows private remote access over the internet
cloudflareTunnel = { cloudflareTunnel = {
enable = true; enable = true;
id = "ac133a82-31fb-480c-942a-cdbcd4c58173"; id = "ac133a82-31fb-480c-942a-cdbcd4c58173";
credentialsFile = ../../private/cloudflared-tempest.age; credentialsFile = ../../private/cloudflared-tempest.age;
ca = ca = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPY6C0HmdFCaxYtJxFr3qV4/1X4Q8KrYQ1hlme3u1hJXK+xW+lc9Y9glWHrhiTKilB7carYTB80US0O47gI5yU4= open-ssh-ca@cloudflareaccess.org";
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPY6C0HmdFCaxYtJxFr3qV4/1X4Q8KrYQ1hlme3u1hJXK+xW+lc9Y9glWHrhiTKilB7carYTB80US0O47gI5yU4= open-ssh-ca@cloudflareaccess.org";
}; };
# Allows requests to force machine to wake up # Allows requests to force machine to wake up
# This network interface might change, needs to be set specifically for each machine. # This network interface might change, needs to be set specifically for each machine.
# Or set usePredictableInterfaceNames = false # Or set usePredictableInterfaceNames = false
networking.interfaces.enp5s0.wakeOnLan.enable = true; networking.interfaces.enp5s0.wakeOnLan.enable = true;
} }
]; ];
} }

View File

@ -4,3 +4,4 @@ ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHVknmPi7sG6ES0G0jcsvebzKGWWaMfJTYgvOue6EULI flame ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHVknmPi7sG6ES0G0jcsvebzKGWWaMfJTYgvOue6EULI flame
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ9mwXlZnIALt9SnH3FOZvdgHLM5ZqwYUERXBbM7Rwh6 swan ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ9mwXlZnIALt9SnH3FOZvdgHLM5ZqwYUERXBbM7Rwh6 swan
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC3yHivgEXr2ecwe58h9bkhwTYivf3GwL8xenQKMeiUb tempest ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC3yHivgEXr2ecwe58h9bkhwTYivf3GwL8xenQKMeiUb tempest
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICmGHIWBZzRx35/yFgnPJSHN2+35WJ30G9c5tDhPsCrl arrow

9
modules/aws/default.nix Normal file
View File

@ -0,0 +1,9 @@
{ ... }:
{
# AWS settings require this
permitRootLogin = "prohibit-password";
# Make sure disk size is large enough
# https://github.com/nix-community/nixos-generators/issues/150
amazonImage.sizeMB = 16 * 1024;
}

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
options = { options = {
_1password = { _1password = {
@ -10,17 +16,26 @@
}; };
config = lib.mkIf (config.gui.enable && config._1password.enable) { config = lib.mkIf (config.gui.enable && config._1password.enable) {
unfreePackages = [ "1password" "_1password-gui" "1password-cli" ]; unfreePackages = [
"1password"
"_1password-gui"
"1password-cli"
];
home-manager.users.${config.user} = { home-manager.users.${config.user} = {
home.packages = with pkgs; [ _1password-gui ]; home.packages = [
pkgs._1password-cli
] ++ (if pkgs.stdenv.isLinux then [ pkgs._1password-gui ] else [ ]);
}; };
# https://1password.community/discussion/135462/firefox-extension-does-not-connect-to-linux-app # https://1password.community/discussion/135462/firefox-extension-does-not-connect-to-linux-app
# Doesn't seem to fix the issue on macOS anyway # On Mac, does not apply: https://1password.community/discussion/142794/app-and-browser-integration
# However, the button doesn't work either:
# https://1password.community/discussion/140735/extending-support-for-trusted-web-browsers
environment.etc."1password/custom_allowed_browsers".text = '' environment.etc."1password/custom_allowed_browsers".text = ''
${config.home-manager.users.${config.user}.programs.firefox.package} ${
config.home-manager.users.${config.user}.programs.firefox.package
}/Applications/Firefox.app/Contents/MacOS/firefox
firefox firefox
''; '';
}; };
} }

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
options = { options = {
alacritty = { alacritty = {
@ -28,7 +34,9 @@
opacity = 1.0; opacity = 1.0;
}; };
scrolling.history = 10000; scrolling.history = 10000;
font = { size = 14.0; }; font = {
size = 14.0;
};
key_bindings = [ key_bindings = [
# Used for word completion in fish_user_key_bindings # Used for word completion in fish_user_key_bindings
{ {

View File

@ -1,4 +1,5 @@
{ ... }: { { ... }:
{
imports = [ imports = [
./1password.nix ./1password.nix
@ -10,7 +11,7 @@
./obsidian.nix ./obsidian.nix
./qbittorrent.nix ./qbittorrent.nix
./slack.nix ./slack.nix
./wezterm.nix
./yt-dlp.nix ./yt-dlp.nix
]; ];
} }

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
options = { options = {
discord = { discord = {
@ -11,8 +17,8 @@
config = lib.mkIf (config.gui.enable && config.discord.enable) { config = lib.mkIf (config.gui.enable && config.discord.enable) {
unfreePackages = [ "discord" ]; unfreePackages = [ "discord" ];
environment.systemPackages = [ pkgs.discord ];
home-manager.users.${config.user} = { home-manager.users.${config.user} = {
home.packages = with pkgs; [ discord ];
xdg.configFile."discord/settings.json".text = '' xdg.configFile."discord/settings.json".text = ''
{ {
"BACKGROUND_COLOR": "#202225", "BACKGROUND_COLOR": "#202225",

View File

@ -1,4 +1,9 @@
{ config, pkgs, lib, ... }: {
config,
pkgs,
lib,
...
}:
{ {
@ -16,15 +21,13 @@
unfreePackages = [ unfreePackages = [
(lib.mkIf config._1password.enable "onepassword-password-manager") (lib.mkIf config._1password.enable "onepassword-password-manager")
"okta-browser-plugin" "okta-browser-plugin"
"wappalyzer"
]; ];
home-manager.users.${config.user} = { home-manager.users.${config.user} = {
programs.firefox = { programs.firefox = {
enable = true; enable = true;
package = package = if pkgs.stdenv.isDarwin then pkgs.firefox-bin else pkgs.firefox;
if pkgs.stdenv.isDarwin then pkgs.firefox-bin else pkgs.firefox;
profiles.default = { profiles.default = {
id = 0; id = 0;
name = "default"; name = "default";
@ -32,7 +35,6 @@
# https://nur.nix-community.org/repos/rycee/ # https://nur.nix-community.org/repos/rycee/
extensions = with pkgs.nur.repos.rycee.firefox-addons; [ extensions = with pkgs.nur.repos.rycee.firefox-addons; [
(lib.mkIf config._1password.enable onepassword-password-manager) (lib.mkIf config._1password.enable onepassword-password-manager)
pkgs.bypass-paywalls-clean
darkreader darkreader
don-t-fuck-with-paste don-t-fuck-with-paste
facebook-container facebook-container
@ -41,44 +43,36 @@
okta-browser-plugin okta-browser-plugin
reddit-enhancement-suite reddit-enhancement-suite
return-youtube-dislikes return-youtube-dislikes
snowflake
sponsorblock sponsorblock
ublock-origin ublock-origin
ublacklist ublacklist
vimium vimium
wappalyzer
]; ];
settings = { settings = {
"app.update.auto" = false; "app.update.auto" = false;
"browser.aboutConfig.showWarning" = false; "browser.aboutConfig.showWarning" = false;
"browser.warnOnQuit" = false; "browser.warnOnQuit" = false;
"browser.quitShortcut.disabled" = "browser.quitShortcut.disabled" = if pkgs.stdenv.isLinux then true else false;
if pkgs.stdenv.isLinux then true else false;
"browser.theme.dark-private-windows" = true; "browser.theme.dark-private-windows" = true;
"browser.toolbars.bookmarks.visibility" = false; "browser.toolbars.bookmarks.visibility" = false;
"browser.startup.page" = 3; # Restore previous session "browser.startup.page" = 3; # Restore previous session
"browser.newtabpage.enabled" = false; # Make new tabs blank "browser.newtabpage.enabled" = false; # Make new tabs blank
"trailhead.firstrun.didSeeAboutWelcome" = "trailhead.firstrun.didSeeAboutWelcome" = true; # Disable welcome splash
true; # Disable welcome splash
"dom.forms.autocomplete.formautofill" = false; # Disable autofill "dom.forms.autocomplete.formautofill" = false; # Disable autofill
"extensions.formautofill.creditCards.enabled" = "extensions.formautofill.creditCards.enabled" = false; # Disable credit cards
false; # Disable credit cards
"dom.payments.defaults.saveAddress" = false; # Disable address save "dom.payments.defaults.saveAddress" = false; # Disable address save
"general.autoScroll" = true; # Drag middle-mouse to scroll "general.autoScroll" = true; # Drag middle-mouse to scroll
"services.sync.prefs.sync.general.autoScroll" = "services.sync.prefs.sync.general.autoScroll" = false; # Prevent disabling autoscroll
false; # Prevent disabling autoscroll
"extensions.pocket.enabled" = false; "extensions.pocket.enabled" = false;
"toolkit.legacyUserProfileCustomizations.stylesheets" = "toolkit.legacyUserProfileCustomizations.stylesheets" = true; # Allow userChrome.css
true; # Allow userChrome.css
"layout.css.color-mix.enabled" = true; "layout.css.color-mix.enabled" = true;
"ui.systemUsesDarkTheme" = "ui.systemUsesDarkTheme" = if config.theme.dark == true then 1 else 0;
if config.theme.dark == true then 1 else 0; "media.ffmpeg.vaapi.enabled" = true; # Enable hardware video acceleration
"media.ffmpeg.vaapi.enabled" =
true; # Enable hardware video acceleration
"cookiebanners.ui.desktop.enabled" = true; # Reject cookie popups "cookiebanners.ui.desktop.enabled" = true; # Reject cookie popups
"devtools.command-button-screenshot.enabled" = "devtools.command-button-screenshot.enabled" = true; # Scrolling screenshot of entire page
true; # Scrolling screenshot of entire page
"svg.context-properties.content.enabled" = true; # Sidebery styling "svg.context-properties.content.enabled" = true; # Sidebery styling
"browser.tabs.hoverPreview.enabled" = false; # Disable tab previews
"browser.tabs.hoverPreview.showThumbnails" = false; # Disable tab previews
}; };
userChrome = '' userChrome = ''
:root { :root {
@ -163,28 +157,47 @@
extraConfig = ""; extraConfig = "";
}; };
};
# Mimic nixpkgs package environment for read-only profiles.ini management
# From: https://github.com/booxter/home-manager/commit/dd1602e306fec366280f5953c5e1b553e3d9672a
home.sessionVariables = {
MOZ_LEGACY_PROFILES = 1;
MOZ_ALLOW_DOWNGRADE = 1;
};
# launchd.user.envVariables = config.home-manager.users.${config.user}.home.sessionVariables;
xdg.mimeApps = {
associations.added = {
"text/html" = [ "firefox.desktop" ];
};
defaultApplications = {
"text/html" = [ "firefox.desktop" ];
};
associations.removed = {
"text/html" = [ "wine-extension-htm.desktop" ];
};
}; };
xsession.windowManager.i3.config.keybindings = xsession.windowManager.i3.config.keybindings = lib.mkIf pkgs.stdenv.isLinux {
lib.mkIf pkgs.stdenv.isLinux { "${
"${ config.home-manager.users.${config.user}.xsession.windowManager.i3.config.modifier
config.home-manager.users.${config.user}.xsession.windowManager.i3.config.modifier }+Shift+b" = "exec ${
}+Shift+b" = "exec ${ # Don't name the script `firefox` or it will affect grep
# Don't name the script `firefox` or it will affect grep builtins.toString (
builtins.toString (pkgs.writeShellScript "focus-ff.sh" '' pkgs.writeShellScript "focus-ff.sh" ''
count=$(ps aux | grep -c firefox) count=$(ps aux | grep -c firefox)
if [ "$count" -eq 1 ]; then if [ "$count" -eq 1 ]; then
i3-msg "exec --no-startup-id firefox" i3-msg "exec --no-startup-id firefox"
sleep 0.5 sleep 0.5
fi fi
i3-msg "[class=firefox] focus" i3-msg "[class=firefox] focus"
'') ''
}"; )
}; }";
};
}; };
}; };
} }

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
options = { options = {
kitty = { kitty = {
@ -13,26 +19,28 @@
# Set the Rofi-Systemd terminal for viewing logs # Set the Rofi-Systemd terminal for viewing logs
# Using optionalAttrs because only available in NixOS # Using optionalAttrs because only available in NixOS
environment = { } // lib.attrsets.optionalAttrs environment =
(builtins.hasAttr "sessionVariables" config.environment) { { }
sessionVariables.ROFI_SYSTEMD_TERM = "${pkgs.kitty}/bin/kitty"; // lib.attrsets.optionalAttrs (builtins.hasAttr "sessionVariables" config.environment) {
sessionVariables.ROFI_SYSTEMD_TERM = lib.mkDefault "${pkgs.kitty}/bin/kitty";
}; };
home-manager.users.${config.user} = { home-manager.users.${config.user} = {
# Set the i3 terminal # Set the i3 terminal
xsession.windowManager.i3.config.terminal = xsession.windowManager.i3.config.terminal = lib.mkIf pkgs.stdenv.isLinux "kitty";
lib.mkIf pkgs.stdenv.isLinux "kitty";
# Set the Rofi terminal for running programs # Set the Rofi terminal for running programs
programs.rofi.terminal = programs.rofi.terminal = lib.mkIf pkgs.stdenv.isLinux (lib.mkDefault "${pkgs.kitty}/bin/kitty");
lib.mkIf pkgs.stdenv.isLinux "${pkgs.kitty}/bin/kitty";
# Display images in the terminal # Display images in the terminal
programs.fish.shellAliases = { programs.fish.interactiveShellInit = # fish
icat = "kitty +kitten icat"; ''
ssh = "kitty +kitten ssh"; if test "$TERM" = "xterm-kitty"
}; alias icat="kitty +kitten icat"
alias ssh="kitty +kitten ssh"
end
'';
programs.kitty = { programs.kitty = {
enable = true; enable = true;
@ -92,8 +100,8 @@
color21 = config.theme.colors.base06; color21 = config.theme.colors.base06;
# Scrollback # Scrollback
scrolling_lines = 10000; scrollback_lines = 10000;
scrollback_pager_history_size = 10; # MB scrollback_pager_history_size = 300; # MB
# Window # Window
window_padding_width = 6; window_padding_width = 6;

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
options = { options = {
media = { media = {
@ -40,20 +46,22 @@
associations.added = { associations.added = {
"application/pdf" = [ "pwmt.zathura-cb.desktop" ]; "application/pdf" = [ "pwmt.zathura-cb.desktop" ];
"image/jpeg" = [ "nsxiv.desktop" ]; "image/jpeg" = [ "nsxiv.desktop" ];
"image/png" = [ "nsxiv.desktop" ];
"image/*" = [ "nsxiv.desktop" ]; "image/*" = [ "nsxiv.desktop" ];
}; };
associations.removed = { associations.removed = {
"application/pdf" = [ "mupdf.desktop" "wine-extension-pdf.desktop" ]; "application/pdf" = [
"mupdf.desktop"
"wine-extension-pdf.desktop"
];
}; };
defaultApplications = { defaultApplications = {
"application/pdf" = [ "pwmt.zathura-cb.desktop" ]; "application/pdf" = [ "pwmt.zathura-cb.desktop" ];
"image/jpeg" = [ "nsxiv.desktop" ]; "image/jpeg" = [ "nsxiv.desktop" ];
"image/png" = [ "nsxiv.desktop" ];
"image/*" = [ "nsxiv.desktop" ]; "image/*" = [ "nsxiv.desktop" ];
}; };
}; };
}; };
}; };
} }

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
options = { options = {
obsidian = { obsidian = {
@ -17,8 +23,6 @@
# Broken on 2023-12-11 # Broken on 2023-12-11
# https://forum.obsidian.md/t/electron-25-is-now-eol-please-upgrade-to-a-newer-version/72878/8 # https://forum.obsidian.md/t/electron-25-is-now-eol-please-upgrade-to-a-newer-version/72878/8
nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" ]; insecurePackages = [ "electron-25.9.0" ];
}; };
} }

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
options = { options = {
qbittorrent = { qbittorrent = {
@ -14,8 +20,6 @@
home-manager.users.${config.user} = { home-manager.users.${config.user} = {
home.packages = with pkgs; [ qbittorrent ]; home.packages = with pkgs; [ qbittorrent ];
}; };
}; };
} }

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
options = { options = {
slack = { slack = {
@ -16,4 +22,5 @@
}; };
}; };
# Theme string: #1D2122,#665C54,#8EC07C,#BDAE93
} }

View File

@ -0,0 +1,286 @@
{
config,
pkgs,
lib,
...
}:
{
options = {
wezterm = {
enable = lib.mkEnableOption {
description = "Enable WezTerm terminal.";
default = false;
};
};
};
config =
let
font = config.home-manager.users.${config.user}.programs.kitty.font.name;
in
lib.mkIf (config.gui.enable && config.wezterm.enable) {
# Set the Rofi-Systemd terminal for viewing logs
# Using optionalAttrs because only available in NixOS
environment =
{ }
// lib.attrsets.optionalAttrs (builtins.hasAttr "sessionVariables" config.environment) {
sessionVariables.ROFI_SYSTEMD_TERM = "${pkgs.wezterm}/bin/wezterm";
};
terminal = "${pkgs.wezterm}/bin/wezterm";
terminalLaunchCommand = "${config.terminal} start --";
home-manager.users.${config.user} = {
# Set the i3 terminal
xsession.windowManager.i3.config.terminal = lib.mkIf pkgs.stdenv.isLinux "wezterm";
# Display images in the terminal
programs.fish.shellAliases = {
icat = lib.mkForce "wezterm imgcat";
};
programs.wezterm = {
enable = true;
colorSchemes = {
myTheme = {
background = config.theme.colors.base00;
foreground = config.theme.colors.base05;
cursor_bg = config.theme.colors.base05;
cursor_fg = config.theme.colors.base00;
cursor_border = config.theme.colors.base05;
selection_bg = config.theme.colors.base05;
selection_fg = config.theme.colors.base00;
scrollbar_thumb = config.theme.colors.base03;
ansi = [
config.theme.colors.base01 # black
config.theme.colors.base0F # maroon
config.theme.colors.base0B # green
config.theme.colors.base0A # olive
config.theme.colors.base0D # navy
config.theme.colors.base0E # purple
config.theme.colors.base0C # teal
config.theme.colors.base06 # silver
];
brights = [
config.theme.colors.base03 # grey
config.theme.colors.base08 # red
config.theme.colors.base0B # lime
config.theme.colors.base0A # yellow
config.theme.colors.base0D # blue
config.theme.colors.base0E # fuchsia
config.theme.colors.base0C # aqua
config.theme.colors.base07 # white
];
compose_cursor = config.theme.colors.base09; # orange
copy_mode_active_highlight_bg = {
Color = config.theme.colors.base03;
};
copy_mode_active_highlight_fg = {
Color = config.theme.colors.base07;
};
copy_mode_inactive_highlight_bg = {
Color = config.theme.colors.base02;
};
copy_mode_inactive_highlight_fg = {
Color = config.theme.colors.base06;
};
quick_select_label_bg = {
Color = config.theme.colors.base02;
};
quick_select_label_fg = {
Color = config.theme.colors.base06;
};
quick_select_match_bg = {
Color = config.theme.colors.base03;
};
quick_select_match_fg = {
Color = config.theme.colors.base07;
};
};
};
extraConfig = ''
local wezterm = require("wezterm")
local config = wezterm.config_builder()
config.check_for_updates = false
config.color_scheme = "myTheme"
-- Scrollback
config.scrollback_lines = 10000
-- Window
config.window_padding = {
left = 10,
right = 10,
top = 10,
bottom = 12,
}
config.font = wezterm.font('${font}', { weight = 'Bold'})
config.font_size = ${if pkgs.stdenv.isLinux then "14.0" else "18.0"}
-- Fix color blocks instead of text
config.front_end = "WebGpu"
-- Tab Bar
config.hide_tab_bar_if_only_one_tab = true
config.window_frame = {
font = wezterm.font('${font}', { weight = 'Bold'}),
font_size = ${if pkgs.stdenv.isLinux then "12.0" else "16.0"},
}
config.colors = {
tab_bar = {
active_tab = {
bg_color = '${config.theme.colors.base00}',
fg_color = '${config.theme.colors.base04}',
},
},
}
-- Disable audio
config.audible_bell = "Disabled"
config.initial_rows = 80
config.initial_cols = 200
config.unix_domains = {
{
name = 'unix',
},
}
-- This causes `wezterm` to act as though it was started as
-- `wezterm connect unix` by default, connecting to the unix
-- domain on startup.
-- If you prefer to connect manually, leave out this line.
config.default_gui_startup_args = { 'connect', 'unix' }
config.leader = {
key = 'a',
mods = 'CTRL',
timeout_milliseconds = 2000,
}
config.keys = {
-- Attach to muxer
{
key = 'a',
mods = 'LEADER',
action = wezterm.action.AttachDomain 'unix',
},
-- Detach from muxer
{
key = 'd',
mods = 'LEADER',
action = wezterm.action.DetachDomain { DomainName = 'unix' },
},
-- sends completion string for fish autosuggestions
{
key = 'Enter',
mods = 'SHIFT',
action = wezterm.action.SendString '\x1F'
},
-- ctrl-shift-h was "hide"
{
key = 'H',
mods = 'SHIFT|CTRL',
action = wezterm.action.DisableDefaultAssignment
},
-- alt-enter was "fullscreen"
{
key = 'Enter',
mods = 'ALT',
action = wezterm.action.DisableDefaultAssignment
},
-- make super-f "fullscreen"
{
key = 'f',
mods = 'SUPER',
action = wezterm.action.ToggleFullScreen
},
-- super-t open new tab in new dir
{
key = 't',
mods = ${if pkgs.stdenv.isDarwin then "'SUPER'" else "'ALT'"},
action = wezterm.action.SpawnCommandInNewTab {
cwd = wezterm.home_dir,
},
},
-- shift-super-t open new tab in same dir
{
key = 't',
mods = 'SUPER|SHIFT',
action = wezterm.action.SpawnTab 'CurrentPaneDomain'
},
-- project switcher
{
key = 'P',
mods = 'SUPER',
action = wezterm.action_callback(function(window, pane)
local choices = {}
wezterm.log_info "working?"
function scandir(directory)
local i, t, popen = 0, {}, io.popen
local pfile = popen('${pkgs.fd}/bin/fd --search-path "'..directory..'" --type directory --exact-depth 2 | ${pkgs.proximity-sort}/bin/proximity-sort "'..os.getenv("HOME").."/dev/work"..'"')
for filename in pfile:lines() do
i = i + 1
t[i] = filename
end
pfile:close()
return t
end
for _, v in pairs(scandir(os.getenv("HOME").."/dev")) do
table.insert(choices, { label = v })
end
window:perform_action(
wezterm.action.InputSelector {
action = wezterm.action_callback(function(window, pane, id, label)
if not id and not label then
wezterm.log_info "cancelled"
else
window:perform_action(
wezterm.action.SpawnCommandInNewTab {
cwd = label,
},
pane
)
end
end),
fuzzy = true,
title = "Select Project",
choices = choices,
},
pane
)
end),
},
}
-- print the workspace name at the upper right
wezterm.on("update-right-status", function(window, pane)
window:set_right_status(window:active_workspace())
end)
-- load plugin
local workspace_switcher = wezterm.plugin.require("https://github.com/MLFlexer/smart_workspace_switcher.wezterm")
-- set path to zoxide
workspace_switcher.zoxide_path = "${pkgs.zoxide}/bin/zoxide"
-- keymaps
table.insert(config.keys, { key = "s", mods = "CTRL|SHIFT", action = workspace_switcher.switch_workspace() })
-- table.insert(config.keys, { key = "t", mods = "CTRL|SHIFT", action = wezterm.action.ShowLauncherArgs({ flags = "FUZZY|WORKSPACES" }) })
table.insert(config.keys, { key = "[", mods = "CTRL|SHIFT", action = wezterm.action.SwitchWorkspaceRelative(1) })
table.insert(config.keys, { key = "]", mods = "CTRL|SHIFT", action = wezterm.action.SwitchWorkspaceRelative(-1) })
return config
'';
};
};
};
}

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
options = { options = {
yt-dlp = { yt-dlp = {
@ -27,9 +33,6 @@
}; };
programs.fish.shellAbbrs.yt = "yt-dlp"; programs.fish.shellAbbrs.yt = "yt-dlp";
}; };
}; };
} }

View File

@ -1,7 +1,19 @@
{ config, lib, pkgs, ... }: { {
config,
lib,
pkgs,
...
}:
{
imports = imports = [
[ ./applications ./mail ./neovim ./programming ./repositories ./shell ]; ./applications
./mail
./neovim
./programming
./repositories
./shell
];
options = { options = {
user = lib.mkOption { user = lib.mkOption {
@ -17,8 +29,7 @@
download = lib.mkOption { download = lib.mkOption {
type = lib.types.str; type = lib.types.str;
description = "XDG directory for downloads"; description = "XDG directory for downloads";
default = default = if pkgs.stdenv.isDarwin then "$HOME/Downloads" else "$HOME/downloads";
if pkgs.stdenv.isDarwin then "$HOME/Downloads" else "$HOME/downloads";
}; };
}; };
identityFile = lib.mkOption { identityFile = lib.mkOption {
@ -47,10 +58,9 @@
homePath = lib.mkOption { homePath = lib.mkOption {
type = lib.types.path; type = lib.types.path;
description = "Path of user's home directory."; description = "Path of user's home directory.";
default = builtins.toPath (if pkgs.stdenv.isDarwin then default = builtins.toPath (
"/Users/${config.user}" if pkgs.stdenv.isDarwin then "/Users/${config.user}" else "/home/${config.user}"
else );
"/home/${config.user}");
}; };
dotfilesPath = lib.mkOption { dotfilesPath = lib.mkOption {
type = lib.types.path; type = lib.types.path;
@ -66,7 +76,24 @@
description = "List of unfree packages to allow."; description = "List of unfree packages to allow.";
default = [ ]; default = [ ];
}; };
insecurePackages = lib.mkOption {
type = lib.types.listOf lib.types.str;
description = "List of insecure packages to allow.";
default = [ ];
};
hostnames = { hostnames = {
audiobooks = lib.mkOption {
type = lib.types.str;
description = "Hostname for audiobook server (Audiobookshelf).";
};
budget = lib.mkOption {
type = lib.types.str;
description = "Hostname for budgeting server (ActualBudget).";
};
files = lib.mkOption {
type = lib.types.str;
description = "Hostname for files server (Filebrowser).";
};
git = lib.mkOption { git = lib.mkOption {
type = lib.types.str; type = lib.types.str;
description = "Hostname for git server (Gitea)."; description = "Hostname for git server (Gitea).";
@ -75,10 +102,18 @@
type = lib.types.str; type = lib.types.str;
description = "Hostname for metrics server."; description = "Hostname for metrics server.";
}; };
minecraft = lib.mkOption {
type = lib.types.str;
description = "Hostname for Minecraft server.";
};
paperless = lib.mkOption { paperless = lib.mkOption {
type = lib.types.str; type = lib.types.str;
description = "Hostname for document server (paperless-ngx)."; description = "Hostname for document server (paperless-ngx).";
}; };
photos = lib.mkOption {
type = lib.types.str;
description = "Hostname for photo management (Immich).";
};
prometheus = lib.mkOption { prometheus = lib.mkOption {
type = lib.types.str; type = lib.types.str;
description = "Hostname for Prometheus server."; description = "Hostname for Prometheus server.";
@ -107,63 +142,59 @@
type = lib.types.str; type = lib.types.str;
description = "Hostname for download services."; description = "Hostname for download services.";
}; };
irc = lib.mkOption {
type = lib.types.str;
description = "Hostname for IRC services.";
};
n8n = lib.mkOption {
type = lib.types.str;
description = "Hostname for n8n automation.";
};
notifications = lib.mkOption {
type = lib.types.str;
description = "Hostname for push notification services (ntfy).";
};
status = lib.mkOption {
type = lib.types.str;
description = "Hostname for status page (Uptime-Kuma).";
};
transmission = lib.mkOption {
type = lib.types.str;
description = "Hostname for peer2peer downloads (Transmission).";
};
}; };
}; };
config = let stateVersion = "23.05"; config =
in { let
stateVersion = "23.05";
in
{
nix = { # Basic common system packages for all devices
environment.systemPackages = with pkgs; [
git
vim
wget
curl
];
# Enable features in Nix commands # Use the system-level nixpkgs instead of Home Manager's
extraOptions = '' home-manager.useGlobalPkgs = true;
experimental-features = nix-command flakes
warn-dirty = false
'';
gc = { # Install packages to /etc/profiles instead of ~/.nix-profile, useful when
automatic = true; # using multiple profiles for one user
options = "--delete-older-than 7d"; home-manager.useUserPackages = true;
};
settings = { # Allow specified unfree packages (identified elsewhere)
# Retrieves package object based on string name
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) config.unfreePackages;
# Add community Cachix to binary cache # Allow specified insecure packages (identified elsewhere)
# Don't use with macOS because blocked by corporate firewall nixpkgs.config.permittedInsecurePackages = config.insecurePackages;
builders-use-substitutes = true;
substituters = lib.mkIf (!pkgs.stdenv.isDarwin)
[ "https://nix-community.cachix.org" ];
trusted-public-keys = lib.mkIf (!pkgs.stdenv.isDarwin) [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
# Scans and hard links identical files in the store
# Not working with macOS: https://github.com/NixOS/nix/issues/7273
auto-optimise-store = lib.mkIf (!pkgs.stdenv.isDarwin) true;
};
# Pin a state version to prevent warnings
home-manager.users.${config.user}.home.stateVersion = stateVersion;
home-manager.users.root.home.stateVersion = stateVersion;
}; };
# Basic common system packages for all devices
environment.systemPackages = with pkgs; [ git vim wget curl ];
# Use the system-level nixpkgs instead of Home Manager's
home-manager.useGlobalPkgs = true;
# Install packages to /etc/profiles instead of ~/.nix-profile, useful when
# using multiple profiles for one user
home-manager.useUserPackages = true;
# Allow specified unfree packages (identified elsewhere)
# Retrieves package object based on string name
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) config.unfreePackages;
# Pin a state version to prevent warnings
home-manager.users.${config.user}.home.stateVersion = stateVersion;
home-manager.users.root.home.stateVersion = stateVersion;
};
} }

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
options.mail.aerc.enable = lib.mkEnableOption "Aerc email."; options.mail.aerc.enable = lib.mkEnableOption "Aerc email.";
@ -75,7 +81,9 @@
"<Esc>" = ":clear<Enter>"; "<Esc>" = ":clear<Enter>";
}; };
"messages:folder=Drafts" = { "<Enter>" = ":recall<Enter>"; }; "messages:folder=Drafts" = {
"<Enter>" = ":recall<Enter>";
};
view = { view = {
"/" = ":toggle-key-passthrough <Enter> /"; "/" = ":toggle-key-passthrough <Enter> /";
@ -148,21 +156,24 @@
"<C-p>" = ":prev-tab<Enter>"; "<C-p>" = ":prev-tab<Enter>";
"<C-n>" = ":next-tab<Enter>"; "<C-n>" = ":next-tab<Enter>";
}; };
}; };
extraConfig = { extraConfig = {
general.unsafe-accounts-conf = true; general = {
viewer = { pager = "${pkgs.less}/bin/less -R"; }; unsafe-accounts-conf = true;
# log-file = "~/.cache/aerc.log";
# log-level = "debug";
};
viewer = {
pager = "${pkgs.less}/bin/less -R";
};
filters = { filters = {
"text/plain" = "${pkgs.aerc}/libexec/aerc/filters/colorize"; "text/plain" = "${pkgs.aerc}/libexec/aerc/filters/colorize";
"text/calendar" = "text/calendar" = "${pkgs.gawk}/bin/awk -f ${pkgs.aerc}/libexec/aerc/filters/calendar";
"${pkgs.gawk}/bin/awk -f ${pkgs.aerc}/libexec/aerc/filters/calendar";
"text/html" = "text/html" =
"${pkgs.aerc}/libexec/aerc/filters/html | ${pkgs.aerc}/libexec/aerc/filters/colorize"; # Requires w3m, dante "${pkgs.aerc}/libexec/aerc/filters/html | ${pkgs.aerc}/libexec/aerc/filters/colorize"; # Requires w3m, dante
# "text/*" = # "text/*" =
# ''${pkgs.bat}/bin/bat -fP --file-name="$AERC_FILENAME "''; # ''${pkgs.bat}/bin/bat -fP --file-name="$AERC_FILENAME "'';
"message/delivery-status" = "message/delivery-status" = "${pkgs.aerc}/libexec/aerc/filters/colorize";
"${pkgs.aerc}/libexec/aerc/filters/colorize";
"message/rfc822" = "${pkgs.aerc}/libexec/aerc/filters/colorize"; "message/rfc822" = "${pkgs.aerc}/libexec/aerc/filters/colorize";
"application/x-sh" = "${pkgs.bat}/bin/bat -fP -l sh"; "application/x-sh" = "${pkgs.bat}/bin/bat -fP -l sh";
"application/pdf" = "${pkgs.zathura}/bin/zathura -"; "application/pdf" = "${pkgs.zathura}/bin/zathura -";
@ -176,33 +187,34 @@
extraAccounts = { extraAccounts = {
check-mail = "5m"; check-mail = "5m";
check-mail-cmd = "${pkgs.isync}/bin/mbsync -a"; check-mail-cmd = "${pkgs.isync}/bin/mbsync -a";
check-mail-timeout = "15s";
}; };
}; };
xdg.desktopEntries.aerc = lib.mkIf pkgs.stdenv.isLinux { xdg.desktopEntries.aerc = lib.mkIf (pkgs.stdenv.isLinux && config.gui.enable) {
name = "aerc"; name = "aerc";
exec = "kitty aerc %u"; exec = "${config.terminalLaunchCommand} aerc %u";
}; };
xsession.windowManager.i3.config.keybindings = xsession.windowManager.i3.config.keybindings = lib.mkIf pkgs.stdenv.isLinux {
lib.mkIf pkgs.stdenv.isLinux { "${config.home-manager.users.${config.user}.xsession.windowManager.i3.config.modifier}+Shift+e" =
"${ "exec ${
config.home-manager.users.${config.user}.xsession.windowManager.i3.config.modifier
}+Shift+e" = "exec ${
# Don't name the script `aerc` or it will affect grep # Don't name the script `aerc` or it will affect grep
builtins.toString (pkgs.writeShellScript "focus-mail.sh" '' builtins.toString (
pkgs.writeShellScript "focus-mail.sh" ''
count=$(ps aux | grep -c aerc) count=$(ps aux | grep -c aerc)
if [ "$count" -eq 1 ]; then if [ "$count" -eq 1 ]; then
i3-msg "exec --no-startup-id kitty --class aerc aerc" i3-msg "exec --no-startup-id ${config.terminal} start --class aerc -- aerc"
sleep 0.25 sleep 0.25
fi fi
i3-msg "[class=aerc] focus" i3-msg "[class=aerc] focus"
'') ''
}"; )
}; }";
};
programs.fish.shellAbbrs = { ae = "aerc"; };
programs.fish.shellAbbrs = {
ae = "aerc";
};
}; };
}; };
} }

View File

@ -1,6 +1,16 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
imports = [ ./himalaya.nix ./aerc.nix ./system.nix ]; imports = [
./himalaya.nix
./aerc.nix
./system.nix
];
options = { options = {
mail.enable = lib.mkEnableOption "Mail service."; mail.enable = lib.mkEnableOption "Mail service.";
@ -26,7 +36,9 @@
config = lib.mkIf config.mail.enable { config = lib.mkIf config.mail.enable {
home-manager.users.${config.user} = { home-manager.users.${config.user} = {
programs.mbsync = { enable = true; }; programs.mbsync = {
enable = true;
};
# Automatically check for mail and keep files synced locally # Automatically check for mail and keep files synced locally
services.mbsync = lib.mkIf pkgs.stdenv.isLinux { services.mbsync = lib.mkIf pkgs.stdenv.isLinux {
@ -44,8 +56,11 @@
# Better local mail search # Better local mail search
programs.notmuch = { programs.notmuch = {
enable = true; enable = true;
new.ignore = new.ignore = [
[ ".mbsyncstate.lock" ".mbsyncstate.journal" ".mbsyncstate.new" ]; ".mbsyncstate.lock"
".mbsyncstate.journal"
".mbsyncstate.new"
];
}; };
accounts.email = { accounts.email = {
@ -54,72 +69,71 @@
maildirBasePath = "${config.homePath}/mail"; maildirBasePath = "${config.homePath}/mail";
accounts = { accounts = {
home = let address = "${config.mail.user}@${config.mail.server}"; home =
in { let
userName = address; address = "${config.mail.user}@${config.mail.server}";
realName = config.fullName; in
primary = true; {
inherit address; userName = address;
aliases = map (user: "${user}@${config.mail.server}") [ realName = config.fullName;
"me" primary = true;
"hey" inherit address;
"admin" aliases = map (user: "${user}@${config.mail.server}") [
]; "me"
"hey"
"admin"
];
# Options for contact completion # Options for contact completion
alot = { }; alot = { };
imap = { imap = {
host = config.mail.imapHost; host = config.mail.imapHost;
port = 993; port = 993;
tls.enable = true; tls.enable = true;
}; };
# Watch for mail and run notifications or sync # Watch for mail and run notifications or sync
imapnotify = { imapnotify = {
enable = true; enable = true;
boxes = [ "Inbox" ]; boxes = [ "Inbox" ];
onNotify = "${pkgs.isync}/bin/mbsync -a"; onNotify = "${pkgs.isync}/bin/mbsync -a";
onNotifyPost = lib.mkIf onNotifyPost =
config.home-manager.users.${config.user}.services.dunst.enable lib.mkIf config.home-manager.users.${config.user}.services.dunst.enable
"${pkgs.libnotify}/bin/notify-send 'New mail arrived'"; "${pkgs.libnotify}/bin/notify-send 'New mail arrived'";
}; };
# Name of the directory in maildir for this account # Name of the directory in maildir for this account
maildir = { path = "main"; }; maildir = {
path = "main";
};
# Bi-directional syncing options for local files # Bi-directional syncing options for local files
mbsync = { mbsync = {
enable = true; enable = true;
create = "both"; create = "both";
expunge = "both"; expunge = "both";
remove = "both"; remove = "both";
patterns = [ "*" ]; patterns = [ "*" ];
extraConfig.channel = { extraConfig.channel = {
CopyArrivalDate = "yes"; # Sync time of original message CopyArrivalDate = "yes"; # Sync time of original message
};
};
# Enable indexing
notmuch.enable = true;
# Used to login and send and receive emails
passwordCommand = "${pkgs.age}/bin/age --decrypt --identity ~/.ssh/id_ed25519 ${pkgs.writeText "mailpass.age" (builtins.readFile ../../../private/mailpass.age)}";
smtp = {
host = config.mail.smtpHost;
port = 465;
tls.enable = true;
}; };
}; };
# Enable indexing
notmuch.enable = true;
# Used to login and send and receive emails
passwordCommand =
"${pkgs.age}/bin/age --decrypt --identity ~/.ssh/id_ed25519 ${
pkgs.writeText "mailpass.age"
(builtins.readFile ../../../private/mailpass.age)
}";
smtp = {
host = config.mail.smtpHost;
port = 465;
tls.enable = true;
};
};
}; };
}; };
}; };
}; };
} }

View File

@ -1,4 +1,5 @@
{ config, lib, ... }: { { config, lib, ... }:
{
options.mail.himalaya.enable = lib.mkEnableOption "Himalaya email."; options.mail.himalaya.enable = lib.mkEnableOption "Himalaya email.";
@ -6,20 +7,20 @@
home-manager.users.${config.user} = { home-manager.users.${config.user} = {
programs.himalaya = { enable = true; }; programs.himalaya = {
enable = true;
};
accounts.email.accounts.home.himalaya = { accounts.email.accounts.home.himalaya = {
enable = true; enable = true;
backend = "imap";
sender = "smtp";
settings = { settings = {
downloads-dir = config.userDirs.download; downloads-dir = config.userDirs.download;
smtp-insecure = true; smtp-insecure = true;
}; };
}; };
programs.fish.shellAbbrs = { hi = "himalaya"; }; programs.fish.shellAbbrs = {
hi = "himalaya";
};
}; };
}; };
} }

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
config = lib.mkIf (config.mail.enable || config.server) { config = lib.mkIf (config.mail.enable || config.server) {
@ -8,17 +14,15 @@
# The system user for sending automatic notifications # The system user for sending automatic notifications
accounts.email.accounts.system = accounts.email.accounts.system =
let address = "system@${config.mail.server}"; let
in { address = "system@${config.mail.server}";
in
{
userName = address; userName = address;
realName = "NixOS System"; realName = "NixOS System";
primary = !config.mail.enable; # Only primary if mail not enabled primary = !config.mail.enable; # Only primary if mail not enabled
inherit address; inherit address;
passwordCommand = passwordCommand = "${pkgs.age}/bin/age --decrypt --identity ${config.identityFile} ${pkgs.writeText "mailpass-system.age" (builtins.readFile ../../../private/mailpass-system.age)}";
"${pkgs.age}/bin/age --decrypt --identity ${config.identityFile} ${
pkgs.writeText "mailpass-system.age"
(builtins.readFile ../../../private/mailpass-system.age)
}";
msmtp.enable = true; msmtp.enable = true;
smtp = { smtp = {
host = config.mail.smtpHost; host = config.mail.smtpHost;
@ -26,9 +30,6 @@
tls.enable = true; tls.enable = true;
}; };
}; };
}; };
}; };
} }

View File

@ -1,4 +1,5 @@
{ pkgs, ... }: { { pkgs, ... }:
{
# Plugin for aligning text programmatically # Plugin for aligning text programmatically

View File

@ -1,19 +1,22 @@
{ pkgs, ... }: { { pkgs, ... }:
{
# Shows buffers in a VSCode-style tab layout # Shows buffers in a VSCode-style tab layout
plugins = [ plugins = [
pkgs.vimPlugins.bufferline-nvim pkgs.vimPlugins.bufferline-nvim
pkgs.vimPlugins.vim-bbye # Better closing of buffers pkgs.vimPlugins.vim-bbye # Better closing of buffers
pkgs.vimPlugins.snipe-nvim # Jump between open buffers
]; ];
setup.bufferline = { setup.bufferline = {
options = { options = {
diagnostics = "nvim_lsp"; diagnostics = "nvim_lsp";
always_show_bufferline = false; always_show_bufferline = false;
separator_style = "slant"; separator_style = "slant";
offsets = [{ filetype = "NvimTree"; }]; offsets = [ { filetype = "NvimTree"; } ];
}; };
}; };
setup.snipe = { };
lua = '' lua = ''
-- Move buffers -- Move buffers
vim.keymap.set("n", "L", ":BufferLineCycleNext<CR>", { silent = true }) vim.keymap.set("n", "L", ":BufferLineCycleNext<CR>", { silent = true })
@ -21,5 +24,7 @@
-- Kill buffer -- Kill buffer
vim.keymap.set("n", "<Leader>x", " :Bdelete<CR>", { silent = true }) vim.keymap.set("n", "<Leader>x", " :Bdelete<CR>", { silent = true })
'';
-- Jump to buffer
vim.keymap.set("n", "gb", require("snipe").open_buffer_menu, { silent = true }) '';
} }

View File

@ -1,4 +1,10 @@
{ pkgs, lib, config, ... }: { {
pkgs,
lib,
config,
...
}:
{
# Sets Neovim colors based on Nix colorscheme # Sets Neovim colors based on Nix colorscheme
@ -8,7 +14,7 @@
}; };
config = { config = {
plugins = [ pkgs.vimPlugins.nvim-base16 ]; plugins = [ pkgs.vimPlugins.base16-nvim ];
setup.base16-colorscheme = config.colors; setup.base16-colorscheme = config.colors;
# Telescope isn't working, shut off for now # Telescope isn't working, shut off for now
@ -18,5 +24,4 @@
} }
''; '';
}; };
} }

View File

@ -1,6 +1,8 @@
{ pkgs, dsl, ... }: { { pkgs, dsl, ... }:
{
plugins = [ plugins = [
pkgs.vimPlugins.nvim-cmp
pkgs.vimPlugins.cmp-nvim-lsp pkgs.vimPlugins.cmp-nvim-lsp
pkgs.vimPlugins.cmp-buffer pkgs.vimPlugins.cmp-buffer
pkgs.vimPlugins.cmp-path pkgs.vimPlugins.cmp-path
@ -25,21 +27,21 @@
# Basic completion keybinds # Basic completion keybinds
mapping = { mapping = {
"['<C-n>']" = dsl.rawLua "['<C-n>']" =
"require('cmp').mapping.select_next_item({ behavior = require('cmp').SelectBehavior.Insert })"; dsl.rawLua "require('cmp').mapping.select_next_item({ behavior = require('cmp').SelectBehavior.Insert }, { 'i', 'c' })";
"['<C-p>']" = dsl.rawLua "['<C-p>']" =
"require('cmp').mapping.select_prev_item({ behavior = require('cmp').SelectBehavior.Insert })"; dsl.rawLua "require('cmp').mapping.select_prev_item({ behavior = require('cmp').SelectBehavior.Insert }, { 'i', 'c' })";
"['<Down>']" = dsl.rawLua "['<Down>']" =
"require('cmp').mapping.select_next_item({ behavior = require('cmp').SelectBehavior.Select })"; dsl.rawLua "require('cmp').mapping.select_next_item({ behavior = require('cmp').SelectBehavior.Select }, { 'i', 'c' })";
"['<Up>']" = dsl.rawLua "['<Up>']" =
"require('cmp').mapping.select_prev_item({ behavior = require('cmp').SelectBehavior.Select })"; dsl.rawLua "require('cmp').mapping.select_prev_item({ behavior = require('cmp').SelectBehavior.Select }, { 'i', 'c' })";
"['<C-d>']" = dsl.rawLua "require('cmp').mapping.scroll_docs(-4)"; "['<C-d>']" = dsl.rawLua "require('cmp').mapping.scroll_docs(-4)";
"['<C-f>']" = dsl.rawLua "require('cmp').mapping.scroll_docs(4)"; "['<C-f>']" = dsl.rawLua "require('cmp').mapping.scroll_docs(4)";
"['<C-e>']" = dsl.rawLua "require('cmp').mapping.abort()"; "['<C-e>']" = dsl.rawLua "require('cmp').mapping.abort()";
"['<CR>']" = dsl.rawLua "['<C-y>']" =
"require('cmp').mapping.confirm({ behavior = require('cmp').ConfirmBehavior.Replace, select = true, })"; dsl.rawLua "require('cmp').mapping.confirm({ behavior = require('cmp').ConfirmBehavior.Insert, select = true, }, { 'i', 'c' })";
"['<C-r>']" = dsl.rawLua "['<C-r>']" =
"require('cmp').mapping.confirm({ behavior = require('cmp').ConfirmBehavior.Replace, select = true, })"; dsl.rawLua "require('cmp').mapping.confirm({ behavior = require('cmp').ConfirmBehavior.Replace, select = true, }, { 'i', 'c' })";
"['<Esc>']" = dsl.rawLua '' "['<Esc>']" = dsl.rawLua ''
function(_) function(_)
cmp.mapping({ cmp.mapping({
@ -49,7 +51,7 @@
vim.cmd("stopinsert") --- Abort and leave insert mode vim.cmd("stopinsert") --- Abort and leave insert mode
end end
''; '';
"['<C-l>']" = dsl.rawLua '' "['<C-k>']" = dsl.rawLua ''
cmp.mapping(function(_) cmp.mapping(function(_)
if require("luasnip").expand_or_jumpable() then if require("luasnip").expand_or_jumpable() then
require("luasnip").expand_or_jump() require("luasnip").expand_or_jump()
@ -72,13 +74,19 @@
name = "rg"; # Grep for text from the current directory name = "rg"; # Grep for text from the current directory
keyword_length = 6; keyword_length = 6;
max_item_count = 10; max_item_count = 10;
option = { additional_arguments = "--ignore-case"; }; option = {
additional_arguments = "--ignore-case";
};
} }
]; ];
# Styling of the completion menu # Styling of the completion menu
formatting = { formatting = {
fields = [ "kind" "abbr" "menu" ]; fields = [
"kind"
"abbr"
"menu"
];
format = dsl.rawLua '' format = dsl.rawLua ''
function(entry, vim_item) function(entry, vim_item)
local kind_icons = { local kind_icons = {
@ -125,19 +133,46 @@
native_menu = false; # Use cmp menu instead of Vim menu native_menu = false; # Use cmp menu instead of Vim menu
ghost_text = true; # Show preview auto-completion ghost_text = true; # Show preview auto-completion
}; };
}; };
lua = '' lua' = ''
-- Use buffer source for `/` -- Use buffer source for `/`
require('cmp').setup.cmdline("/", { require('cmp').setup.cmdline("/", {
sources = { mapping = {
{ name = "buffer", keyword_length = 5 }, ['<C-n>'] = {
c = require('cmp').mapping.select_next_item({ behavior = require('cmp').SelectBehavior.Insert }, { 'i', 'c' })
},
['<C-p>'] = {
c = require('cmp').mapping.select_prev_item({ behavior = require('cmp').SelectBehavior.Insert }, { 'i', 'c' })
},
['<C-y>'] = {
c = require('cmp').mapping.confirm({ behavior = require('cmp').ConfirmBehavior.Insert, select = true, }, { 'i', 'c' })
},
['<C-r>'] = {
c = require('cmp').mapping.confirm({ behavior = require('cmp').ConfirmBehavior.Replace, select = true, }, { 'i', 'c' })
},
}, },
sources = require('cmp').config.sources({
{ name = "buffer", keyword_length = 5 },
}),
}) })
-- Use cmdline & path source for ':' -- Use cmdline & path source for ':'
require('cmp').setup.cmdline(":", { require('cmp').setup.cmdline(":", {
mapping = {
['<C-n>'] = {
c = require('cmp').mapping.select_next_item({ behavior = require('cmp').SelectBehavior.Insert }, { 'i', 'c' })
},
['<C-p>'] = {
c = require('cmp').mapping.select_prev_item({ behavior = require('cmp').SelectBehavior.Insert }, { 'i', 'c' })
},
['<C-y>'] = {
c = require('cmp').mapping.confirm({ behavior = require('cmp').ConfirmBehavior.Insert, select = true, }, { 'i', 'c' })
},
['<C-r>'] = {
c = require('cmp').mapping.confirm({ behavior = require('cmp').ConfirmBehavior.Replace, select = true, }, { 'i', 'c' })
},
},
sources = require('cmp').config.sources({ sources = require('cmp').config.sources({
{ name = "path" }, { name = "path" },
}, { }, {
@ -145,5 +180,4 @@
}), }),
}) })
''; '';
} }

View File

@ -2,8 +2,11 @@
vim.keymap.set("n", "<Leader>gr", ":!gh browse %<CR><CR>", { silent = true }) vim.keymap.set("n", "<Leader>gr", ":!gh browse %<CR><CR>", { silent = true })
-- Pop a terminal to watch the current run -- Pop a terminal to watch the current run
local gitwatch = local gitwatch = require("toggleterm.terminal").Terminal:new({
require("toggleterm.terminal").Terminal:new({ cmd = "fish --interactive --init-command 'gh run watch'" }) cmd = "fish --interactive --init-command 'gh run watch'",
hidden = true,
direction = "float",
})
-- Set a toggle for this terminal -- Set a toggle for this terminal
function GITWATCH_TOGGLE() function GITWATCH_TOGGLE()
@ -11,4 +14,4 @@ function GITWATCH_TOGGLE()
end end
-- Keymap to toggle the run -- Keymap to toggle the run
vim.keymap.set("n", "<Leader>gw", GITWATCH_TOGGLE) vim.keymap.set("n", "<Leader>W", GITWATCH_TOGGLE)

View File

@ -1,4 +1,5 @@
{ pkgs, ... }: { { pkgs, ... }:
{
plugins = [ pkgs.vimPlugins.gitsigns-nvim ]; plugins = [ pkgs.vimPlugins.gitsigns-nvim ];
setup.gitsigns = { }; setup.gitsigns = { };
lua = builtins.readFile ./gitsigns.lua; lua = builtins.readFile ./gitsigns.lua;

View File

@ -1,110 +1,146 @@
{ pkgs, lib, config, dsl, ... }: { {
pkgs,
lib,
config,
dsl,
...
}:
{
# Terraform optional because non-free # Terraform optional because non-free
options.terraform = lib.mkEnableOption "Whether to enable Terraform LSP"; options.terraform = lib.mkEnableOption "Whether to enable Terraform LSP";
options.github = lib.mkEnableOption "Whether to enable GitHub features"; options.github = lib.mkEnableOption "Whether to enable GitHub features";
options.kubernetes = options.kubernetes = lib.mkEnableOption "Whether to enable Kubernetes features";
lib.mkEnableOption "Whether to enable Kubernetes features";
config = config = {
plugins = [
pkgs.vimPlugins.nvim-lspconfig
pkgs.vimPlugins.conform-nvim
pkgs.vimPlugins.fidget-nvim
pkgs.vimPlugins.nvim-lint
pkgs.vimPlugins.vim-table-mode
pkgs.vimPlugins.tiny-inline-diagnostic-nvim
];
let setup.fidget = { };
setup.tiny-inline-diagnostic = { };
terraformFormat = if config.terraform then '' use.lspconfig.lua_ls.setup = dsl.callWith {
require("null-ls").builtins.formatting.terraform_fmt.with({ settings = {
command = "${pkgs.terraform}/bin/terraform", Lua = {
extra_filetypes = { "hcl" }, diagnostics = {
}), globals = [
'' else "vim"
""; "hs"
];
in { };
plugins = [
pkgs.vimPlugins.nvim-lspconfig
pkgs.vimPlugins.null-ls-nvim
pkgs.vimPlugins.fidget-nvim
];
setup.fidget = { };
use.lspconfig.lua_ls.setup = dsl.callWith {
settings = { Lua = { diagnostics = { globals = [ "vim" "hs" ]; }; }; };
capabilities =
dsl.rawLua "require('cmp_nvim_lsp').default_capabilities()";
cmd = [ "${pkgs.lua-language-server}/bin/lua-language-server" ];
};
use.lspconfig.nil_ls.setup = dsl.callWith {
cmd = [ "${pkgs.nil}/bin/nil" ];
capabilities =
dsl.rawLua "require('cmp_nvim_lsp').default_capabilities()";
};
use.lspconfig.pyright.setup = dsl.callWith {
cmd = [ "${pkgs.pyright}/bin/pyright-langserver" "--stdio" ];
};
use.lspconfig.terraformls.setup = dsl.callWith {
cmd = if config.terraform then [
"${pkgs.terraform-ls}/bin/terraform-ls"
"serve"
] else
[ "echo" ];
};
use.lspconfig.rust_analyzer.setup = dsl.callWith {
cmd = [ "${pkgs.rust-analyzer}/bin/rust-analyzer" ];
settings = {
"['rust-analyzer']" = { check = { command = "clippy"; }; };
}; };
}; };
capabilities = dsl.rawLua "require('cmp_nvim_lsp').default_capabilities()";
vim.api.nvim_create_augroup = dsl.callWith [ "LspFormatting" { } ]; cmd = [ "${pkgs.lua-language-server}/bin/lua-language-server" ];
lua = ''
${builtins.readFile ./lsp.lua}
-- Prevent infinite log size (change this when debugging)
vim.lsp.set_log_level("off")
require("null-ls").setup({
sources = {
require("null-ls").builtins.formatting.stylua.with({ command = "${pkgs.stylua}/bin/stylua" }),
require("null-ls").builtins.formatting.black.with({ command = "${pkgs.black}/bin/black" }),
require("null-ls").builtins.diagnostics.ruff.with({ command = "${pkgs.ruff}/bin/ruff" }),
require("null-ls").builtins.formatting.fish_indent.with({ command = "${pkgs.fish}/bin/fish_indent" }),
require("null-ls").builtins.formatting.nixfmt.with({ command = "${pkgs.nixfmt}/bin/nixfmt" }),
require("null-ls").builtins.formatting.rustfmt.with({ command = "${pkgs.rustfmt}/bin/rustfmt" }),
require("null-ls").builtins.diagnostics.shellcheck.with({ command = "${pkgs.shellcheck}/bin/shellcheck" }),
require("null-ls").builtins.formatting.shfmt.with({
command = "${pkgs.shfmt}/bin/shfmt",
extra_args = { "-i", "4", "-ci" },
}),
${terraformFormat}
},
on_attach = function(client, bufnr)
if client.supports_method("textDocument/formatting") then
-- Auto-format on save
vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
vim.api.nvim_create_autocmd("BufWritePre", {
group = augroup,
buffer = bufnr,
callback = function()
vim.lsp.buf.format({ bufnr = bufnr })
end,
})
-- Use internal formatting for bindings like gq.
vim.api.nvim_create_autocmd("LspAttach", {
callback = function(args)
vim.bo[args.buf].formatexpr = nil
end,
})
end
end,
})
'';
}; };
use.lspconfig.nixd.setup = dsl.callWith {
cmd = [ "${pkgs.nixd}/bin/nixd" ];
capabilities = dsl.rawLua "require('cmp_nvim_lsp').default_capabilities()";
};
use.lspconfig.pyright.setup = dsl.callWith {
cmd = [
"${pkgs.pyright}/bin/pyright-langserver"
"--stdio"
];
};
use.lspconfig.terraformls.setup = dsl.callWith {
cmd =
if config.terraform then
[
"${pkgs.terraform-ls}/bin/terraform-ls"
"serve"
]
else
[ "echo" ];
};
use.lspconfig.rust_analyzer.setup = dsl.callWith {
cmd = [ "${pkgs.rust-analyzer}/bin/rust-analyzer" ];
settings = {
"['rust-analyzer']" = {
check = {
command = "clippy";
};
files = {
excludeDirs = [ ".direnv" ];
};
cargo = {
features = "all";
};
};
};
};
setup.conform = {
format_on_save = {
# These options will be passed to conform.format()
timeout_ms = 1500;
lsp_fallback = true;
};
formatters_by_ft = {
lua = [ "stylua" ];
python = [ "black" ];
fish = [ "fish_indent" ];
nix = [ "nixfmt" ];
rust = [ "rustfmt" ];
sh = [ "shfmt" ];
terraform = if config.terraform then [ "terraform_fmt" ] else [ ];
hcl = [ "hcl" ];
};
formatters = {
lua.command = "${pkgs.stylua}/bin/stylua";
black.command = "${pkgs.black}/bin/black";
fish_indent.command = "${pkgs.fish}/bin/fish_indent";
nixfmt.command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
rustfmt.command = "${pkgs.rustfmt}/bin/rustfmt";
shfmt = {
command = "${pkgs.shfmt}/bin/shfmt";
prepend_args = [
"-i"
"4"
"-ci"
];
};
terraform_fmt.command = if config.terraform then "${pkgs.terraform}/bin/terraform" else "";
hcl.command = "${pkgs.hclfmt}/bin/hclfmt";
};
};
use.lint = {
linters_by_ft = dsl.toTable {
python = [ "ruff" ];
sh = [ "shellcheck" ];
};
};
vim.api.nvim_create_autocmd = dsl.callWith [
(dsl.toTable [
"BufEnter"
"BufWritePost"
])
(dsl.rawLua "{ callback = function() require('lint').try_lint() end }")
];
lua = ''
${builtins.readFile ./lsp.lua}
local ruff = require('lint').linters.ruff; ruff.cmd = "${pkgs.ruff}/bin/ruff"
local shellcheck = require('lint').linters.shellcheck; shellcheck.cmd = "${pkgs.shellcheck}/bin/shellcheck"
-- Prevent infinite log size (change this when debugging)
vim.lsp.set_log_level("off")
-- Hide buffer diagnostics (use tiny-inline-diagnostic.nvim instead)
vim.diagnostic.config({ virtual_text = false })
'';
};
} }

View File

@ -1,19 +1,28 @@
{ pkgs, dsl, lib, ... }: { {
pkgs,
dsl,
lib,
...
}:
{
plugins = [ plugins = [
pkgs.vimPlugins.vim-surround # Keybinds for surround characters pkgs.vimPlugins.vim-surround # Keybinds for surround characters
pkgs.vimPlugins.vim-eunuch # File manipulation commands pkgs.vimPlugins.vim-eunuch # File manipulation commands
pkgs.vimPlugins.vim-fugitive # Git commands pkgs.vimPlugins.vim-fugitive # Git commands
pkgs.vimPlugins.vim-repeat # Better repeat using . pkgs.vimPlugins.vim-repeat # Better repeat using .
pkgs.vimPlugins.comment-nvim # Smart comment commands pkgs.vimPlugins.vim-abolish # Keep capitalization in substitute (Subvert)
pkgs.vimPlugins.glow-nvim # Markdown preview popup pkgs.vimPlugins.markview-nvim # Markdown preview
pkgs.vimPlugins.nvim-colorizer-lua # Hex color previews pkgs.vimPlugins.nvim-colorizer-lua # Hex color previews
pkgs.vimPlugins.which-key-nvim # Keybind helper pkgs.vimPlugins.which-key-nvim # Keybind helper
]; ];
# Initialize some plugins # Initialize some plugins
setup.Comment = { }; setup.colorizer = {
setup.colorizer = { user_default_options = { names = false; }; }; user_default_options = {
setup.glow = { }; names = false;
};
};
setup.markview = { };
setup.which-key = { }; setup.which-key = { };
vim.o = { vim.o = {
@ -32,7 +41,6 @@
scrolloff = 3; # Margin of lines to see while scrolling scrolloff = 3; # Margin of lines to see while scrolling
splitright = true; # Vertical splits on the right side splitright = true; # Vertical splits on the right side
splitbelow = true; # Horizontal splits on the bottom side splitbelow = true; # Horizontal splits on the bottom side
pastetoggle = "<F3>"; # Use F3 to enter raw paste mode
clipboard = "unnamedplus"; # Uses system clipboard for yanking clipboard = "unnamedplus"; # Uses system clipboard for yanking
updatetime = 300; # Faster diagnostics updatetime = 300; # Faster diagnostics
mouse = "nv"; # Mouse interaction / scrolling mouse = "nv"; # Mouse interaction / scrolling
@ -50,14 +58,17 @@
# Better backup, swap and undo storage # Better backup, swap and undo storage
vim.o.backup = true; # Easier to recover and more secure vim.o.backup = true; # Easier to recover and more secure
vim.bo.swapfile = false; # Instead of swaps, create backups vim.opt.undofile = true; # Keeps undos after quit
vim.bo.undofile = true; # Keeps undos after quit vim.opt.swapfile = false; # Instead of swaps, create backups
vim.o.backupdir = vim.o.backupdir = dsl.rawLua ''vim.fn.expand("~/.local/state/nvim/backup//")'';
dsl.rawLua ''vim.fn.expand("~/.local/state/nvim/backup//")'';
vim.o.undodir = dsl.rawLua ''vim.fn.expand("~/.local/state/nvim/undo//")''; vim.o.undodir = dsl.rawLua ''vim.fn.expand("~/.local/state/nvim/undo//")'';
# Required for nvim-cmp completion # Required for nvim-cmp completion
vim.opt.completeopt = [ "menu" "menuone" "noselect" ]; vim.opt.completeopt = [
"menu"
"menuone"
"noselect"
];
lua = lib.mkBefore '' lua = lib.mkBefore ''
vim.loader.enable() vim.loader.enable()

View File

@ -1,4 +1,5 @@
{ pkgs, ... }: { { pkgs, ... }:
{
plugins = [ pkgs.vimPlugins.lualine-nvim ]; plugins = [ pkgs.vimPlugins.lualine-nvim ];
setup.lualine = { setup.lualine = {
options = { options = {

View File

@ -1,10 +1,11 @@
{ pkgs, lib, ... }: { { pkgs, lib, ... }:
{
plugins = [ plugins = [
(pkgs.vimPlugins.nvim-treesitter.withPlugins (_plugins: (pkgs.vimPlugins.nvim-treesitter.withPlugins (
with pkgs.tree-sitter-grammars; [ _plugins: with pkgs.tree-sitter-grammars; [
tree-sitter-bash tree-sitter-bash
# tree-sitter-c tree-sitter-c
tree-sitter-fish tree-sitter-fish
tree-sitter-hcl tree-sitter-hcl
tree-sitter-ini tree-sitter-ini
@ -17,14 +18,15 @@
tree-sitter-python tree-sitter-python
tree-sitter-rasi tree-sitter-rasi
tree-sitter-toml tree-sitter-toml
tree-sitter-vimdoc
tree-sitter-yaml tree-sitter-yaml
])) ]
))
pkgs.vimPlugins.vim-matchup # Better % jumping in languages pkgs.vimPlugins.vim-matchup # Better % jumping in languages
pkgs.vimPlugins.playground # Tree-sitter experimenting pkgs.vimPlugins.playground # Tree-sitter experimenting
pkgs.vimPlugins.nginx-vim pkgs.vimPlugins.nginx-vim
pkgs.vimPlugins.vim-helm pkgs.vimPlugins.vim-helm
pkgs.baleia-nvim # Clean ANSI from kitty scrollback # pkgs.vimPlugins.hmts-nvim # Tree-sitter injections for home-manager
# pkgs.hmts-nvim # Tree-sitter injections for home-manager
(pkgs.vimUtils.buildVimPlugin { (pkgs.vimUtils.buildVimPlugin {
pname = "nmasur"; pname = "nmasur";
version = "0.1"; version = "0.1";
@ -33,9 +35,15 @@
]; ];
setup."nvim-treesitter.configs" = { setup."nvim-treesitter.configs" = {
highlight = { enable = true; }; highlight = {
indent = { enable = true; }; enable = true;
matchup = { enable = true; }; # Uses vim-matchup };
indent = {
enable = true;
};
matchup = {
enable = true;
}; # Uses vim-matchup
textobjects = { textobjects = {
select = { select = {
@ -69,5 +77,4 @@
-- Use HCL parser with .tf files -- Use HCL parser with .tf files
vim.treesitter.language.register('hcl', 'terraform') vim.treesitter.language.register('hcl', 'terraform')
''; '';
} }

View File

@ -1,4 +1,5 @@
{ pkgs, dsl, ... }: { { pkgs, dsl, ... }:
{
# Telescope is a fuzzy finder that can work with different sub-plugins # Telescope is a fuzzy finder that can work with different sub-plugins
@ -20,9 +21,15 @@
}; };
}; };
pickers = { pickers = {
find_files = { theme = "ivy"; }; find_files = {
oldfiles = { theme = "ivy"; }; theme = "ivy";
buffers = { theme = "dropdown"; }; };
oldfiles = {
theme = "ivy";
};
buffers = {
theme = "dropdown";
};
}; };
extensions = { extensions = {
fzy_native = { }; fzy_native = { };
@ -33,5 +40,4 @@
setup.project_nvim = { }; setup.project_nvim = { };
lua = builtins.readFile ./telescope.lua; lua = builtins.readFile ./telescope.lua;
} }

View File

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

View File

@ -1,4 +1,10 @@
{ pkgs, dsl, config, ... }: { {
pkgs,
dsl,
config,
...
}:
{
# Toggleterm provides a floating terminal inside the editor for quick access # Toggleterm provides a floating terminal inside the editor for quick access
@ -15,5 +21,4 @@
${if config.github then (builtins.readFile ./github.lua) else ""} ${if config.github then (builtins.readFile ./github.lua) else ""}
${if config.kubernetes then (builtins.readFile ./kubernetes.lua) else ""} ${if config.kubernetes then (builtins.readFile ./kubernetes.lua) else ""}
''; '';
} }

View File

@ -1,8 +1,12 @@
{ pkgs, dsl, ... }: { { pkgs, dsl, ... }:
{
# This plugin creates a side drawer for navigating the current project # This plugin creates a side drawer for navigating the current project
plugins = [ pkgs.vimPlugins.nvim-tree-lua pkgs.vimPlugins.nvim-web-devicons ]; plugins = [
pkgs.vimPlugins.nvim-tree-lua
pkgs.vimPlugins.nvim-web-devicons
];
# Disable netrw eagerly # Disable netrw eagerly
# https://github.com/kyazdani42/nvim-tree.lua/commit/fb8735e96cecf004fbefb086ce85371d003c5129 # https://github.com/kyazdani42/nvim-tree.lua/commit/fb8735e96cecf004fbefb086ce85371d003c5129
@ -16,12 +20,14 @@
hijack_netrw = true; # Works as the file manager hijack_netrw = true; # Works as the file manager
sync_root_with_cwd = true; # Change project whenever currend dir changes sync_root_with_cwd = true; # Change project whenever currend dir changes
respect_buf_cwd = true; # Change to exact location of focused buffer respect_buf_cwd = true; # Change to exact location of focused buffer
update_focused_file = { # Change project based on the focused buffer update_focused_file = {
# Change project based on the focused buffer
enable = true; enable = true;
update_root = true; update_root = true;
ignore_list = { }; ignore_list = { };
}; };
diagnostics = { # Enable LSP and linter integration diagnostics = {
# Enable LSP and linter integration
enable = true; enable = true;
icons = { icons = {
hint = ""; hint = "";
@ -30,7 +36,8 @@
error = ""; error = "";
}; };
}; };
renderer = { # Show files with changes vs. current commit renderer = {
# Show files with changes vs. current commit
icons = { icons = {
glyphs = { glyphs = {
git = { git = {
@ -61,7 +68,8 @@
vim.keymap.set('n', 'v', api.node.open.vertical, opts('Open: Vertical Split')) vim.keymap.set('n', 'v', api.node.open.vertical, opts('Open: Vertical Split'))
end end
''; '';
view = { # Set look and feel view = {
# Set look and feel
width = 30; width = 30;
side = "left"; side = "left";
number = false; number = false;
@ -73,5 +81,4 @@
lua = '' lua = ''
vim.keymap.set("n", "<Leader>e", ":NvimTreeFindFileToggle<CR>", { silent = true }) vim.keymap.set("n", "<Leader>e", ":NvimTreeFindFileToggle<CR>", { silent = true })
''; '';
} }

View File

@ -1,4 +1,9 @@
{ config, pkgs, lib, ... }: {
config,
pkgs,
lib,
...
}:
let let
@ -9,8 +14,8 @@ let
github = true; github = true;
kubernetes = config.kubernetes.enable; kubernetes = config.kubernetes.enable;
}; };
in
in { {
options.neovim.enable = lib.mkEnableOption "Neovim."; options.neovim.enable = lib.mkEnableOption "Neovim.";
@ -33,7 +38,9 @@ in {
# Create quick aliases for launching Neovim # Create quick aliases for launching Neovim
programs.fish = { programs.fish = {
shellAliases = { vim = "nvim"; }; shellAliases = {
vim = "nvim";
};
shellAbbrs = { shellAbbrs = {
v = lib.mkForce "nvim"; v = lib.mkForce "nvim";
vl = lib.mkForce "nvim -c 'normal! `0' -c 'bdelete 1'"; vl = lib.mkForce "nvim -c 'normal! `0' -c 'bdelete 1'";
@ -41,27 +48,20 @@ in {
}; };
}; };
# Set Neovim as the kitty terminal "scrollback" (vi mode) option.
# Requires removing some of the ANSI escape codes that are sent to the
# scrollback using sed and baleia, as well as removing several
# unnecessary features.
programs.kitty.settings.scrollback_pager = ''
$SHELL -c 'sed -r "s/[[:cntrl:]]\]133;[AC]..//g" | ${neovim}/bin/nvim -c "setlocal nonumber norelativenumber nolist laststatus=0" -c "lua baleia = require(\"baleia\").setup({}); baleia.once(0)" -c "map <silent> q :qa!<CR>" -c "autocmd VimEnter * normal G"' '';
# Create a desktop option for launching Neovim from a file manager # Create a desktop option for launching Neovim from a file manager
# (Requires launching the terminal and then executing Neovim) # (Requires launching the terminal and then executing Neovim)
xdg.desktopEntries.nvim = lib.mkIf pkgs.stdenv.isLinux { xdg.desktopEntries.nvim = lib.mkIf (pkgs.stdenv.isLinux && config.gui.enable) {
name = "Neovim wrapper"; name = "Neovim wrapper";
exec = "kitty nvim %F"; exec = "${config.home-manager.users.${config.user}.programs.rofi.terminal} nvim %F";
mimeType = [ "text/plain" "text/markdown" ]; mimeType = [
"text/plain"
"text/markdown"
];
}; };
xdg.mimeApps.defaultApplications = lib.mkIf pkgs.stdenv.isLinux { xdg.mimeApps.defaultApplications = lib.mkIf pkgs.stdenv.isLinux {
"text/plain" = [ "nvim.desktop" ]; "text/plain" = [ "nvim.desktop" ];
"text/markdown" = [ "nvim.desktop" ]; "text/markdown" = [ "nvim.desktop" ];
}; };
}; };
}; };
} }

View File

@ -71,8 +71,8 @@ key("n", "co", ":copen<CR>")
key("n", "cq", ":cclose<CR>") key("n", "cq", ":cclose<CR>")
-- Other -- Other
key("n", "<A-CR>", ":noh<CR>", { silent = true }) --- Clear search in VimWiki key("n", "<A-CR>", ":noh<CR>", { silent = true }) --- Clear search in VimWiki
key("n", "Y", "y$") --- Copy to end of line key("n", "Y", "y$") --- Copy to end of line
key("v", "<C-r>", "y<Esc>:%s/<C-r>+//gc<left><left><left>") --- Substitute selected key("v", "<C-r>", "y<Esc>:%s/<C-r>+//gc<left><left><left>") --- Substitute selected
key("v", "D", "y'>gp") --- Duplicate selected key("v", "D", "y'>gp") --- Duplicate selected
key("x", "<Leader>p", '"_dP') --- Paste but keep register key("x", "<Leader>p", '"_dP') --- Paste but keep register

View File

@ -11,8 +11,20 @@ vim.filetype.add({
}) })
vim.api.nvim_create_autocmd("FileType", { vim.api.nvim_create_autocmd("FileType", {
pattern = "*.eml", pattern = "mail",
callback = function() callback = function()
vim.o.wrapmargin = 79 -- Wrap text automatically vim.o.wrapmargin = 79 -- Wrap text automatically
end, end,
}) })
vim.api.nvim_create_autocmd("FileType", {
pattern = "markdown",
command = "TableModeEnable",
})
vim.api.nvim_create_autocmd("FileType", {
pattern = "terraform",
callback = function()
vim.bo.commentstring = "# %s"
end,
})

View File

@ -26,13 +26,25 @@
# ] ++ extraConfig; # ] ++ extraConfig;
# } # }
{ pkgs, colors, terraform ? false, github ? false, kubernetes ? false, ... }: {
pkgs,
colors,
terraform ? false,
github ? false,
kubernetes ? false,
...
}:
# Comes from nix2vim overlay: # Comes from nix2vim overlay:
# https://github.com/gytis-ivaskevicius/nix2vim/blob/master/lib/neovim-builder.nix # https://github.com/gytis-ivaskevicius/nix2vim/blob/master/lib/neovim-builder.nix
pkgs.neovimBuilder { pkgs.neovimBuilder {
package = pkgs.neovim-unwrapped; package = pkgs.neovim-unwrapped;
inherit colors terraform github kubernetes; inherit
colors
terraform
github
kubernetes
;
imports = [ imports = [
../config/align.nix ../config/align.nix
../config/bufferline.nix ../config/bufferline.nix

View File

@ -1,13 +1,12 @@
{ ... }: { { ... }:
{
imports = [ imports = [
./haskell.nix ./haskell.nix
./kubernetes.nix ./kubernetes.nix
./lua.nix ./lua.nix
./nix.nix
./python.nix ./python.nix
./rust.nix ./rust.nix
./terraform.nix ./terraform.nix
]; ];
} }

View File

@ -1,14 +1,12 @@
{ config, lib, ... }: { { config, lib, ... }:
{
options.haskell.enable = lib.mkEnableOption "Haskell programming language."; options.haskell.enable = lib.mkEnableOption "Haskell programming language.";
config = lib.mkIf config.haskell.enable { config = lib.mkIf config.haskell.enable {
# Binary Cache for Haskell.nix # Binary Cache for Haskell.nix
nix.settings.trusted-public-keys = nix.settings.trusted-public-keys = [ "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" ];
[ "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" ];
nix.settings.substituters = [ "https://cache.iog.io" ]; nix.settings.substituters = [ "https://cache.iog.io" ];
}; };
} }

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
options.kubernetes.enable = lib.mkEnableOption "Kubernetes tools."; options.kubernetes.enable = lib.mkEnableOption "Kubernetes tools.";
@ -24,122 +30,135 @@
# Terminal Kubernetes UI # Terminal Kubernetes UI
programs.k9s = { programs.k9s = {
enable = true; enable = true;
# settings = { k9s = { headless = true; }; }; settings = {
skin = {
k9s = { k9s = {
body = { ui = {
fgColor = config.theme.colors.base06; enableMouse = true;
bgColor = config.theme.colors.base00; headless = true;
logoColor = config.theme.colors.base02; # *blue ? logoless = true;
crumbsless = false;
skin = "main";
}; };
# Search bar };
prompt = { };
fgColor = config.theme.colors.base06; skins = {
bgColor = config.theme.colors.base00; main = {
suggestColor = config.theme.colors.base03; k9s = {
}; body = {
# Header left side
info = {
fgColor = config.theme.colors.base04;
sectionColor = config.theme.colors.base05;
};
dialog = {
fgColor = config.theme.colors.base06;
bgColor = config.theme.colors.base00;
buttonFgColor = config.theme.colors.base06;
buttonBgColor = config.theme.colors.base0E;
buttonFocusFgColor = config.theme.colors.base07;
buttonFocusBgColor = config.theme.colors.base02; # *cyan
labelFgColor = config.theme.colors.base09;
fieldFgColor = config.theme.colors.base06;
};
frame = {
border = {
fgColor = config.theme.colors.base01;
focusColor = config.theme.colors.base06;
};
menu = {
fgColor = config.theme.colors.base06; fgColor = config.theme.colors.base06;
keyColor = config.theme.colors.base0E; # *magenta bgColor = "default";
numKeyColor = config.theme.colors.base0E; # *magenta logoColor = config.theme.colors.base02; # *blue ?
}; };
crumbs = { # Search bar
prompt = {
fgColor = config.theme.colors.base06; fgColor = config.theme.colors.base06;
bgColor = config.theme.colors.base01; bgColor = "default";
activeColor = config.theme.colors.base03; suggestColor = config.theme.colors.base03;
}; };
status = { # Header left side
newColor = config.theme.colors.base04; # *cyan info = {
modifyColor = config.theme.colors.base0D; # *blue fgColor = config.theme.colors.base04;
addColor = config.theme.colors.base0B; # *green sectionColor = config.theme.colors.base05;
errorColor = config.theme.colors.base08; # *red
highlightColor = config.theme.colors.base09; # *orange
killColor = config.theme.colors.base03; # *comment
completedColor = config.theme.colors.base03; # *comment
}; };
title = { dialog = {
fgColor = config.theme.colors.base06; fgColor = config.theme.colors.base06;
bgColor = config.theme.colors.base00; bgColor = "default";
highlightColor = config.theme.colors.base09; # *orange buttonFgColor = config.theme.colors.base06;
counterColor = config.theme.colors.base0D; # *blue buttonBgColor = config.theme.colors.base0E;
filterColor = config.theme.colors.base0E; # *magenta buttonFocusFgColor = config.theme.colors.base07;
buttonFocusBgColor = config.theme.colors.base02; # *cyan
labelFgColor = config.theme.colors.base09;
fieldFgColor = config.theme.colors.base06;
}; };
}; frame = {
views = { border = {
charts = { fgColor = config.theme.colors.base01;
bgColor = config.theme.colors.base00; focusColor = config.theme.colors.base06;
defaultDialColors = };
[ config.theme.colors.base0D config.theme.colors.base08 ]; menu = {
# - *blue fgColor = config.theme.colors.base06;
# - *red keyColor = config.theme.colors.base0E; # *magenta
defaultChartColors = numKeyColor = config.theme.colors.base0E; # *magenta
[ config.theme.colors.base0D config.theme.colors.base08 ]; };
# - *blue crumbs = {
# - *red fgColor = config.theme.colors.base06;
}; bgColor = config.theme.colors.base01;
table = { activeColor = config.theme.colors.base03;
# List of resources };
fgColor = config.theme.colors.base06; status = {
bgColor = config.theme.colors.base00; newColor = config.theme.colors.base04; # *cyan
modifyColor = config.theme.colors.base0D; # *blue
# Row selection addColor = config.theme.colors.base0B; # *green
cursorFgColor = config.theme.colors.base07; errorColor = config.theme.colors.base08; # *red
cursorBgColor = config.theme.colors.base01; highlightColor = config.theme.colors.base09; # *orange
killColor = config.theme.colors.base03; # *comment
# Header row completedColor = config.theme.colors.base03; # *comment
header = { };
fgColor = config.theme.colors.base0D; title = {
bgColor = config.theme.colors.base00; fgColor = config.theme.colors.base06;
sorterColor = config.theme.colors.base0A; # *selection bgColor = "default";
highlightColor = config.theme.colors.base09; # *orange
counterColor = config.theme.colors.base0D; # *blue
filterColor = config.theme.colors.base0E; # *magenta
}; };
}; };
xray = { views = {
fgColor = config.theme.colors.base06; charts = {
bgColor = config.theme.colors.base00; bgColor = "default";
cursorColor = config.theme.colors.base06; defaultDialColors = [
graphicColor = config.theme.colors.base0D; config.theme.colors.base0D
showIcons = false; config.theme.colors.base08
}; ];
yaml = { # - *blue
keyColor = config.theme.colors.base0D; # - *red
colonColor = config.theme.colors.base04; defaultChartColors = [
fgColor = config.theme.colors.base03; config.theme.colors.base0D
}; config.theme.colors.base08
logs = { ];
fgColor = config.theme.colors.base06; # - *blue
bgColor = config.theme.colors.base00; # - *red
indicator = { };
table = {
# List of resources
fgColor = config.theme.colors.base06; fgColor = config.theme.colors.base06;
bgColor = config.theme.colors.base00; bgColor = "default";
# Row selection
cursorFgColor = config.theme.colors.base07;
cursorBgColor = config.theme.colors.base01;
# Header row
header = {
fgColor = config.theme.colors.base0D;
bgColor = "default";
sorterColor = config.theme.colors.base0A; # *selection
};
};
xray = {
fgColor = config.theme.colors.base06;
bgColor = "default";
cursorColor = config.theme.colors.base06;
graphicColor = config.theme.colors.base0D;
showIcons = false;
};
yaml = {
keyColor = config.theme.colors.base0D;
colonColor = config.theme.colors.base04;
fgColor = config.theme.colors.base03;
};
logs = {
fgColor = config.theme.colors.base06;
bgColor = "default";
indicator = {
fgColor = config.theme.colors.base06;
bgColor = "default";
};
}; };
}; };
}; };
}; };
}; };
}; };
}; };
}; };
} }

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
options.lua.enable = lib.mkEnableOption "Lua programming language."; options.lua.enable = lib.mkEnableOption "Lua programming language.";
@ -8,5 +14,4 @@
sumneko-lua-language-server # Lua LSP sumneko-lua-language-server # Lua LSP
]; ];
}; };
} }

View File

@ -1,18 +0,0 @@
{ config, pkgs, lib, ... }: {
options.nixlang.enable = lib.mkEnableOption "Nix programming language.";
config = lib.mkIf config.nixlang.enable {
home-manager.users.${config.user} = {
home.packages = with pkgs; [
nixfmt # Nix file formatter
nil # Nix language server
];
};
};
}

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
options.python.enable = lib.mkEnableOption "Python programming language."; options.python.enable = lib.mkEnableOption "Python programming language.";
@ -8,15 +14,14 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
# python310 # Standard Python interpreter # python310 # Standard Python interpreter
nodePackages.pyright # Python language server pyright # Python language server
black # Python formatter black # Python formatter
python310Packages.flake8 # Python linter python310Packages.flake8 # Python linter
]; ];
programs.fish.shellAbbrs = { py = "python3"; }; programs.fish.shellAbbrs = {
py = "python3";
};
}; };
}; };
} }

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
options.rust.enable = lib.mkEnableOption "Rust programming language."; options.rust.enable = lib.mkEnableOption "Rust programming language.";
@ -6,12 +12,16 @@
home-manager.users.${config.user} = { home-manager.users.${config.user} = {
programs.fish.shellAbbrs = { ca = "cargo"; }; programs.fish.shellAbbrs = {
ca = "cargo";
home.packages = with pkgs; [ cargo rustc clippy gcc ]; };
home.packages = with pkgs; [
cargo
rustc
clippy
gcc
];
}; };
}; };
} }

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
options.terraform.enable = lib.mkEnableOption "Terraform tools."; options.terraform.enable = lib.mkEnableOption "Terraform tools.";
@ -15,9 +21,6 @@
terraform-ls # Language server terraform-ls # Language server
tflint # Linter tflint # Linter
]; ];
}; };
}; };
} }

View File

@ -1,5 +1,8 @@
{ ... }: { { ... }:
{
imports = [ ./dotfiles.nix ./notes.nix ];
imports = [
./dotfiles.nix
./notes.nix
];
} }

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
# Allows me to make sure I can work on my dotfiles locally # Allows me to make sure I can work on my dotfiles locally
@ -11,23 +17,17 @@
home.activation = { home.activation = {
# Always clone dotfiles repository if it doesn't exist # Always clone dotfiles repository if it doesn't exist
cloneDotfiles = cloneDotfiles = config.home-manager.users.${config.user}.lib.dag.entryAfter [ "writeBoundary" ] ''
config.home-manager.users.${config.user}.lib.dag.entryAfter if [ ! -d "${config.dotfilesPath}" ]; then
[ "writeBoundary" ] '' $DRY_RUN_CMD mkdir --parents $VERBOSE_ARG $(dirname "${config.dotfilesPath}")
if [ ! -d "${config.dotfilesPath}" ]; then $DRY_RUN_CMD ${pkgs.git}/bin/git \
$DRY_RUN_CMD mkdir --parents $VERBOSE_ARG $(dirname "${config.dotfilesPath}") clone ${config.dotfilesRepo} "${config.dotfilesPath}"
$DRY_RUN_CMD ${pkgs.git}/bin/git \ fi
clone ${config.dotfilesRepo} "${config.dotfilesPath}" '';
fi
'';
}; };
# Set a variable for dotfiles repo, not necessary but convenient # Set a variable for dotfiles repo, not necessary but convenient
home.sessionVariables.DOTS = config.dotfilesPath; home.sessionVariables.DOTS = config.dotfilesPath;
}; };
}; };
} }

View File

@ -1,4 +1,10 @@
{ config, ... }: { {
config,
pkgs,
lib,
...
}:
{
# This is just a placeholder as I expect to interact with my notes in a # This is just a placeholder as I expect to interact with my notes in a
# certain location # certain location
@ -9,6 +15,22 @@
NOTES_PATH = "${config.homePath}/dev/personal/notes/content"; NOTES_PATH = "${config.homePath}/dev/personal/notes/content";
}; };
# Sync notes for Nextcloud automatically
systemd.user.timers.refresh-notes = lib.mkIf config.services.nextcloud.enable {
Timer = {
OnCalendar = "*-*-* *:0/10:50"; # Every 10 minutes
Unit = "refresh-notes.service";
};
};
systemd.user.services.refresh-notes = {
Unit.Description = "Get latest notes.";
Service = {
Type = "oneshot";
ExecStartPre = "${pkgs.git}/bin/git -C /data/git/notes reset --hard master";
ExecStart = "${pkgs.git}/bin/git -C /data/git/notes pull";
WorkingDirectory = config.homePath;
Environment = "PATH=${pkgs.openssh}/bin";
};
};
}; };
} }

View File

@ -1,4 +1,5 @@
{ config, lib, ... }: { { config, lib, ... }:
{
# Shell history sync # Shell history sync
@ -10,7 +11,10 @@
programs.atuin = { programs.atuin = {
enable = true; enable = true;
flags = [ "--disable-up-arrow" "--disable-ctrl-r" ]; flags = [
"--disable-up-arrow"
"--disable-ctrl-r"
];
settings = { settings = {
auto_sync = true; auto_sync = true;
update_check = false; update_check = false;
@ -27,13 +31,9 @@
keymap_mode = "vim-normal"; keymap_mode = "vim-normal";
}; };
}; };
}; };
# Give root user the same setup # Give root user the same setup
home-manager.users.root.programs.atuin = home-manager.users.root.programs.atuin = config.home-manager.users.${config.user}.programs.atuin;
config.home-manager.users.${config.user}.programs.atuin;
}; };
} }

View File

@ -1,12 +1,17 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
config = { config = {
home-manager.users.${config.user} = { home-manager.users.${config.user} = {
programs.bash = { programs.bash = {
enable = true; enable = true;
shellAliases = shellAliases = config.home-manager.users.${config.user}.programs.fish.shellAliases;
config.home-manager.users.${config.user}.programs.fish.shellAliases;
initExtra = ""; initExtra = "";
profileExtra = ""; profileExtra = "";
}; };
@ -14,7 +19,6 @@
programs.starship.enableBashIntegration = false; programs.starship.enableBashIntegration = false;
programs.zoxide.enableBashIntegration = true; programs.zoxide.enableBashIntegration = true;
programs.fzf.enableBashIntegration = true; programs.fzf.enableBashIntegration = true;
}; };
}; };
} }

View File

@ -0,0 +1,22 @@
#!/usr/bin/env bash
# Retrieve list of AWS instances
# Use enter to jump into their sessions with SSM
# Specify AWS_PROFILE and AWS_REGION before running this script
aws ec2 describe-instances \
--filters "Name=instance-state-name,Values=running" |
jq -r \
'.Reservations[]
| .Instances[]
| .InstanceId + " - " +
(.PrivateIpAddress // "n/a") + " - " +
(.PublicIpAddress // "n/a") + " - " +
(.Tags // [] | from_entries | .Name // "n/a")' |
fzf \
--height 100% \
--layout reverse \
--header $'Press Enter to start SSM session\nInstance ID - Private IP - Public IP - Name' \
--preview "aws ec2 describe-instances --instance-ids \"\$(echo {} | cut -d' ' -f1)\" | jq -r '.Reservations[].Instances[0]'" \
--bind "enter:become(aws ssm start-session --target \$(echo {} | cut -d' ' -f1))"

View File

@ -0,0 +1,23 @@
#!/usr/bin/env bash
# Adapted from: https://gist.github.com/reegnz/b9e40993d410b75c2d866441add2cb55
if [[ -z $1 ]] || [[ $1 == "-" ]]; then
input=$(mktemp)
trap 'rm -f $input' EXIT
cat /dev/stdin >"$input"
else
input=$1
fi
echo '' |
fzf --phony \
--height 100% \
--preview-window='up:80%' \
--query '.' \
--print-query \
--header $'CTRL-O: jq output\nCTRL-Y: copy output\nALT-Y: copy query' \
--preview "jq --color-output -r {q} $input" \
--bind "ctrl-o:execute(jq -r {q} $input)+clear-query+accept" \
--bind "alt-y:execute(echo {q} | pbcopy)" \
--bind "ctrl-y:execute(jq -r {q} $input | pbcopy)"

View File

@ -31,6 +31,10 @@ STATUS=$?
# because tesseract adds .txt to the given file path anyways. So if we were to # because tesseract adds .txt to the given file path anyways. So if we were to
# specify /tmp/ocr.txt as the file path, tesseract would out the text to # specify /tmp/ocr.txt as the file path, tesseract would out the text to
# /tmp/ocr.txt.txt # /tmp/ocr.txt.txt
cd /tmp || {
echo "Failed to jump to directory."
exit 1
}
tesseract "$IMAGE_FILE" "${TEXT_FILE//\.txt/}" tesseract "$IMAGE_FILE" "${TEXT_FILE//\.txt/}"
# Check if the text was detected by checking number # Check if the text was detected by checking number

View File

@ -0,0 +1,55 @@
#!/usr/bin/env bash
export AWS_PROFILE="gs"
BUCKET_NAME_PART_1="t2"
BUCKET_NAME_PART_2="global"
BUCKET_NAME_PART_3="terraformstate"
PROJECT_ROOT=$(git rev-parse --show-toplevel)
WORKFLOW_FILE="${PROJECT_ROOT}/.github/workflows/terraform.yml"
if [ ! -f "$WORKFLOW_FILE" ]; then
WORKFLOW_FILE="${PROJECT_ROOT}/.github/workflows/apply.yml"
fi
AWS_ACCOUNT_NUMBER=$(
awk '/aws_account_number: .*/ {print $2}' "$WORKFLOW_FILE" | # Grab account number
echo "$(
read -r s
s=${s//\'/}
echo "$s"
)" # Remove single quote if it exists
)
if [ -z "${AWS_ACCOUNT_NUMBER}" ]; then
AWS_ACCOUNT_NUMBER=$(
awk '/AWS_ACCOUNT_NUMBER: .*/ {print $2}' "$WORKFLOW_FILE" | # Grab account number
echo "$(
read -r s
s=${s//\'/}
echo "$s"
)" # Remove single quote if it exists
)
fi
REPOSITORY=$(
git remote get-url origin |
awk -F'/' -v OFS='/' '{print $(NF-1),$NF }' |
echo "$(
read -r s
s=${s%.git}
echo "$s"
)" # Remove .git suffix if it exists
)
BRANCH=$(git branch --show-current)
terraform init \
-backend-config="region=us-east-1" \
-backend-config="bucket=${BUCKET_NAME_PART_1}${BUCKET_NAME_PART_2}${BUCKET_NAME_PART_3}" \
-backend-config="workspace_key_prefix=accounts/${AWS_ACCOUNT_NUMBER}/${REPOSITORY}" \
-backend-config="key=state.tfstate" \
-backend-config="dynamodb_table=global-tf-state-lock" \
-upgrade
terraform workspace select "$BRANCH"

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
# Convenience utilities from charm.sh # Convenience utilities from charm.sh
@ -12,7 +18,5 @@
charm # Manage account and filesystem charm # Manage account and filesystem
pop # Send emails from a TUI pop # Send emails from a TUI
]; ];
}; };
} }

View File

@ -1,4 +1,5 @@
{ ... }: { { ... }:
{
imports = [ imports = [
./atuin.nix ./atuin.nix
./bash ./bash
@ -12,5 +13,6 @@
./nixpkgs.nix ./nixpkgs.nix
./starship.nix ./starship.nix
./utilities.nix ./utilities.nix
./work.nix
]; ];
} }

View File

@ -1,10 +1,15 @@
{ config, ... }: { { config, ... }:
{
# Enables quickly entering Nix shells when changing directories # Enables quickly entering Nix shells when changing directories
home-manager.users.${config.user}.programs.direnv = { home-manager.users.${config.user}.programs.direnv = {
enable = true; enable = true;
nix-direnv.enable = true; nix-direnv.enable = true;
config = { whitelist = { prefix = [ config.dotfilesPath ]; }; }; config = {
whitelist = {
prefix = [ config.dotfilesPath ];
};
};
}; };
# programs.direnv.direnvrcExtra = '' # programs.direnv.direnvrcExtra = ''
@ -28,5 +33,4 @@
keep-outputs = true keep-outputs = true
keep-derivations = true keep-derivations = true
''; '';
} }

View File

@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: { {
config,
pkgs,
lib,
...
}:
{
users.users.${config.user}.shell = pkgs.fish; users.users.${config.user}.shell = pkgs.fish;
programs.fish.enable = true; # Needed for LightDM to remember username programs.fish.enable = true; # Needed for LightDM to remember username
@ -46,7 +52,9 @@
fish_user_key_bindings = { fish_user_key_bindings = {
body = builtins.readFile ./functions/fish_user_key_bindings.fish; body = builtins.readFile ./functions/fish_user_key_bindings.fish;
}; };
ip = { body = builtins.readFile ./functions/ip.fish; }; ip = {
body = builtins.readFile ./functions/ip.fish;
};
json = { json = {
description = "Tidy up JSON using jq"; description = "Tidy up JSON using jq";
body = "pbpaste | jq '.' | pbcopy"; # Need to fix for non-macOS body = "pbpaste | jq '.' | pbcopy"; # Need to fix for non-macOS
@ -68,6 +76,10 @@
description = "Full git commit on notes"; description = "Full git commit on notes";
body = builtins.readFile ./functions/syncnotes.fish; body = builtins.readFile ./functions/syncnotes.fish;
}; };
_which = {
description = "Identify the path to a program in the shell";
body = "command --search (string sub --start=2 $argv)";
};
}; };
interactiveShellInit = '' interactiveShellInit = ''
fish_vi_key_bindings fish_vi_key_bindings
@ -93,10 +105,18 @@
"-" = "cd -"; "-" = "cd -";
mkd = "mkdir -pv"; mkd = "mkdir -pv";
# Convert a program into its full path
"=" = {
position = "anywhere";
regex = "=\\w+";
function = "_which";
};
# System # System
s = "sudo"; s = "sudo";
sc = "systemctl"; sc = "systemctl";
scs = "systemctl status"; scs = "systemctl status";
sca = "systemctl cat";
m = "make"; m = "make";
t = "trash"; t = "trash";
@ -112,8 +132,7 @@
moon = "curl wttr.in/Moon"; moon = "curl wttr.in/Moon";
# Cheat Sheets # Cheat Sheets
ssl = ssl = "openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr";
"openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr";
fingerprint = "ssh-keyscan myhost.com | ssh-keygen -lf -"; fingerprint = "ssh-keyscan myhost.com | ssh-keygen -lf -";
publickey = "ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub"; publickey = "ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub";
forloop = "for i in (seq 1 100)"; forloop = "for i in (seq 1 100)";
@ -122,7 +141,6 @@
dc = "$DOTS/bin/docker_cleanup"; dc = "$DOTS/bin/docker_cleanup";
dr = "docker run --rm -it"; dr = "docker run --rm -it";
db = "docker build . -t"; db = "docker build . -t";
}; };
shellInit = ""; shellInit = "";
}; };
@ -132,6 +150,5 @@
programs.starship.enableFishIntegration = true; programs.starship.enableFishIntegration = true;
programs.zoxide.enableFishIntegration = true; programs.zoxide.enableFishIntegration = true;
programs.fzf.enableFishIntegration = true; programs.fzf.enableFishIntegration = true;
}; };
} }

Some files were not shown because too many files have changed in this diff Show More