mirror of
https://github.com/nmasur/dotfiles
synced 2025-07-06 21:20:13 +00:00
Compare commits
44 Commits
language-c
...
a30b189207
Author | SHA1 | Date | |
---|---|---|---|
a30b189207 | |||
eb3c1f7a4c | |||
c697cd4e38 | |||
661ef8dcbf | |||
ec09db42e6 | |||
3403924105 | |||
3d234072f6 | |||
b39cda6b84 | |||
47be4291a3 | |||
67f7506636 | |||
bbdfeb645e | |||
7f60d88f30 | |||
8babcf342b | |||
a5ec39cd2a | |||
63434c8309 | |||
1a5fe54d06 | |||
b2cfdc1fdf | |||
3a4568bc69 | |||
203bb6a13a | |||
4bfd65acb3 | |||
d636de890c | |||
1e9401eef2 | |||
ea67467cbf | |||
fc6bdeb1ad | |||
2758637953 | |||
f747c80c2a | |||
013f67c0a8 | |||
fb145e5772 | |||
408b329684 | |||
ad70457600 | |||
f54f7b6e2e | |||
2700efa6e4 | |||
e44adf4568 | |||
471b258ff7 | |||
ac6329baf6 | |||
a61ac456a9 | |||
cf77adb366 | |||
2217568a59 | |||
05deb5b979 | |||
8621e2375d | |||
25975da0c1 | |||
a79719c21a | |||
5aea58df79 | |||
1833bfddfb |
@ -25,7 +25,7 @@ configuration may be difficult to translate to a non-Nix system.
|
||||
| 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) |
|
||||
| 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) |
|
||||
| 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) |
|
||||
|
@ -4,38 +4,34 @@
|
||||
type = "disk";
|
||||
device = disk;
|
||||
content = {
|
||||
type = "table";
|
||||
format = "gpt";
|
||||
partitions = [
|
||||
type = "gpt";
|
||||
partitions = {
|
||||
# Boot partition
|
||||
{
|
||||
name = "ESP";
|
||||
start = "0";
|
||||
end = "512MiB";
|
||||
fs-type = "fat32";
|
||||
bootable = true;
|
||||
ESP = rec {
|
||||
size = "512MiB";
|
||||
type = "EF00";
|
||||
label = "boot";
|
||||
device = "/dev/disk/by-label/${label}";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "vfat";
|
||||
mountpoint = "/boot";
|
||||
extraArgs = [ "-n boot" ];
|
||||
extraArgs = [ "-n ${label}" ];
|
||||
};
|
||||
}
|
||||
};
|
||||
# Root partition ext4
|
||||
{
|
||||
name = "root";
|
||||
start = "512MiB";
|
||||
end = "100%";
|
||||
part-type = "primary";
|
||||
bootable = true;
|
||||
root = rec {
|
||||
size = "100%";
|
||||
label = "nixos";
|
||||
device = "/dev/disk/by-label/${label}";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "ext4";
|
||||
mountpoint = "/";
|
||||
extraArgs = [ "-L nixos" ];
|
||||
extraArgs = [ "-L ${label}" ];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -63,3 +63,20 @@ Use this mysqldump command:
|
||||
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
|
||||
```
|
||||
|
225
flake.lock
generated
225
flake.lock
generated
@ -1,22 +1,5 @@
|
||||
{
|
||||
"nodes": {
|
||||
"Comment-nvim-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1681214440,
|
||||
"narHash": "sha256-48hy+hiaDJLlgWqC7IeZI3dT+VwWkRo4atQbyPxu/ys=",
|
||||
"owner": "numToStr",
|
||||
"repo": "Comment.nvim",
|
||||
"rev": "e51f2b142d88bb666dcaa77d93a07f4b419aca70",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numToStr",
|
||||
"ref": "v0.8.0",
|
||||
"repo": "Comment.nvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"baleia-nvim-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@ -33,6 +16,22 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-nvim-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1708139024,
|
||||
"narHash": "sha256-l0BO2boIy6mwK8ISWS3D68f8egqHYwsGSAnzjbB5aOE=",
|
||||
"owner": "RRethy",
|
||||
"repo": "base16-nvim",
|
||||
"rev": "b3e9ec6a82c05b562cd71f40fe8964438a9ba64a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "RRethy",
|
||||
"repo": "base16-nvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"bufferline-nvim-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@ -53,11 +52,11 @@
|
||||
"bypass-paywalls-clean": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1706880406,
|
||||
"narHash": "sha256-8z2Gc3ITluXXbDij4Ltahpkxs7zdnMITvIAjotab/QU=",
|
||||
"lastModified": 1709556839,
|
||||
"narHash": "sha256-LbsaYISpsjCI8DXPu2toBI3uMK+Xau1sWuzA2xsQ6Pg=",
|
||||
"owner": "magnolia1234",
|
||||
"repo": "bpc-uploads",
|
||||
"rev": "c91cfd510390ab5a138f412ad2890b2cb2a2eafd",
|
||||
"rev": "0ca7c6a857e4e6c3e508228168e8de70e21cee3a",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
@ -82,6 +81,23 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"comment-nvim-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1681214440,
|
||||
"narHash": "sha256-48hy+hiaDJLlgWqC7IeZI3dT+VwWkRo4atQbyPxu/ys=",
|
||||
"owner": "numToStr",
|
||||
"repo": "Comment.nvim",
|
||||
"rev": "e51f2b142d88bb666dcaa77d93a07f4b419aca70",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numToStr",
|
||||
"ref": "v0.8.0",
|
||||
"repo": "Comment.nvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@ -89,11 +105,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1706833576,
|
||||
"narHash": "sha256-w7BL0EWRts+nD1lbLECIuz6fRzmmV+z8oWwoY7womR0=",
|
||||
"lastModified": 1709771483,
|
||||
"narHash": "sha256-Hjzu9nCknHLQvhdaRFfCEprH0o15KcaNu1QDr3J88DI=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "bdbae6ecff8fcc322bf6b9053c0b984912378af7",
|
||||
"rev": "550340062c16d7ef8c2cc20a3d2b97bcd3c6b6f6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -110,11 +126,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1706491084,
|
||||
"narHash": "sha256-eaEv+orTmr2arXpoE4aFZQMVPOYXCBEbLgK22kOtkhs=",
|
||||
"lastModified": 1709967935,
|
||||
"narHash": "sha256-ZLLdGWs9njivxZsfSzfQN05g6WIyIe24bPb61y7FVqo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "f67ba6552845ea5d7f596a24d57c33a8a9dc8de9",
|
||||
"rev": "72818e54ec29427f8d9f9cfa6fc859d01ca6dc66",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -147,11 +163,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1707007453,
|
||||
"narHash": "sha256-vs7uACn2/8GOApZJv52gAVsLfpjQWFgkHN2QJ7aVkl8=",
|
||||
"lastModified": 1710031437,
|
||||
"narHash": "sha256-XauWQSnMUwJOHgW/ByZP1kOrJyNSJxV4aNoBlo8lnoc=",
|
||||
"owner": "bandithedoge",
|
||||
"repo": "nixpkgs-firefox-darwin",
|
||||
"rev": "d839feb516758ad28bc1cef43008d55e749c1d6a",
|
||||
"rev": "e9883b75736b2d33787c9326d27d719a644b1c35",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -235,11 +251,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1706985585,
|
||||
"narHash": "sha256-ptshv4qXiC6V0GCfpABz88UGGPNwqs5tAxaRUKbk1Qo=",
|
||||
"lastModified": 1709988192,
|
||||
"narHash": "sha256-qxwIkl85P0I1/EyTT+NJwzbXdOv86vgZxcv4UKicjK8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "1ca210648a6ca9b957efde5da957f3de6b1f0c45",
|
||||
"rev": "b0b0c3d94345050a7f86d1ebc6c56eea4389d030",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -252,11 +268,11 @@
|
||||
"kitty-scrollback-nvim-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1706891759,
|
||||
"narHash": "sha256-p7RPqLHO6D5CCTDQzUrEqTu9+jg+V7wtYfGbY4qjE9A=",
|
||||
"lastModified": 1710038457,
|
||||
"narHash": "sha256-/6uDN3wE6uO4yxj7tNtLXjaMse2DCQsehpTnoEyBA/U=",
|
||||
"owner": "mikesmithgh",
|
||||
"repo": "kitty-scrollback.nvim",
|
||||
"rev": "12f7687ac049d46a987c39b2b4f657fdf540fa4e",
|
||||
"rev": "c3014974e4cd498a534ff814761ef794ebb85d01",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -307,7 +323,7 @@
|
||||
"nextcloud-snappymail": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1707018069,
|
||||
"lastModified": 1710042081,
|
||||
"narHash": "sha256-UeZXoZFEPJj7zEVNTXJ3IYNt/wI7VFq3Pjh1ubMHCBo=",
|
||||
"type": "tarball",
|
||||
"url": "https://snappymail.eu/repository/nextcloud/snappymail-2.32.0-nextcloud.tar.gz"
|
||||
@ -325,11 +341,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1706886721,
|
||||
"narHash": "sha256-iDYxsE5xYoK8Ww2TYZDmgRQNIZl+QHJfChOxWh45g0k=",
|
||||
"lastModified": 1707832982,
|
||||
"narHash": "sha256-Jsrj8HJyo+PmjrHIDhq4gjZCE0eYCVmmTrx24cG8eOQ=",
|
||||
"owner": "gytis-ivaskevicius",
|
||||
"repo": "nix2vim",
|
||||
"rev": "29253dcf0f645a44847006d436b096369ef42fd8",
|
||||
"rev": "2fb1328cf058fc967b02f9a5330a99253b4c247e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -340,11 +356,11 @@
|
||||
},
|
||||
"nixlib": {
|
||||
"locked": {
|
||||
"lastModified": 1693701915,
|
||||
"narHash": "sha256-waHPLdDYUOHSEtMKKabcKIMhlUOHPOOPQ9UyFeEoovs=",
|
||||
"lastModified": 1709426687,
|
||||
"narHash": "sha256-jLBZmwXf0WYHzLkmEMq33bqhX55YtT5edvluFr0RcSA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "f5af57d3ef9947a70ac86e42695231ac1ad00c25",
|
||||
"rev": "7873d84a89ae6e4841528ff7f5697ddcb5bdfe6c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -361,11 +377,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1706085261,
|
||||
"narHash": "sha256-7PgpHRHyShINcqgevPP1fJ6N8kM5ZSOJnk3QZBrOCQ0=",
|
||||
"lastModified": 1709887845,
|
||||
"narHash": "sha256-803UIoB8+vGkm/VK/g55aBAAOf/ncTGvxXyjTF4ydm0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixos-generators",
|
||||
"rev": "896f6589db5b25023b812bbb6c1f5d3a499b1132",
|
||||
"rev": "bef32a05496d9480b02be586fa7827748b9e597b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -376,11 +392,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1706732774,
|
||||
"narHash": "sha256-hqJlyJk4MRpcItGYMF+3uHe8HvxNETWvlGtLuVpqLU0=",
|
||||
"lastModified": 1709703039,
|
||||
"narHash": "sha256-6hqgQ8OK6gsMu1VtcGKBxKQInRLHtzulDo9Z5jxHEFY=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b8b232ae7b8b144397fdb12d20f592e5e7c1a64d",
|
||||
"rev": "9df3e30ce24fd28c7b3e2de0d986769db5d6225d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -390,34 +406,34 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"null-ls-nvim-src": {
|
||||
"flake": false,
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1691810493,
|
||||
"narHash": "sha256-cWA0rzkOp/ekVKaFee7iea1lhnqKtWUIU+fW5M950wI=",
|
||||
"owner": "jose-elias-alvarez",
|
||||
"repo": "null-ls.nvim",
|
||||
"rev": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7",
|
||||
"lastModified": 1710037658,
|
||||
"narHash": "sha256-6i7th4IX+2E1KX7FEJ4XgYtvQAooLa6YRsUIVRDu0PU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nur",
|
||||
"rev": "ff870a7e359c3f34fc1144c6c35f76003d6c17e7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "jose-elias-alvarez",
|
||||
"repo": "null-ls.nvim",
|
||||
"owner": "nix-community",
|
||||
"repo": "nur",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"nvim-lint-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1707013032,
|
||||
"narHash": "sha256-9kEY/D0Q6sF+p6vJRefVXDK4QQdwK4Q0lSQdsYICad0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nur",
|
||||
"rev": "ab432acea15134873882610c0e936a882319bc8a",
|
||||
"lastModified": 1709238483,
|
||||
"narHash": "sha256-fYaiUFNaaSPejKBecKB7ifp/soREWYIh3avemU5qJJE=",
|
||||
"owner": "mfussenegger",
|
||||
"repo": "nvim-lint",
|
||||
"rev": "e824adb9bc01647f71e55457353a68f0f37f9931",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nur",
|
||||
"owner": "mfussenegger",
|
||||
"repo": "nvim-lint",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@ -441,11 +457,11 @@
|
||||
"nvim-tree-lua-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1706571452,
|
||||
"narHash": "sha256-b0LIqLC8cCRX1NyJx4eH5c4v5Fqqw5mMleAnQ2VRctM=",
|
||||
"lastModified": 1709951243,
|
||||
"narHash": "sha256-1lWdTSZt/J4geoQKLkZLQ5Yh992XpZ4cFHw4AGEJFPY=",
|
||||
"owner": "kyazdani42",
|
||||
"repo": "nvim-tree.lua",
|
||||
"rev": "f39f7b6fcd3865ac2146de4cb4045286308f2935",
|
||||
"rev": "041dbd18f440207ad161503a384e7c82d575db66",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -457,11 +473,11 @@
|
||||
"nvim-treesitter-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1706952848,
|
||||
"narHash": "sha256-pNjEODR+QJPDL58O4NM7SjzZEN8D3bXDHbKLNOS3fL8=",
|
||||
"lastModified": 1709968077,
|
||||
"narHash": "sha256-5cHJMqbiBAbkis9exMAH5Y2ALynaSVmQT8NQTR4VztM=",
|
||||
"owner": "nvim-treesitter",
|
||||
"repo": "nvim-treesitter",
|
||||
"rev": "4fbf150a1621d52f17b099506e1a32f107079210",
|
||||
"rev": "7ff51f53b0efb6228df2e8539b51bb2e737b77f3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -474,14 +490,14 @@
|
||||
"proton-ge": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1700610476,
|
||||
"narHash": "sha256-IoClZ6hl2lsz9OGfFgnz7vEAGlSY2+1K2lDEEsJQOfU=",
|
||||
"lastModified": 1707701731,
|
||||
"narHash": "sha256-ZBOF1N434pBQ+dJmzfJO9RdxRndxorxbJBZEIifp0w4=",
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton8-25/GE-Proton8-25.tar.gz"
|
||||
"url": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton8-32/GE-Proton8-32.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton8-25/GE-Proton8-25.tar.gz"
|
||||
"url": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton8-32/GE-Proton8-32.tar.gz"
|
||||
}
|
||||
},
|
||||
"ren": {
|
||||
@ -503,11 +519,11 @@
|
||||
"rep": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1705833236,
|
||||
"narHash": "sha256-hm+v+b97z1HnY/7QHZxc0GygCq9W0mJauyjnz48ddaM=",
|
||||
"lastModified": 1707216692,
|
||||
"narHash": "sha256-/dH+mNtNHaYFndVhoqmz4Sc3HeemoQt1HGD98mb9Qhw=",
|
||||
"owner": "robenkleene",
|
||||
"repo": "rep-grep",
|
||||
"rev": "365acc5d599934e94dc066eb85b7ddd684ba508b",
|
||||
"rev": "10510d47e392cb9d30a861c69f702fd194b3fa88",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -518,11 +534,12 @@
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"Comment-nvim-src": "Comment-nvim-src",
|
||||
"baleia-nvim-src": "baleia-nvim-src",
|
||||
"base16-nvim-src": "base16-nvim-src",
|
||||
"bufferline-nvim-src": "bufferline-nvim-src",
|
||||
"bypass-paywalls-clean": "bypass-paywalls-clean",
|
||||
"cmp-nvim-lsp-src": "cmp-nvim-lsp-src",
|
||||
"comment-nvim-src": "comment-nvim-src",
|
||||
"darwin": "darwin",
|
||||
"disko": "disko",
|
||||
"fidget-nvim-src": "fidget-nvim-src",
|
||||
@ -537,8 +554,8 @@
|
||||
"nix2vim": "nix2vim",
|
||||
"nixos-generators": "nixos-generators",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"null-ls-nvim-src": "null-ls-nvim-src",
|
||||
"nur": "nur",
|
||||
"nvim-lint-src": "nvim-lint-src",
|
||||
"nvim-lspconfig-src": "nvim-lspconfig-src",
|
||||
"nvim-tree-lua-src": "nvim-tree-lua-src",
|
||||
"nvim-treesitter-src": "nvim-treesitter-src",
|
||||
@ -643,11 +660,11 @@
|
||||
"tree-sitter-bash": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1705686017,
|
||||
"narHash": "sha256-+Mpks0FyQLl26TX63J6WhaAl/QDUR1k9wSUY5SFwL+w=",
|
||||
"lastModified": 1707951703,
|
||||
"narHash": "sha256-SU5wBy81aANd7oUZvYR14Vd53Ml/cBSwDtO6uG34CaE=",
|
||||
"owner": "tree-sitter",
|
||||
"repo": "tree-sitter-bash",
|
||||
"rev": "f7239f638d3dc16762563a9027faeee518ce1bd9",
|
||||
"rev": "975bc70ad95dbbf2733872bc2e0a059c055db983",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -676,11 +693,11 @@
|
||||
"tree-sitter-lua": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1694072484,
|
||||
"narHash": "sha256-5t5w8KqbefInNbA12/jpNzmky/uOUhsLjKdEqpl1GEc=",
|
||||
"lastModified": 1708499929,
|
||||
"narHash": "sha256-kzyn6XF4/PN8civ/0UV+ancCMkh7DF2B7WUYxix6aaM=",
|
||||
"owner": "MunifTanjim",
|
||||
"repo": "tree-sitter-lua",
|
||||
"rev": "9668709211b2e683f27f414454a8b51bf0a6bda1",
|
||||
"rev": "04c9579dcb917255b2e5f8199df4ae7f587d472f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -693,11 +710,11 @@
|
||||
"tree-sitter-puppet": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1690231696,
|
||||
"narHash": "sha256-YEjjy9WLwITERYqoeSVrRYnwVBIAwdc4o0lvAK9wizw=",
|
||||
"lastModified": 1709480423,
|
||||
"narHash": "sha256-Lwfiby7amjTIOz8QRoC4RdZyFPfFikmQ2sqta4akyH8=",
|
||||
"owner": "amaanq",
|
||||
"repo": "tree-sitter-puppet",
|
||||
"rev": "9ce9a5f7d64528572aaa8d59459ba869e634086b",
|
||||
"rev": "5849f9694197a6e822872945b415429c285fdd54",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -709,11 +726,11 @@
|
||||
"tree-sitter-python": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1700218345,
|
||||
"narHash": "sha256-hXNxa895SyNOG7PH2vAIkWbcMjZDjWYDsCafBZuvnT0=",
|
||||
"lastModified": 1709753184,
|
||||
"narHash": "sha256-SqPd9O1OqBEOA+WPLfP3J2vuHWt53G5gI/9FWKQx2/Y=",
|
||||
"owner": "tree-sitter",
|
||||
"repo": "tree-sitter-python",
|
||||
"rev": "4bfdd9033a2225cc95032ce77066b7aeca9e2efc",
|
||||
"rev": "03e88c170cb23142559a406b6e7621c4af3128f5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -726,11 +743,11 @@
|
||||
"tree-sitter-rasi": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1678701563,
|
||||
"narHash": "sha256-2nYZoLcrxxxiOJEySwHUm93lzMg8mU+V7LIP63ntFdA=",
|
||||
"lastModified": 1707776004,
|
||||
"narHash": "sha256-7zhQ5wGm0FFyuTiBVN2KgvUTw8G6fwUGR8HKJ69kR+c=",
|
||||
"owner": "Fymyte",
|
||||
"repo": "tree-sitter-rasi",
|
||||
"rev": "371dac6bcce0df5566c1cfebde69d90ecbeefd2d",
|
||||
"rev": "43196d934a9a6ab3c7093a8683efd0111bb03db1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -742,11 +759,11 @@
|
||||
"tree-sitter-vimdoc": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1705491128,
|
||||
"narHash": "sha256-q5Ln8WPFrtKBfZnaAAlMh3Q/eczEt6wCMZAtx+ISCKg=",
|
||||
"lastModified": 1709370081,
|
||||
"narHash": "sha256-v+hSI/6ocC2KxH8ogCexNcxxhcZsl7OvV9197zBCKr4=",
|
||||
"owner": "neovim",
|
||||
"repo": "tree-sitter-vimdoc",
|
||||
"rev": "ed8695ad8de39c3f073da130156f00b1148e2891",
|
||||
"rev": "016ad75faa854e4e13bc40c517015183b795eed9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -780,11 +797,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1706867893,
|
||||
"narHash": "sha256-c5bADvtL35S3vsJaXR5YWTXe08W0gSwOrTOXfpJB4Ac=",
|
||||
"lastModified": 1709980437,
|
||||
"narHash": "sha256-rp1MwfRaZl7TPM4E5i1HxQGJCCfMcIa7dOzTX3SW7ro=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NixOS-WSL",
|
||||
"rev": "bcae8dc73b931b7f0fc65f1f1ef93dc379dfd66b",
|
||||
"rev": "e0b9e6c8ff35c7a28cb6baa02d85a9737a2ee4e9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -796,11 +813,11 @@
|
||||
"zenyd-mpv-scripts": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1706283438,
|
||||
"narHash": "sha256-hpLZDtt5q18aZ8d9LHfT852wtBosKUTJ7Bx+cbjBLcg=",
|
||||
"lastModified": 1707704915,
|
||||
"narHash": "sha256-9P/8q/OZXfaJMS08acQP4h3/zUA5mKRQee0JmkXcz1w=",
|
||||
"owner": "zenyd",
|
||||
"repo": "mpv-scripts",
|
||||
"rev": "7100d19d18d111ce77fc9e6e8947c0d542a86397",
|
||||
"rev": "9bdce0050144cb24f92475f7bdd77180e0e4c26b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
21
flake.nix
21
flake.nix
@ -60,6 +60,10 @@
|
||||
};
|
||||
|
||||
# Neovim plugins
|
||||
base16-nvim-src = {
|
||||
url = "github:RRethy/base16-nvim";
|
||||
flake = false;
|
||||
};
|
||||
nvim-lspconfig-src = {
|
||||
# https://github.com/neovim/nvim-lspconfig/tags
|
||||
url = "github:neovim/nvim-lspconfig/v0.1.7";
|
||||
@ -69,16 +73,12 @@
|
||||
url = "github:hrsh7th/cmp-nvim-lsp";
|
||||
flake = false;
|
||||
};
|
||||
null-ls-nvim-src = {
|
||||
url = "github:jose-elias-alvarez/null-ls.nvim";
|
||||
flake = false;
|
||||
};
|
||||
baleia-nvim-src = {
|
||||
# https://github.com/m00qek/baleia.nvim/tags
|
||||
url = "github:m00qek/baleia.nvim";
|
||||
flake = false;
|
||||
};
|
||||
Comment-nvim-src = {
|
||||
comment-nvim-src = {
|
||||
# https://github.com/numToStr/Comment.nvim/releases
|
||||
url = "github:numToStr/Comment.nvim/v0.8.0";
|
||||
flake = false;
|
||||
@ -124,6 +124,10 @@
|
||||
url = "github:mikesmithgh/kitty-scrollback.nvim";
|
||||
flake = false;
|
||||
};
|
||||
nvim-lint-src = {
|
||||
url = "github:mfussenegger/nvim-lint";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
# Tree-Sitter Grammars
|
||||
tree-sitter-bash = {
|
||||
@ -176,7 +180,7 @@
|
||||
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";
|
||||
"https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton8-32/GE-Proton8-32.tar.gz";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
@ -233,6 +237,7 @@
|
||||
hostnames = {
|
||||
git = "git.${baseName}";
|
||||
influxdb = "influxdb.${baseName}";
|
||||
irc = "irc.${baseName}";
|
||||
metrics = "metrics.${baseName}";
|
||||
prometheus = "prom.${baseName}";
|
||||
paperless = "paper.${baseName}";
|
||||
@ -375,6 +380,10 @@
|
||||
path = ./templates/haskell;
|
||||
description = "Haskell template";
|
||||
};
|
||||
rust = {
|
||||
path = ./templates/rust;
|
||||
description = "Rust template";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -59,6 +59,7 @@ inputs.nixpkgs.lib.nixosSystem {
|
||||
giteaRunner.enable = true;
|
||||
services.caddy.enable = true;
|
||||
services.grafana.enable = true;
|
||||
services.thelounge.enable = true;
|
||||
services.openssh.enable = true;
|
||||
services.victoriametrics.enable = true;
|
||||
services.influxdb2.enable = true;
|
||||
|
@ -56,8 +56,15 @@ inputs.nixpkgs.lib.nixosSystem {
|
||||
devices = (import ../../disks/root.nix { disk = "/dev/nvme0n1"; });
|
||||
};
|
||||
|
||||
# Automatically load the ZFS pool on boot
|
||||
boot.zfs.extraPools = [ "tank" ];
|
||||
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" ];
|
||||
# If password is requested and fails, continue to boot eventually
|
||||
passwordTimeout = 300;
|
||||
};
|
||||
|
||||
# Theming
|
||||
|
||||
|
@ -41,12 +41,10 @@
|
||||
okta-browser-plugin
|
||||
reddit-enhancement-suite
|
||||
return-youtube-dislikes
|
||||
snowflake
|
||||
sponsorblock
|
||||
ublock-origin
|
||||
ublacklist
|
||||
vimium
|
||||
wappalyzer
|
||||
];
|
||||
settings = {
|
||||
"app.update.auto" = false;
|
||||
@ -166,6 +164,11 @@
|
||||
|
||||
};
|
||||
|
||||
xdg.mimeApps = {
|
||||
associations.added = { "text.html" = [ "firefox.desktop" ]; };
|
||||
defaultApplications = { "text.html" = [ "firefox.desktop" ]; };
|
||||
};
|
||||
|
||||
xsession.windowManager.i3.config.keybindings =
|
||||
lib.mkIf pkgs.stdenv.isLinux {
|
||||
"${
|
||||
|
@ -57,7 +57,7 @@
|
||||
allow_remote_control = "socket-only";
|
||||
listen_on = "unix:/tmp/kitty";
|
||||
action_alias =
|
||||
"kitty_scrollback_nvim kitten ${pkgs.kitty-scrollback-nvim}/python/kitty_scrollback_nvim.py";
|
||||
"kitty_scrollback_nvim kitten ${pkgs.vimPlugins.kitty-scrollback-nvim}/python/kitty_scrollback_nvim.py";
|
||||
|
||||
# Colors (adapted from: https://github.com/kdrag0n/base16-kitty/blob/master/templates/default-256.mustache)
|
||||
background = config.theme.colors.base00;
|
||||
@ -103,8 +103,8 @@
|
||||
color21 = config.theme.colors.base06;
|
||||
|
||||
# Scrollback
|
||||
scrolling_lines = 10000;
|
||||
scrollback_pager_history_size = 10; # MB
|
||||
scrollback_lines = 10000;
|
||||
scrollback_pager_history_size = 300; # MB
|
||||
|
||||
# Window
|
||||
window_padding_width = 6;
|
||||
|
@ -107,44 +107,16 @@
|
||||
type = lib.types.str;
|
||||
description = "Hostname for download services.";
|
||||
};
|
||||
irc = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "Hostname for IRC services.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = let stateVersion = "23.05";
|
||||
in {
|
||||
|
||||
nix = {
|
||||
|
||||
# Enable features in Nix commands
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
warn-dirty = false
|
||||
'';
|
||||
|
||||
gc = {
|
||||
automatic = true;
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
|
||||
settings = {
|
||||
|
||||
# Add community Cachix to binary cache
|
||||
# Don't use with macOS because blocked by corporate firewall
|
||||
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;
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
# Basic common system packages for all devices
|
||||
environment.systemPackages = with pkgs; [ git vim wget curl ];
|
||||
|
||||
|
@ -9,8 +9,6 @@
|
||||
programs.himalaya = { enable = true; };
|
||||
accounts.email.accounts.home.himalaya = {
|
||||
enable = true;
|
||||
backend = "imap";
|
||||
sender = "smtp";
|
||||
settings = {
|
||||
downloads-dir = config.userDirs.download;
|
||||
smtp-insecure = true;
|
||||
|
@ -8,7 +8,7 @@
|
||||
};
|
||||
|
||||
config = {
|
||||
plugins = [ pkgs.vimPlugins.nvim-base16 ];
|
||||
plugins = [ pkgs.vimPlugins.base16-nvim ];
|
||||
setup.base16-colorscheme = config.colors;
|
||||
|
||||
# Telescope isn't working, shut off for now
|
||||
|
@ -6,105 +6,107 @@
|
||||
options.kubernetes =
|
||||
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
|
||||
];
|
||||
|
||||
let
|
||||
|
||||
terraformFormat = if config.terraform then ''
|
||||
require("null-ls").builtins.formatting.terraform_fmt.with({
|
||||
command = "${pkgs.terraform}/bin/terraform",
|
||||
extra_filetypes = { "hcl" },
|
||||
}),
|
||||
'' else
|
||||
"";
|
||||
|
||||
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"; }; };
|
||||
};
|
||||
};
|
||||
|
||||
vim.api.nvim_create_augroup = dsl.callWith [ "LspFormatting" { } ];
|
||||
|
||||
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,
|
||||
})
|
||||
'';
|
||||
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"; };
|
||||
files = { excludeDirs = [ ".direnv" ]; };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
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 = if config.terraform then [ "terraform_fmt" ] else [ ];
|
||||
};
|
||||
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}/bin/nixfmt";
|
||||
rustfmt = {
|
||||
command = "${pkgs.rustfmt}/bin/rustfmt";
|
||||
prepend_args = [ "--edition" "2021" ];
|
||||
};
|
||||
shfmt = {
|
||||
command = "${pkgs.shfmt}/bin/shfmt";
|
||||
prepend_args = [ "-i" "4" "-ci" ];
|
||||
};
|
||||
terraform_fmt.command =
|
||||
if config.terraform then "${pkgs.terraform}/bin/terraform" else "";
|
||||
};
|
||||
};
|
||||
|
||||
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")
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -8,7 +8,7 @@
|
||||
pkgs.vimPlugins.glow-nvim # Markdown preview popup
|
||||
pkgs.vimPlugins.nvim-colorizer-lua # Hex color previews
|
||||
pkgs.vimPlugins.which-key-nvim # Keybind helper
|
||||
pkgs.kitty-scrollback-nvim # Scrollback pager for kitty
|
||||
pkgs.vimPlugins.kitty-scrollback-nvim # Scrollback pager for kitty
|
||||
];
|
||||
|
||||
# Initialize some plugins
|
||||
|
@ -24,8 +24,8 @@
|
||||
pkgs.vimPlugins.playground # Tree-sitter experimenting
|
||||
pkgs.vimPlugins.nginx-vim
|
||||
pkgs.vimPlugins.vim-helm
|
||||
pkgs.baleia-nvim # Clean ANSI from kitty scrollback
|
||||
# pkgs.hmts-nvim # Tree-sitter injections for home-manager
|
||||
pkgs.vimPlugins.baleia-nvim # Clean ANSI from kitty scrollback
|
||||
# pkgs.vimPlugins.hmts-nvim # Tree-sitter injections for home-manager
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
pname = "nmasur";
|
||||
version = "0.1";
|
||||
|
@ -12,5 +12,6 @@
|
||||
./nixpkgs.nix
|
||||
./starship.nix
|
||||
./utilities.nix
|
||||
./work.nix
|
||||
];
|
||||
}
|
||||
|
@ -18,5 +18,5 @@ bind -M insert \cn 'commandline -r "nix shell nixpkgs#"'
|
||||
bind -M default \cn 'commandline -r "nix shell nixpkgs#"'
|
||||
bind -M insert \x11F nix-fzf
|
||||
bind -M default \x11F nix-fzf
|
||||
bind -M insert \ch _atuin_search --filter-mode global
|
||||
bind -M default \ch _atuin_search --filter-mode global
|
||||
bind -M insert \ch '_atuin_search --filter-mode global'
|
||||
bind -M default \ch '_atuin_search --filter-mode global'
|
||||
|
@ -28,11 +28,16 @@ in {
|
||||
userName = config.gitName;
|
||||
userEmail = config.gitEmail;
|
||||
extraConfig = {
|
||||
core.pager =
|
||||
"${pkgs.git}/share/git/contrib/diff-highlight/diff-highlight | less -F";
|
||||
interactive.difffilter =
|
||||
"${pkgs.git}/share/git/contrib/diff-highlight/diff-highlight";
|
||||
pager = { branch = "false"; };
|
||||
safe = { directory = config.dotfilesPath; };
|
||||
pull = { ff = "only"; };
|
||||
push = { autoSetupRemote = "true"; };
|
||||
init = { defaultBranch = "master"; };
|
||||
rebase = { autosquash = "true"; };
|
||||
};
|
||||
ignores = [ ".direnv/**" "result" ];
|
||||
includes = [{
|
||||
@ -45,7 +50,7 @@ in {
|
||||
# TODO: fix with variables
|
||||
xdg.configFile."git/personal".text = ''
|
||||
[user]
|
||||
name = "Noah Masur"
|
||||
name = "${config.fullName}"
|
||||
email = "7386960+nmasur@users.noreply.github.com"
|
||||
'';
|
||||
|
||||
|
@ -48,7 +48,7 @@
|
||||
esac
|
||||
|
||||
selected=$(gh repo list "$organization" \
|
||||
--limit 50 \
|
||||
--limit 100 \
|
||||
--no-archived \
|
||||
--json=name,description,isPrivate,updatedAt,primaryLanguage \
|
||||
| jq -r '.[] | .name + "," + if .description == "" then "-" else .description |= gsub(","; " ") | .description end + "," + .updatedAt + "," + .primaryLanguage.name' \
|
||||
|
@ -4,7 +4,6 @@
|
||||
|
||||
home-manager.users.${config.user}.programs.jujutsu = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
|
||||
# https://github.com/martinvonz/jj/blob/main/docs/config.md
|
||||
settings = {
|
||||
|
@ -72,6 +72,12 @@
|
||||
fi
|
||||
'');
|
||||
|
||||
# Set automatic generation cleanup for home-manager
|
||||
nix.gc = {
|
||||
automatic = config.nix.gc.automatic;
|
||||
options = config.nix.gc.options;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
nix = {
|
||||
@ -88,6 +94,34 @@
|
||||
# For security, only allow specific users
|
||||
settings.allowed-users = [ "@wheel" config.user ];
|
||||
|
||||
# Enable features in Nix commands
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
warn-dirty = false
|
||||
'';
|
||||
|
||||
gc = {
|
||||
automatic = true;
|
||||
options = "--delete-older-than 10d";
|
||||
};
|
||||
|
||||
settings = {
|
||||
|
||||
# Add community Cachix to binary cache
|
||||
# Don't use with macOS because blocked by corporate firewall
|
||||
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;
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -20,6 +20,8 @@ in {
|
||||
home.packages = with pkgs; [
|
||||
age # Encryption
|
||||
bc # Calculator
|
||||
delta # Fancy diffs
|
||||
difftastic # Other fancy diffs
|
||||
dig # DNS lookup
|
||||
fd # find
|
||||
htop # Show system processes
|
||||
|
42
modules/common/shell/work.nix
Normal file
42
modules/common/shell/work.nix
Normal file
@ -0,0 +1,42 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
|
||||
home-manager.users.${config.user} = lib.mkIf pkgs.stdenv.isDarwin {
|
||||
|
||||
home.packages = let
|
||||
ldap_scheme = "ldaps";
|
||||
magic_number = "2";
|
||||
magic_end_seq = "corp";
|
||||
magic_prefix = "take";
|
||||
ldap_host =
|
||||
"${magic_prefix}${magic_number}.t${magic_number}.${magic_end_seq}";
|
||||
ldap_port = 636;
|
||||
ldap_dc_1 = "${magic_prefix}${magic_number}";
|
||||
ldap_dc_2 = "t${magic_number}";
|
||||
ldap_dc_3 = magic_end_seq;
|
||||
ldap_script = pkgs.writeShellScriptBin "ldap" ''
|
||||
SEARCH_FILTER="$@"
|
||||
ldapsearch -LLL \
|
||||
-B -o ldif-wrap=no \
|
||||
-H "${ldap_scheme}://${ldap_host}:${builtins.toString ldap_port}" \
|
||||
-D "${pkgs.lib.toUpper magic_prefix}${magic_number}\\${
|
||||
pkgs.lib.toLower config.user
|
||||
}" \
|
||||
-w "$(${pkgs._1password}/bin/op item get T${magic_number} --fields label=password)" \
|
||||
-b "DC=${ldap_dc_1},DC=${ldap_dc_2},DC=${ldap_dc_3}" \
|
||||
-s "sub" -x "(cn=$SEARCH_FILTER)" \
|
||||
| jq --slurp \
|
||||
--raw-input 'split("\n\n")|map(split("\n")|map(select(.[0:1]!="#" and length>0)) |select(length > 0)|map(capture("^(?<key>[^:]*:?): *(?<value>.*)") |if .key[-1:.key|length] == ":" then .key=.key[0:-1]|.value=(.value|@base64d) else . end)| group_by(.key) | map({key:.[0].key,value:(if .|length > 1 then [.[].value] else .[].value end)}) | from_entries)' | jq -r 'del(.[].thumbnailPhoto)'
|
||||
'';
|
||||
ldapm_script = pkgs.writeShellScriptBin "ldapm" ''
|
||||
${ldap_script}/bin/ldap "$@" | jq '[ .[].memberOf] | add'
|
||||
'';
|
||||
ldapg_script = pkgs.writeShellScriptBin "ldapg" ''
|
||||
${ldap_script}/bin/ldap "$@" | jq '[ .[].member] | add'
|
||||
'';
|
||||
in [ ldap_script ldapm_script ldapg_script ];
|
||||
|
||||
};
|
||||
|
||||
}
|
@ -16,6 +16,7 @@
|
||||
firefox = "${pkgs.firefox-bin}/Applications/Firefox.app";
|
||||
discord = "${pkgs.discord}/Applications/Discord.app";
|
||||
kitty = "${pkgs.kitty}/Applications/kitty.app";
|
||||
obsidian = "${pkgs.obsidian}/Applications/Obsidian.app";
|
||||
slack = "${pkgs.slack}/Applications/Slack.app";
|
||||
};
|
||||
xdg.configFile."hammerspoon/Spoons/MoveWindow.spoon".source =
|
||||
|
@ -8,10 +8,10 @@ obj.name = "Launcher"
|
||||
obj.version = "0.1"
|
||||
obj.license = "MIT - https://opensource.org/licenses/MIT"
|
||||
|
||||
local width = hs.screen.mainScreen():fullFrame().w
|
||||
local screen = hs.screen.primaryScreen()
|
||||
local switcherWidth = 500
|
||||
obj.canvas = hs.canvas.new({
|
||||
x = width / 2 - switcherWidth / 2,
|
||||
x = (screen:fullFrame().x + screen:fullFrame().w) / 2 - switcherWidth / 2,
|
||||
y = 1,
|
||||
h = 3,
|
||||
w = switcherWidth,
|
||||
@ -80,7 +80,7 @@ function obj:init()
|
||||
self:switch("Messages.app")
|
||||
end)
|
||||
self.launcher:bind("", "O", function()
|
||||
self:switch("Obsidian.app")
|
||||
self:switch("@obsidian@")
|
||||
end)
|
||||
self.launcher:bind("", "P", function()
|
||||
self:switch("System Preferences.app")
|
||||
|
@ -56,7 +56,7 @@ function obj:init()
|
||||
local frame = win:frame()
|
||||
-- maximize if possible
|
||||
local max = win:screen():fullFrame()
|
||||
frame.x = max.w / 2
|
||||
frame.x = (max.x * 2 + max.w) / 2
|
||||
frame.y = max.y
|
||||
frame.w = max.w / 2
|
||||
frame.h = max.h
|
||||
|
@ -51,6 +51,7 @@ local function worklayout()
|
||||
local laptop = {
|
||||
{ "Firefox", nil, LAPTOP_MONITOR, u(0, 0, 1, 1), nil, nil, visible = true },
|
||||
{ "Obsidian", nil, LAPTOP_MONITOR, u(0, 0, 1, 1), nil, nil, visible = true },
|
||||
{ "Calendar", nil, LAPTOP_MONITOR, u(0, 0, 1, 1), nil, nil, visible = true },
|
||||
}
|
||||
local layout = concat(left, right, laptop)
|
||||
hs.layout.apply(layout)
|
||||
|
@ -3,7 +3,6 @@
|
||||
# MacOS-specific settings for Kitty
|
||||
home-manager.users.${config.user} = lib.mkIf pkgs.stdenv.isDarwin {
|
||||
programs.kitty = {
|
||||
darwinLaunchOptions = [ "--start-as=fullscreen" ];
|
||||
font.size = lib.mkForce 20;
|
||||
settings = {
|
||||
shell = "/run/current-system/sw/bin/fish";
|
||||
|
@ -201,6 +201,10 @@
|
||||
|
||||
echo "Choose and order dock icons"
|
||||
defaults write com.apple.dock persistent-apps -array ${persistentApps}
|
||||
|
||||
echo "Reduce Menu Bar padding"
|
||||
defaults write -globalDomain NSStatusItemSelectionPadding -int 6
|
||||
defaults write -globalDomain NSStatusItemSpacing -int 6
|
||||
'';
|
||||
|
||||
};
|
||||
|
@ -7,7 +7,7 @@
|
||||
home-manager.users.${config.user} = lib.mkIf pkgs.stdenv.isDarwin {
|
||||
|
||||
home.packages = with pkgs; [
|
||||
# visidata # CSV inspector
|
||||
visidata # CSV inspector
|
||||
dos2unix # Convert Windows text files
|
||||
inetutils # Includes telnet
|
||||
youtube-dl # Convert web videos
|
||||
|
@ -36,23 +36,12 @@
|
||||
# Set Nautilus as default for opening directories
|
||||
xdg.mimeApps = {
|
||||
associations.added."inode/directory" = [ "org.gnome.Nautilus.desktop" ];
|
||||
# associations.removed = {
|
||||
# "inode/directory" = [ "kitty-open.desktop" ];
|
||||
# };
|
||||
defaultApplications."inode/directory" =
|
||||
lib.mkBefore [ "org.gnome.Nautilus.desktop" ];
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
# # Set default for opening directories
|
||||
# xdg.mime = {
|
||||
# addedAssociations."inode/directory" = [ "org.gnome.Nautilus.desktop" ];
|
||||
# removedAssociations = { "inode/directory" = [ "kitty-open.desktop" ]; };
|
||||
# defaultApplications."inode/directory" =
|
||||
# lib.mkForce [ "org.gnome.Nautilus.desktop" ];
|
||||
# };
|
||||
|
||||
# Delete Trash files older than 1 week
|
||||
systemd.user.services.empty-trash = {
|
||||
description = "Empty Trash on a regular basis";
|
||||
|
@ -9,6 +9,14 @@
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
package = pkgs.steam.override {
|
||||
# Adapted in part from: https://github.com/Shawn8901/nix-configuration/blob/1c48be94238a9f463cf0bbd1e1842a4454286514/modules/nixos/steam-compat-tools/default.nix
|
||||
# Based on: https://github.com/NixOS/nixpkgs/issues/73323
|
||||
extraEnv = {
|
||||
STEAM_EXTRA_COMPAT_TOOLS_PATHS =
|
||||
lib.makeBinPath [ pkgs.proton-ge-custom ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
@ -22,11 +30,6 @@
|
||||
|
||||
];
|
||||
|
||||
# Adapted in part from: https://github.com/Shawn8901/nix-configuration/blob/1c48be94238a9f463cf0bbd1e1842a4454286514/modules/nixos/steam-compat-tools/default.nix
|
||||
# Based on: https://github.com/NixOS/nixpkgs/issues/73323
|
||||
environment.sessionVariables.STEAM_EXTRA_COMPAT_TOOLS_PATHS =
|
||||
lib.makeBinPath [ pkgs.proton-ge-custom ];
|
||||
|
||||
# Seems like NetworkManager can help speed up Steam launch
|
||||
# https://www.reddit.com/r/archlinux/comments/qguhco/steam_startup_time_arch_1451_seconds_fedora_34/hi8opet/
|
||||
networking.networkmanager.enable = true;
|
||||
|
@ -141,7 +141,7 @@
|
||||
format-volume = "<ramp-volume> <label-volume>";
|
||||
# format-volume-background = colors.background;
|
||||
# label-volume-background = colors.background;
|
||||
format-volume-foreground = config.theme.colors.base0B;
|
||||
format-volume-foreground = config.theme.colors.base04;
|
||||
label-volume = "%percentage%%";
|
||||
label-muted = " ---";
|
||||
label-muted-foreground = config.theme.colors.base03;
|
||||
@ -197,7 +197,7 @@
|
||||
date = "%d %b %l:%M %p";
|
||||
date-alt = "%Y-%m-%d %H:%M:%S";
|
||||
label = "%date%";
|
||||
label-foreground = config.theme.colors.base0A;
|
||||
label-foreground = config.theme.colors.base06;
|
||||
# format-background = colors.background;
|
||||
};
|
||||
"module/keyboard" = {
|
||||
|
@ -80,7 +80,7 @@ in {
|
||||
};
|
||||
|
||||
# Allows Nextcloud to trust Cloudflare IPs
|
||||
services.nextcloud.extraOptions.trusted_proxies = cloudflareIpRanges;
|
||||
services.nextcloud.settings.trusted_proxies = cloudflareIpRanges;
|
||||
|
||||
};
|
||||
}
|
||||
|
@ -11,6 +11,7 @@
|
||||
./calibre.nix
|
||||
./cloudflare-tunnel.nix
|
||||
./cloudflare.nix
|
||||
./irc.nix
|
||||
./gitea-runner.nix
|
||||
./gitea.nix
|
||||
./gnupg.nix
|
||||
|
@ -50,6 +50,7 @@ in {
|
||||
dashboards.settings.providers = [{
|
||||
name = "test";
|
||||
type = "file";
|
||||
allowUiUpdates = true;
|
||||
options.path = "${
|
||||
(pkgs.writeTextDir "dashboards/dashboard.json" (builtins.toJSON {
|
||||
annotations = {
|
||||
|
32
modules/nixos/services/irc.nix
Normal file
32
modules/nixos/services/irc.nix
Normal file
@ -0,0 +1,32 @@
|
||||
{ config, ... }: {
|
||||
|
||||
config = {
|
||||
|
||||
services.thelounge = {
|
||||
public = false;
|
||||
port = 9000;
|
||||
extraConfig = {
|
||||
reverseProxy = true;
|
||||
maxHistory = 10000;
|
||||
};
|
||||
};
|
||||
|
||||
# Adding new users:
|
||||
# nix shell nixpkgs#thelounge
|
||||
# sudo su - thelounge -s /bin/sh -c "thelounge add myuser"
|
||||
|
||||
# Allow web traffic to Caddy
|
||||
caddy.routes = [{
|
||||
match = [{ host = [ config.hostnames.irc ]; }];
|
||||
handle = [{
|
||||
handler = "reverse_proxy";
|
||||
upstreams = [{
|
||||
dial =
|
||||
"localhost:${builtins.toString config.services.thelounge.port}";
|
||||
}];
|
||||
}];
|
||||
}];
|
||||
|
||||
};
|
||||
|
||||
}
|
@ -12,13 +12,14 @@
|
||||
maxUploadSize = "50G";
|
||||
config = {
|
||||
adminpassFile = config.secrets.nextcloud.dest;
|
||||
dbtype = "mysql";
|
||||
dbtype = "pgsql";
|
||||
};
|
||||
extraOptions = {
|
||||
settings = {
|
||||
default_phone_region = "US";
|
||||
# Allow access when hitting either of these hosts or IPs
|
||||
trusted_domains = [ config.hostnames.content ];
|
||||
trusted_proxies = [ "127.0.0.1" ];
|
||||
maintenance_window_start = 4; # Run jobs at 4am UTC
|
||||
};
|
||||
extraAppsEnable = true;
|
||||
extraApps = with config.services.nextcloud.package.packages.apps; {
|
||||
|
@ -48,23 +48,12 @@
|
||||
before = [ "paperless.service" ];
|
||||
};
|
||||
|
||||
# Fix permissions on a regular schedule
|
||||
systemd.timers.paperless-permissions = {
|
||||
timerConfig = {
|
||||
OnCalendar = "*-*-* *:0/5"; # Every 5 minutes
|
||||
Unit = "paperless-permissions.service";
|
||||
};
|
||||
wantedBy = [ "timers.target" ];
|
||||
};
|
||||
|
||||
# Fix paperless shared permissions
|
||||
systemd.services.paperless-permissions = {
|
||||
description = "Allow group access to paperless files";
|
||||
serviceConfig = { Type = "oneshot"; };
|
||||
script = ''
|
||||
find ${config.services.paperless.mediaDir} -type f -exec chmod 640 -- {} +
|
||||
'';
|
||||
};
|
||||
systemd.services.paperless-web.serviceConfig.UMask = lib.mkForce "0026";
|
||||
systemd.services.paperless-scheduler.serviceConfig.UMask =
|
||||
lib.mkForce "0026";
|
||||
systemd.services.paperless-task-queue.serviceConfig.UMask =
|
||||
lib.mkForce "0026";
|
||||
|
||||
};
|
||||
|
||||
|
@ -3,9 +3,17 @@
|
||||
services.postgresql = {
|
||||
package = pkgs.postgresql_15;
|
||||
settings = { };
|
||||
identMap = "";
|
||||
authentication = ''
|
||||
local all postgres peer map=root
|
||||
local all admin peer map=admin
|
||||
'';
|
||||
identMap = ''
|
||||
root postgres postgres
|
||||
root root postgres
|
||||
admin ${config.user} admin
|
||||
'';
|
||||
ensureUsers = [{
|
||||
name = config.user;
|
||||
name = "admin";
|
||||
ensureClauses = {
|
||||
createdb = true;
|
||||
createrole = true;
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ config, lib, ... }: {
|
||||
{ config, pkgs, lib, ... }: {
|
||||
|
||||
options = {
|
||||
|
||||
@ -31,11 +31,22 @@
|
||||
|
||||
};
|
||||
|
||||
# Allow writing custom scripts outside of Nix
|
||||
# Probably shouldn't make this a habit
|
||||
environment.localBinInPath = true;
|
||||
|
||||
home-manager.users.${config.user}.xdg = {
|
||||
|
||||
# Allow Nix to manage the default applications list
|
||||
mimeApps.enable = true;
|
||||
|
||||
# Create a desktop option for Burp
|
||||
desktopEntries.burp = lib.mkIf pkgs.stdenv.isLinux {
|
||||
name = "Burp";
|
||||
exec = "${config.homePath}/.local/bin/burp.sh";
|
||||
categories = [ "Application" ];
|
||||
};
|
||||
|
||||
# Set directories for application defaults
|
||||
userDirs = {
|
||||
enable = true;
|
||||
|
13
overlays/kitty-scrollback-nvim.patch
Normal file
13
overlays/kitty-scrollback-nvim.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/lua/kitty-scrollback/health.lua b/lua/kitty-scrollback/health.lua
|
||||
index 9d87dfa..a231b8d 100644
|
||||
--- a/lua/kitty-scrollback/health.lua
|
||||
+++ b/lua/kitty-scrollback/health.lua
|
||||
@@ -234,7 +234,7 @@ local function check_kitty_debug_config()
|
||||
end
|
||||
|
||||
local function check_kitty_scrollback_nvim_version()
|
||||
- local current_version = nil
|
||||
+ local current_version = 'master'
|
||||
local tag_cmd = { 'git', 'describe', '--exact-match', '--tags' }
|
||||
local ksb_dir =
|
||||
vim.fn.fnamemodify(vim.api.nvim_get_runtime_file('lua/kitty-scrollback', false)[1], ':h:h')
|
@ -16,26 +16,38 @@ let
|
||||
|
||||
in {
|
||||
|
||||
nvim-lspconfig = withSrc prev.vimPlugins.nvim-lspconfig inputs.nvim-lspconfig;
|
||||
cmp-nvim-lsp = withSrc prev.vimPlugins.cmp-nvim-lsp inputs.cmp-nvim-lsp;
|
||||
null-ls-nvim = withSrc prev.vimPlugins.null-ls-nvim inputs.null-ls-nvim;
|
||||
comment-nvim = withSrc prev.vimPlugins.comment-nvim inputs.comment-nvim;
|
||||
nvim-treesitter =
|
||||
withSrc prev.vimPlugins.nvim-treesitter inputs.nvim-treesitter;
|
||||
telescope-nvim = withSrc prev.vimPlugins.telescope-nvim inputs.telescope-nvim;
|
||||
telescope-project-nvim = withSrc prev.vimPlugins.telescope-project-nvim
|
||||
inputs.telescope-project-nvim;
|
||||
toggleterm-nvim =
|
||||
withSrc prev.vimPlugins.toggleterm-nvim inputs.toggleterm-nvim;
|
||||
bufferline-nvim =
|
||||
withSrc prev.vimPlugins.bufferline-nvim inputs.bufferline-nvim;
|
||||
nvim-tree-lua = withSrc prev.vimPlugins.nvim-tree-lua inputs.nvim-tree-lua;
|
||||
fidget-nvim = withSrc prev.vimPlugins.fidget-nvim inputs.fidget-nvim;
|
||||
vimPlugins = prev.vimPlugins // {
|
||||
|
||||
# Packaging plugins entirely with Nix
|
||||
baleia-nvim = plugin "baleia-nvim" inputs.baleia-nvim-src;
|
||||
hmts-nvim = plugin "hmts-nvim" inputs.hmts-nvim-src;
|
||||
kitty-scrollback-nvim =
|
||||
plugin "kitty-scrollback-nvim" inputs.kitty-scrollback-nvim-src;
|
||||
nvim-lspconfig =
|
||||
withSrc prev.vimPlugins.nvim-lspconfig inputs.nvim-lspconfig-src;
|
||||
cmp-nvim-lsp = withSrc prev.vimPlugins.cmp-nvim-lsp inputs.cmp-nvim-lsp-src;
|
||||
comment-nvim = withSrc prev.vimPlugins.comment-nvim inputs.comment-nvim-src;
|
||||
nvim-treesitter =
|
||||
withSrc prev.vimPlugins.nvim-treesitter inputs.nvim-treesitter-src;
|
||||
telescope-nvim =
|
||||
withSrc prev.vimPlugins.telescope-nvim inputs.telescope-nvim-src;
|
||||
telescope-project-nvim = withSrc prev.vimPlugins.telescope-project-nvim
|
||||
inputs.telescope-project-nvim-src;
|
||||
toggleterm-nvim =
|
||||
withSrc prev.vimPlugins.toggleterm-nvim inputs.toggleterm-nvim-src;
|
||||
bufferline-nvim =
|
||||
withSrc prev.vimPlugins.bufferline-nvim inputs.bufferline-nvim-src;
|
||||
nvim-tree-lua =
|
||||
withSrc prev.vimPlugins.nvim-tree-lua inputs.nvim-tree-lua-src;
|
||||
fidget-nvim = withSrc prev.vimPlugins.fidget-nvim inputs.fidget-nvim-src;
|
||||
nvim-lint = withSrc prev.vimPlugins.nvim-lint inputs.nvim-lint-src;
|
||||
|
||||
# Packaging plugins entirely with Nix
|
||||
base16-nvim = plugin "base16-nvim" inputs.base16-nvim-src;
|
||||
baleia-nvim = plugin "baleia-nvim" inputs.baleia-nvim-src;
|
||||
hmts-nvim = plugin "hmts-nvim" inputs.hmts-nvim-src;
|
||||
kitty-scrollback-nvim = prev.vimUtils.buildVimPlugin {
|
||||
pname = "kitty-scrollback-nvim";
|
||||
src = inputs.kitty-scrollback-nvim-src;
|
||||
version = "master";
|
||||
patches = [ ./kitty-scrollback-nvim.patch ];
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -5,11 +5,16 @@
|
||||
inputs: _final: prev: {
|
||||
proton-ge-custom = prev.stdenv.mkDerivation (finalAttrs: rec {
|
||||
name = "proton-ge-custom";
|
||||
version = "0.1"; # Made up
|
||||
version = prev.lib.removeSuffix "\n" (builtins.head
|
||||
(builtins.match ".*GE-Proton(.*)"
|
||||
(builtins.readFile "${inputs.proton-ge}/version")));
|
||||
src = inputs.proton-ge;
|
||||
# Took from https://github.com/AtaraxiaSjel/nur/blob/cf83b14b102985a587a498ba2c56f9f2bd9b9eb6/pkgs/proton-ge/default.nix
|
||||
installPhase = ''
|
||||
runHook preBuild
|
||||
mkdir -p $out/bin
|
||||
cp -r ${src}/* -t $out/bin/
|
||||
runHook postBuild
|
||||
'';
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user