mirror of
https://github.com/nmasur/dotfiles
synced 2025-07-07 16:00:14 +00:00
Compare commits
27 Commits
language-c
...
3a4568bc69
Author | SHA1 | Date | |
---|---|---|---|
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) |
|
| 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) |
|
||||||
|
@ -4,38 +4,34 @@
|
|||||||
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}" ];
|
||||||
};
|
};
|
||||||
}
|
};
|
||||||
];
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
201
flake.lock
generated
201
flake.lock
generated
@ -1,22 +1,5 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"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": {
|
"baleia-nvim-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -33,6 +16,22 @@
|
|||||||
"type": "github"
|
"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": {
|
"bufferline-nvim-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -53,11 +52,11 @@
|
|||||||
"bypass-paywalls-clean": {
|
"bypass-paywalls-clean": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1706880406,
|
"lastModified": 1707730831,
|
||||||
"narHash": "sha256-8z2Gc3ITluXXbDij4Ltahpkxs7zdnMITvIAjotab/QU=",
|
"narHash": "sha256-Ina+gCIHTtLLvGem88ec8rBaRwO1M+mDVSgjk/MM5wM=",
|
||||||
"owner": "magnolia1234",
|
"owner": "magnolia1234",
|
||||||
"repo": "bpc-uploads",
|
"repo": "bpc-uploads",
|
||||||
"rev": "c91cfd510390ab5a138f412ad2890b2cb2a2eafd",
|
"rev": "47c602fb1253ff05b3654da4a6d375978f6a43fd",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -82,6 +81,23 @@
|
|||||||
"type": "github"
|
"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": {
|
"darwin": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@ -89,11 +105,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1706833576,
|
"lastModified": 1708231718,
|
||||||
"narHash": "sha256-w7BL0EWRts+nD1lbLECIuz6fRzmmV+z8oWwoY7womR0=",
|
"narHash": "sha256-IZdieFWvhBkxoOFMDejqLUYqD94WN6k0YSpw0DFy+4g=",
|
||||||
"owner": "lnl7",
|
"owner": "lnl7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "bdbae6ecff8fcc322bf6b9053c0b984912378af7",
|
"rev": "0e6857fa1d632637488666c08e7b02c08e3178f8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -110,11 +126,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1706491084,
|
"lastModified": 1708221730,
|
||||||
"narHash": "sha256-eaEv+orTmr2arXpoE4aFZQMVPOYXCBEbLgK22kOtkhs=",
|
"narHash": "sha256-vyx6tsnDGX4bNegiF1kREHMRDH7hy+q1m56V8JYHWLI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "f67ba6552845ea5d7f596a24d57c33a8a9dc8de9",
|
"rev": "d8a4377cd8eec23668ea3fae07efee9d5782cb91",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -147,11 +163,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1707007453,
|
"lastModified": 1708217014,
|
||||||
"narHash": "sha256-vs7uACn2/8GOApZJv52gAVsLfpjQWFgkHN2QJ7aVkl8=",
|
"narHash": "sha256-ujI9daLmnmigZtdMsVeqVouAYFoYWKrrZ7FvGMzdVzs=",
|
||||||
"owner": "bandithedoge",
|
"owner": "bandithedoge",
|
||||||
"repo": "nixpkgs-firefox-darwin",
|
"repo": "nixpkgs-firefox-darwin",
|
||||||
"rev": "d839feb516758ad28bc1cef43008d55e749c1d6a",
|
"rev": "2ab9b39e98497584ba952cacb8dfadf8492fd28d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -235,11 +251,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1706985585,
|
"lastModified": 1708031129,
|
||||||
"narHash": "sha256-ptshv4qXiC6V0GCfpABz88UGGPNwqs5tAxaRUKbk1Qo=",
|
"narHash": "sha256-EH20hJfNnc1/ODdDVat9B7aKm0B95L3YtkIRwKLvQG8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "1ca210648a6ca9b957efde5da957f3de6b1f0c45",
|
"rev": "3d6791b3897b526c82920a2ab5f61d71985b3cf8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -252,11 +268,11 @@
|
|||||||
"kitty-scrollback-nvim-src": {
|
"kitty-scrollback-nvim-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1706891759,
|
"lastModified": 1707831543,
|
||||||
"narHash": "sha256-p7RPqLHO6D5CCTDQzUrEqTu9+jg+V7wtYfGbY4qjE9A=",
|
"narHash": "sha256-RAqRIrKKaRoBVLTlI18hCHvGwUb/YVfIb3soNmyO24w=",
|
||||||
"owner": "mikesmithgh",
|
"owner": "mikesmithgh",
|
||||||
"repo": "kitty-scrollback.nvim",
|
"repo": "kitty-scrollback.nvim",
|
||||||
"rev": "12f7687ac049d46a987c39b2b4f657fdf540fa4e",
|
"rev": "78dd609368aa20bd6fbd801cce73ea30787ebe21",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -307,7 +323,7 @@
|
|||||||
"nextcloud-snappymail": {
|
"nextcloud-snappymail": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1707018069,
|
"lastModified": 1705809286,
|
||||||
"narHash": "sha256-UeZXoZFEPJj7zEVNTXJ3IYNt/wI7VFq3Pjh1ubMHCBo=",
|
"narHash": "sha256-UeZXoZFEPJj7zEVNTXJ3IYNt/wI7VFq3Pjh1ubMHCBo=",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://snappymail.eu/repository/nextcloud/snappymail-2.32.0-nextcloud.tar.gz"
|
"url": "https://snappymail.eu/repository/nextcloud/snappymail-2.32.0-nextcloud.tar.gz"
|
||||||
@ -325,11 +341,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1706886721,
|
"lastModified": 1707832982,
|
||||||
"narHash": "sha256-iDYxsE5xYoK8Ww2TYZDmgRQNIZl+QHJfChOxWh45g0k=",
|
"narHash": "sha256-Jsrj8HJyo+PmjrHIDhq4gjZCE0eYCVmmTrx24cG8eOQ=",
|
||||||
"owner": "gytis-ivaskevicius",
|
"owner": "gytis-ivaskevicius",
|
||||||
"repo": "nix2vim",
|
"repo": "nix2vim",
|
||||||
"rev": "29253dcf0f645a44847006d436b096369ef42fd8",
|
"rev": "2fb1328cf058fc967b02f9a5330a99253b4c247e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -361,11 +377,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1706085261,
|
"lastModified": 1707873059,
|
||||||
"narHash": "sha256-7PgpHRHyShINcqgevPP1fJ6N8kM5ZSOJnk3QZBrOCQ0=",
|
"narHash": "sha256-simzllUEmzVqmQogcGCorfIbJpodAhgGSr6vuFtd4XQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixos-generators",
|
"repo": "nixos-generators",
|
||||||
"rev": "896f6589db5b25023b812bbb6c1f5d3a499b1132",
|
"rev": "0aa24e93f75370454f0e03747b6836ac2a2c9fca",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -376,11 +392,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1706732774,
|
"lastModified": 1708118438,
|
||||||
"narHash": "sha256-hqJlyJk4MRpcItGYMF+3uHe8HvxNETWvlGtLuVpqLU0=",
|
"narHash": "sha256-kk9/0nuVgA220FcqH/D2xaN6uGyHp/zoxPNUmPCMmEE=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b8b232ae7b8b144397fdb12d20f592e5e7c1a64d",
|
"rev": "5863c27340ba4de8f83e7e3c023b9599c3cb3c80",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -390,34 +406,34 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"null-ls-nvim-src": {
|
"nur": {
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1691810493,
|
"lastModified": 1708261229,
|
||||||
"narHash": "sha256-cWA0rzkOp/ekVKaFee7iea1lhnqKtWUIU+fW5M950wI=",
|
"narHash": "sha256-mC9gMz4E7Dm9nvCE6oqNMmZLMdoJ3Pjik2oqEZDVrgU=",
|
||||||
"owner": "jose-elias-alvarez",
|
"owner": "nix-community",
|
||||||
"repo": "null-ls.nvim",
|
"repo": "nur",
|
||||||
"rev": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7",
|
"rev": "c4296c55625e5394c142d5c07c00cddb76d5241b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "jose-elias-alvarez",
|
"owner": "nix-community",
|
||||||
"repo": "null-ls.nvim",
|
"repo": "nur",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nur": {
|
"nvim-lint-src": {
|
||||||
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1707013032,
|
"lastModified": 1708102077,
|
||||||
"narHash": "sha256-9kEY/D0Q6sF+p6vJRefVXDK4QQdwK4Q0lSQdsYICad0=",
|
"narHash": "sha256-dWjST8OnPZbDG3Ih3VA53vq4QX6RJeJ0PJj82lqfOVg=",
|
||||||
"owner": "nix-community",
|
"owner": "mfussenegger",
|
||||||
"repo": "nur",
|
"repo": "nvim-lint",
|
||||||
"rev": "ab432acea15134873882610c0e936a882319bc8a",
|
"rev": "31be66c27214174a28fc092ffcf4bb3e8f6cfd43",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "mfussenegger",
|
||||||
"repo": "nur",
|
"repo": "nvim-lint",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -441,11 +457,11 @@
|
|||||||
"nvim-tree-lua-src": {
|
"nvim-tree-lua-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1706571452,
|
"lastModified": 1708237704,
|
||||||
"narHash": "sha256-b0LIqLC8cCRX1NyJx4eH5c4v5Fqqw5mMleAnQ2VRctM=",
|
"narHash": "sha256-Yi1bf24CcKNllJ6lm/BERJEkoFYDUDQGGjHlEDgaOiU=",
|
||||||
"owner": "kyazdani42",
|
"owner": "kyazdani42",
|
||||||
"repo": "nvim-tree.lua",
|
"repo": "nvim-tree.lua",
|
||||||
"rev": "f39f7b6fcd3865ac2146de4cb4045286308f2935",
|
"rev": "d35a8d5ec6358ada4b058431b367b32360737466",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -457,11 +473,11 @@
|
|||||||
"nvim-treesitter-src": {
|
"nvim-treesitter-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1706952848,
|
"lastModified": 1708261405,
|
||||||
"narHash": "sha256-pNjEODR+QJPDL58O4NM7SjzZEN8D3bXDHbKLNOS3fL8=",
|
"narHash": "sha256-jOlJA/ZJgPj3Yg62ryKUbseGQ0CPGJDdyoDyO34fXhg=",
|
||||||
"owner": "nvim-treesitter",
|
"owner": "nvim-treesitter",
|
||||||
"repo": "nvim-treesitter",
|
"repo": "nvim-treesitter",
|
||||||
"rev": "4fbf150a1621d52f17b099506e1a32f107079210",
|
"rev": "5e4b657181516e4aaf03ccbb4b21eca3b62b07dc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -474,14 +490,14 @@
|
|||||||
"proton-ge": {
|
"proton-ge": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1700610476,
|
"lastModified": 1707701731,
|
||||||
"narHash": "sha256-IoClZ6hl2lsz9OGfFgnz7vEAGlSY2+1K2lDEEsJQOfU=",
|
"narHash": "sha256-ZBOF1N434pBQ+dJmzfJO9RdxRndxorxbJBZEIifp0w4=",
|
||||||
"type": "tarball",
|
"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": {
|
"original": {
|
||||||
"type": "tarball",
|
"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": {
|
"ren": {
|
||||||
@ -503,11 +519,11 @@
|
|||||||
"rep": {
|
"rep": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1705833236,
|
"lastModified": 1707216692,
|
||||||
"narHash": "sha256-hm+v+b97z1HnY/7QHZxc0GygCq9W0mJauyjnz48ddaM=",
|
"narHash": "sha256-/dH+mNtNHaYFndVhoqmz4Sc3HeemoQt1HGD98mb9Qhw=",
|
||||||
"owner": "robenkleene",
|
"owner": "robenkleene",
|
||||||
"repo": "rep-grep",
|
"repo": "rep-grep",
|
||||||
"rev": "365acc5d599934e94dc066eb85b7ddd684ba508b",
|
"rev": "10510d47e392cb9d30a861c69f702fd194b3fa88",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -518,11 +534,12 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"Comment-nvim-src": "Comment-nvim-src",
|
|
||||||
"baleia-nvim-src": "baleia-nvim-src",
|
"baleia-nvim-src": "baleia-nvim-src",
|
||||||
|
"base16-nvim-src": "base16-nvim-src",
|
||||||
"bufferline-nvim-src": "bufferline-nvim-src",
|
"bufferline-nvim-src": "bufferline-nvim-src",
|
||||||
"bypass-paywalls-clean": "bypass-paywalls-clean",
|
"bypass-paywalls-clean": "bypass-paywalls-clean",
|
||||||
"cmp-nvim-lsp-src": "cmp-nvim-lsp-src",
|
"cmp-nvim-lsp-src": "cmp-nvim-lsp-src",
|
||||||
|
"comment-nvim-src": "comment-nvim-src",
|
||||||
"darwin": "darwin",
|
"darwin": "darwin",
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"fidget-nvim-src": "fidget-nvim-src",
|
"fidget-nvim-src": "fidget-nvim-src",
|
||||||
@ -537,8 +554,8 @@
|
|||||||
"nix2vim": "nix2vim",
|
"nix2vim": "nix2vim",
|
||||||
"nixos-generators": "nixos-generators",
|
"nixos-generators": "nixos-generators",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"null-ls-nvim-src": "null-ls-nvim-src",
|
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
|
"nvim-lint-src": "nvim-lint-src",
|
||||||
"nvim-lspconfig-src": "nvim-lspconfig-src",
|
"nvim-lspconfig-src": "nvim-lspconfig-src",
|
||||||
"nvim-tree-lua-src": "nvim-tree-lua-src",
|
"nvim-tree-lua-src": "nvim-tree-lua-src",
|
||||||
"nvim-treesitter-src": "nvim-treesitter-src",
|
"nvim-treesitter-src": "nvim-treesitter-src",
|
||||||
@ -643,11 +660,11 @@
|
|||||||
"tree-sitter-bash": {
|
"tree-sitter-bash": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1705686017,
|
"lastModified": 1707951703,
|
||||||
"narHash": "sha256-+Mpks0FyQLl26TX63J6WhaAl/QDUR1k9wSUY5SFwL+w=",
|
"narHash": "sha256-SU5wBy81aANd7oUZvYR14Vd53Ml/cBSwDtO6uG34CaE=",
|
||||||
"owner": "tree-sitter",
|
"owner": "tree-sitter",
|
||||||
"repo": "tree-sitter-bash",
|
"repo": "tree-sitter-bash",
|
||||||
"rev": "f7239f638d3dc16762563a9027faeee518ce1bd9",
|
"rev": "975bc70ad95dbbf2733872bc2e0a059c055db983",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -709,11 +726,11 @@
|
|||||||
"tree-sitter-python": {
|
"tree-sitter-python": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1700218345,
|
"lastModified": 1707954801,
|
||||||
"narHash": "sha256-hXNxa895SyNOG7PH2vAIkWbcMjZDjWYDsCafBZuvnT0=",
|
"narHash": "sha256-K3zamqQPM1UHk375TrMvT9mXw8f7tUse5bFctI+V1EA=",
|
||||||
"owner": "tree-sitter",
|
"owner": "tree-sitter",
|
||||||
"repo": "tree-sitter-python",
|
"repo": "tree-sitter-python",
|
||||||
"rev": "4bfdd9033a2225cc95032ce77066b7aeca9e2efc",
|
"rev": "deba2badc88afd18e6cbd4341ee3c18c3a9bb4ed",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -726,11 +743,11 @@
|
|||||||
"tree-sitter-rasi": {
|
"tree-sitter-rasi": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1678701563,
|
"lastModified": 1707776004,
|
||||||
"narHash": "sha256-2nYZoLcrxxxiOJEySwHUm93lzMg8mU+V7LIP63ntFdA=",
|
"narHash": "sha256-7zhQ5wGm0FFyuTiBVN2KgvUTw8G6fwUGR8HKJ69kR+c=",
|
||||||
"owner": "Fymyte",
|
"owner": "Fymyte",
|
||||||
"repo": "tree-sitter-rasi",
|
"repo": "tree-sitter-rasi",
|
||||||
"rev": "371dac6bcce0df5566c1cfebde69d90ecbeefd2d",
|
"rev": "43196d934a9a6ab3c7093a8683efd0111bb03db1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -780,11 +797,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1706867893,
|
"lastModified": 1707761607,
|
||||||
"narHash": "sha256-c5bADvtL35S3vsJaXR5YWTXe08W0gSwOrTOXfpJB4Ac=",
|
"narHash": "sha256-OKNdTgnyhZpmqdgba8s78/QvowyTIMJDp0iLxv570bU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"rev": "bcae8dc73b931b7f0fc65f1f1ef93dc379dfd66b",
|
"rev": "c8ddba82ca6b791be1acaae4b336ff8e857ec70b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -796,11 +813,11 @@
|
|||||||
"zenyd-mpv-scripts": {
|
"zenyd-mpv-scripts": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1706283438,
|
"lastModified": 1707704915,
|
||||||
"narHash": "sha256-hpLZDtt5q18aZ8d9LHfT852wtBosKUTJ7Bx+cbjBLcg=",
|
"narHash": "sha256-9P/8q/OZXfaJMS08acQP4h3/zUA5mKRQee0JmkXcz1w=",
|
||||||
"owner": "zenyd",
|
"owner": "zenyd",
|
||||||
"repo": "mpv-scripts",
|
"repo": "mpv-scripts",
|
||||||
"rev": "7100d19d18d111ce77fc9e6e8947c0d542a86397",
|
"rev": "9bdce0050144cb24f92475f7bdd77180e0e4c26b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
20
flake.nix
20
flake.nix
@ -60,6 +60,10 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# 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.7";
|
url = "github:neovim/nvim-lspconfig/v0.1.7";
|
||||||
@ -69,16 +73,12 @@
|
|||||||
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 = {
|
comment-nvim-src = {
|
||||||
# https://github.com/numToStr/Comment.nvim/releases
|
# https://github.com/numToStr/Comment.nvim/releases
|
||||||
url = "github:numToStr/Comment.nvim/v0.8.0";
|
url = "github:numToStr/Comment.nvim/v0.8.0";
|
||||||
flake = false;
|
flake = false;
|
||||||
@ -124,6 +124,10 @@
|
|||||||
url = "github:mikesmithgh/kitty-scrollback.nvim";
|
url = "github:mikesmithgh/kitty-scrollback.nvim";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
nvim-lint-src = {
|
||||||
|
url = "github:mfussenegger/nvim-lint";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
|
||||||
# Tree-Sitter Grammars
|
# Tree-Sitter Grammars
|
||||||
tree-sitter-bash = {
|
tree-sitter-bash = {
|
||||||
@ -176,7 +180,7 @@
|
|||||||
proton-ge = {
|
proton-ge = {
|
||||||
# https://github.com/GloriousEggroll/proton-ge-custom/releases
|
# https://github.com/GloriousEggroll/proton-ge-custom/releases
|
||||||
url =
|
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;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -375,6 +379,10 @@
|
|||||||
path = ./templates/haskell;
|
path = ./templates/haskell;
|
||||||
description = "Haskell template";
|
description = "Haskell template";
|
||||||
};
|
};
|
||||||
|
rust = {
|
||||||
|
path = ./templates/rust;
|
||||||
|
description = "Rust template";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -166,6 +166,11 @@
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
xdg.mimeApps = {
|
||||||
|
associations.added = { "text.html" = [ "firefox.desktop" ]; };
|
||||||
|
defaultApplications = { "text.html" = [ "firefox.desktop" ]; };
|
||||||
|
};
|
||||||
|
|
||||||
xsession.windowManager.i3.config.keybindings =
|
xsession.windowManager.i3.config.keybindings =
|
||||||
lib.mkIf pkgs.stdenv.isLinux {
|
lib.mkIf pkgs.stdenv.isLinux {
|
||||||
"${
|
"${
|
||||||
|
@ -57,7 +57,7 @@
|
|||||||
allow_remote_control = "socket-only";
|
allow_remote_control = "socket-only";
|
||||||
listen_on = "unix:/tmp/kitty";
|
listen_on = "unix:/tmp/kitty";
|
||||||
action_alias =
|
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)
|
# Colors (adapted from: https://github.com/kdrag0n/base16-kitty/blob/master/templates/default-256.mustache)
|
||||||
background = config.theme.colors.base00;
|
background = config.theme.colors.base00;
|
||||||
|
@ -113,38 +113,6 @@
|
|||||||
config = let stateVersion = "23.05";
|
config = let stateVersion = "23.05";
|
||||||
in {
|
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
|
# Basic common system packages for all devices
|
||||||
environment.systemPackages = with pkgs; [ git vim wget curl ];
|
environment.systemPackages = with pkgs; [ git vim wget curl ];
|
||||||
|
|
||||||
|
@ -9,8 +9,6 @@
|
|||||||
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;
|
||||||
|
@ -8,7 +8,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
|
||||||
|
@ -1,120 +1,112 @@
|
|||||||
{ 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.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";
|
||||||
options.python = lib.mkEnableOption "Whether to enable Python LSP";
|
|
||||||
options.terraform = lib.mkEnableOption "Whether to enable Terraform LSP";
|
|
||||||
|
|
||||||
config =
|
config = {
|
||||||
|
plugins = [
|
||||||
|
pkgs.vimPlugins.nvim-lspconfig
|
||||||
|
pkgs.vimPlugins.conform-nvim
|
||||||
|
pkgs.vimPlugins.fidget-nvim
|
||||||
|
pkgs.vimPlugins.nvim-lint
|
||||||
|
];
|
||||||
|
|
||||||
let
|
setup.fidget = { };
|
||||||
|
|
||||||
terraformFormat = if config.terraform then ''
|
|
||||||
require("null-ls").builtins.formatting.terraform_fmt.with({
|
|
||||||
command = "${pkgs.terraform}/bin/terraform",
|
|
||||||
extra_filetypes = { "hcl" },
|
|
||||||
}),
|
|
||||||
'' else
|
|
||||||
"";
|
|
||||||
|
|
||||||
pythonFormat = if config.python then ''
|
|
||||||
require("null-ls").builtins.formatting.black.with({ command = "${pkgs.black}/bin/black" }),
|
|
||||||
require("null-ls").builtins.diagnostics.ruff.with({ command = "${pkgs.ruff}/bin/ruff" }),
|
|
||||||
'' 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 = if config.python then [
|
|
||||||
"${pkgs.pyright}/bin/pyright-langserver"
|
|
||||||
"--stdio"
|
|
||||||
] else
|
|
||||||
[ "echo" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
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.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" },
|
|
||||||
}),
|
|
||||||
${pythonFormat}
|
|
||||||
${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.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.glow-nvim # Markdown preview popup
|
||||||
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
|
||||||
pkgs.kitty-scrollback-nvim # Scrollback pager for kitty
|
pkgs.vimPlugins.kitty-scrollback-nvim # Scrollback pager for kitty
|
||||||
];
|
];
|
||||||
|
|
||||||
# Initialize some plugins
|
# Initialize some plugins
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{ pkgs, lib, config, ... }: {
|
{ pkgs, lib, ... }: {
|
||||||
|
|
||||||
plugins = [
|
plugins = [
|
||||||
(pkgs.vimPlugins.nvim-treesitter.withPlugins (_plugins:
|
(pkgs.vimPlugins.nvim-treesitter.withPlugins (_plugins:
|
||||||
with pkgs.tree-sitter-grammars;
|
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-ini
|
tree-sitter-ini
|
||||||
tree-sitter-json
|
tree-sitter-json
|
||||||
tree-sitter-lua
|
tree-sitter-lua
|
||||||
@ -14,23 +14,24 @@
|
|||||||
tree-sitter-markdown-inline
|
tree-sitter-markdown-inline
|
||||||
tree-sitter-nix
|
tree-sitter-nix
|
||||||
tree-sitter-puppet
|
tree-sitter-puppet
|
||||||
|
tree-sitter-python
|
||||||
tree-sitter-rasi
|
tree-sitter-rasi
|
||||||
tree-sitter-toml
|
tree-sitter-toml
|
||||||
tree-sitter-vimdoc
|
tree-sitter-vimdoc
|
||||||
tree-sitter-yaml
|
tree-sitter-yaml
|
||||||
] ++ (if config.python.enable then [ tree-sitter-python ] else [ ])
|
]))
|
||||||
++ (if config.terraform.enable then [ tree-sitter-hcl ] else [ ])))
|
|
||||||
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.baleia-nvim # Clean ANSI from kitty scrollback
|
pkgs.vimPlugins.vim-helm
|
||||||
# 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 {
|
(pkgs.vimUtils.buildVimPlugin {
|
||||||
pname = "nmasur";
|
pname = "nmasur";
|
||||||
version = "0.1";
|
version = "0.1";
|
||||||
src = ../plugin;
|
src = ../plugin;
|
||||||
})
|
})
|
||||||
] ++ (if config.kubernetes.enable then [ pkgs.vimPlugins.vim-helm ] else [ ]);
|
];
|
||||||
|
|
||||||
setup."nvim-treesitter.configs" = {
|
setup."nvim-treesitter.configs" = {
|
||||||
highlight = { enable = true; };
|
highlight = { enable = true; };
|
||||||
|
@ -5,11 +5,9 @@ let
|
|||||||
neovim = import ./package {
|
neovim = import ./package {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
colors = config.theme.colors;
|
colors = config.theme.colors;
|
||||||
c = config.c.enable;
|
terraform = config.terraform.enable;
|
||||||
github = true;
|
github = true;
|
||||||
kubernetes = config.kubernetes.enable;
|
kubernetes = config.kubernetes.enable;
|
||||||
python = config.python.enable;
|
|
||||||
terraform = config.terraform.enable;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
in {
|
in {
|
||||||
|
@ -1 +0,0 @@
|
|||||||
{ lib, ... }: { options.c.enable = lib.mkEnableOption "C language tools."; }
|
|
@ -18,5 +18,5 @@ bind -M insert \cn 'commandline -r "nix shell nixpkgs#"'
|
|||||||
bind -M default \cn 'commandline -r "nix shell nixpkgs#"'
|
bind -M default \cn 'commandline -r "nix shell nixpkgs#"'
|
||||||
bind -M insert \x11F nix-fzf
|
bind -M insert \x11F nix-fzf
|
||||||
bind -M default \x11F nix-fzf
|
bind -M default \x11F nix-fzf
|
||||||
bind -M insert \ch _atuin_search --filter-mode global
|
bind -M insert \ch '_atuin_search --filter-mode global'
|
||||||
bind -M default \ch _atuin_search --filter-mode global
|
bind -M default \ch '_atuin_search --filter-mode global'
|
||||||
|
@ -45,7 +45,7 @@ in {
|
|||||||
# TODO: fix with variables
|
# TODO: fix with variables
|
||||||
xdg.configFile."git/personal".text = ''
|
xdg.configFile."git/personal".text = ''
|
||||||
[user]
|
[user]
|
||||||
name = "Noah Masur"
|
name = "${config.fullName}"
|
||||||
email = "7386960+nmasur@users.noreply.github.com"
|
email = "7386960+nmasur@users.noreply.github.com"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
home-manager.users.${config.user}.programs.jujutsu = {
|
home-manager.users.${config.user}.programs.jujutsu = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableFishIntegration = true;
|
enableFishIntegration = false; # Temp: not working
|
||||||
|
|
||||||
# https://github.com/martinvonz/jj/blob/main/docs/config.md
|
# https://github.com/martinvonz/jj/blob/main/docs/config.md
|
||||||
settings = {
|
settings = {
|
||||||
|
@ -72,6 +72,12 @@
|
|||||||
fi
|
fi
|
||||||
'');
|
'');
|
||||||
|
|
||||||
|
# Set automatic generation cleanup for home-manager
|
||||||
|
nix.gc = {
|
||||||
|
automatic = config.nix.gc.automatic;
|
||||||
|
options = config.nix.gc.options;
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
@ -88,6 +94,34 @@
|
|||||||
# For security, only allow specific users
|
# For security, only allow specific users
|
||||||
settings.allowed-users = [ "@wheel" config.user ];
|
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;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
firefox = "${pkgs.firefox-bin}/Applications/Firefox.app";
|
firefox = "${pkgs.firefox-bin}/Applications/Firefox.app";
|
||||||
discord = "${pkgs.discord}/Applications/Discord.app";
|
discord = "${pkgs.discord}/Applications/Discord.app";
|
||||||
kitty = "${pkgs.kitty}/Applications/kitty.app";
|
kitty = "${pkgs.kitty}/Applications/kitty.app";
|
||||||
|
obsidian = "${pkgs.obsidian}/Applications/Obsidian.app";
|
||||||
slack = "${pkgs.slack}/Applications/Slack.app";
|
slack = "${pkgs.slack}/Applications/Slack.app";
|
||||||
};
|
};
|
||||||
xdg.configFile."hammerspoon/Spoons/MoveWindow.spoon".source =
|
xdg.configFile."hammerspoon/Spoons/MoveWindow.spoon".source =
|
||||||
|
@ -8,10 +8,10 @@ obj.name = "Launcher"
|
|||||||
obj.version = "0.1"
|
obj.version = "0.1"
|
||||||
obj.license = "MIT - https://opensource.org/licenses/MIT"
|
obj.license = "MIT - https://opensource.org/licenses/MIT"
|
||||||
|
|
||||||
local width = hs.screen.mainScreen():fullFrame().w
|
local screen = hs.screen.primaryScreen()
|
||||||
local switcherWidth = 500
|
local switcherWidth = 500
|
||||||
obj.canvas = hs.canvas.new({
|
obj.canvas = hs.canvas.new({
|
||||||
x = width / 2 - switcherWidth / 2,
|
x = (screen:fullFrame().x + screen:fullFrame().w) / 2 - switcherWidth / 2,
|
||||||
y = 1,
|
y = 1,
|
||||||
h = 3,
|
h = 3,
|
||||||
w = switcherWidth,
|
w = switcherWidth,
|
||||||
@ -80,7 +80,7 @@ function obj:init()
|
|||||||
self:switch("Messages.app")
|
self:switch("Messages.app")
|
||||||
end)
|
end)
|
||||||
self.launcher:bind("", "O", function()
|
self.launcher:bind("", "O", function()
|
||||||
self:switch("Obsidian.app")
|
self:switch("@obsidian@")
|
||||||
end)
|
end)
|
||||||
self.launcher:bind("", "P", function()
|
self.launcher:bind("", "P", function()
|
||||||
self:switch("System Preferences.app")
|
self:switch("System Preferences.app")
|
||||||
|
@ -56,7 +56,7 @@ function obj:init()
|
|||||||
local frame = win:frame()
|
local frame = win:frame()
|
||||||
-- maximize if possible
|
-- maximize if possible
|
||||||
local max = win:screen():fullFrame()
|
local max = win:screen():fullFrame()
|
||||||
frame.x = max.w / 2
|
frame.x = (max.x * 2 + max.w) / 2
|
||||||
frame.y = max.y
|
frame.y = max.y
|
||||||
frame.w = max.w / 2
|
frame.w = max.w / 2
|
||||||
frame.h = max.h
|
frame.h = max.h
|
||||||
|
@ -51,6 +51,7 @@ local function worklayout()
|
|||||||
local laptop = {
|
local laptop = {
|
||||||
{ "Firefox", nil, LAPTOP_MONITOR, u(0, 0, 1, 1), nil, nil, visible = true },
|
{ "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 },
|
{ "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)
|
local layout = concat(left, right, laptop)
|
||||||
hs.layout.apply(layout)
|
hs.layout.apply(layout)
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
# MacOS-specific settings for Kitty
|
# MacOS-specific settings for Kitty
|
||||||
home-manager.users.${config.user} = lib.mkIf pkgs.stdenv.isDarwin {
|
home-manager.users.${config.user} = lib.mkIf pkgs.stdenv.isDarwin {
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
darwinLaunchOptions = [ "--start-as=fullscreen" ];
|
|
||||||
font.size = lib.mkForce 20;
|
font.size = lib.mkForce 20;
|
||||||
settings = {
|
settings = {
|
||||||
shell = "/run/current-system/sw/bin/fish";
|
shell = "/run/current-system/sw/bin/fish";
|
||||||
|
@ -201,6 +201,10 @@
|
|||||||
|
|
||||||
echo "Choose and order dock icons"
|
echo "Choose and order dock icons"
|
||||||
defaults write com.apple.dock persistent-apps -array ${persistentApps}
|
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-manager.users.${config.user} = lib.mkIf pkgs.stdenv.isDarwin {
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# visidata # CSV inspector
|
visidata # CSV inspector
|
||||||
dos2unix # Convert Windows text files
|
dos2unix # Convert Windows text files
|
||||||
inetutils # Includes telnet
|
inetutils # Includes telnet
|
||||||
youtube-dl # Convert web videos
|
youtube-dl # Convert web videos
|
||||||
|
@ -36,23 +36,12 @@
|
|||||||
# Set Nautilus as default for opening directories
|
# Set Nautilus as default for opening directories
|
||||||
xdg.mimeApps = {
|
xdg.mimeApps = {
|
||||||
associations.added."inode/directory" = [ "org.gnome.Nautilus.desktop" ];
|
associations.added."inode/directory" = [ "org.gnome.Nautilus.desktop" ];
|
||||||
# associations.removed = {
|
|
||||||
# "inode/directory" = [ "kitty-open.desktop" ];
|
|
||||||
# };
|
|
||||||
defaultApplications."inode/directory" =
|
defaultApplications."inode/directory" =
|
||||||
lib.mkBefore [ "org.gnome.Nautilus.desktop" ];
|
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
|
# Delete Trash files older than 1 week
|
||||||
systemd.user.services.empty-trash = {
|
systemd.user.services.empty-trash = {
|
||||||
description = "Empty Trash on a regular basis";
|
description = "Empty Trash on a regular basis";
|
||||||
|
@ -9,6 +9,14 @@
|
|||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
remotePlay.openFirewall = 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; [
|
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
|
# 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/
|
# https://www.reddit.com/r/archlinux/comments/qguhco/steam_startup_time_arch_1451_seconds_fedora_34/hi8opet/
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
@ -141,7 +141,7 @@
|
|||||||
format-volume = "<ramp-volume> <label-volume>";
|
format-volume = "<ramp-volume> <label-volume>";
|
||||||
# format-volume-background = colors.background;
|
# format-volume-background = colors.background;
|
||||||
# label-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-volume = "%percentage%%";
|
||||||
label-muted = " ---";
|
label-muted = " ---";
|
||||||
label-muted-foreground = config.theme.colors.base03;
|
label-muted-foreground = config.theme.colors.base03;
|
||||||
@ -197,7 +197,7 @@
|
|||||||
date = "%d %b %l:%M %p";
|
date = "%d %b %l:%M %p";
|
||||||
date-alt = "%Y-%m-%d %H:%M:%S";
|
date-alt = "%Y-%m-%d %H:%M:%S";
|
||||||
label = "%date%";
|
label = "%date%";
|
||||||
label-foreground = config.theme.colors.base0A;
|
label-foreground = config.theme.colors.base06;
|
||||||
# format-background = colors.background;
|
# format-background = colors.background;
|
||||||
};
|
};
|
||||||
"module/keyboard" = {
|
"module/keyboard" = {
|
||||||
|
@ -80,7 +80,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Allows Nextcloud to trust Cloudflare IPs
|
# Allows Nextcloud to trust Cloudflare IPs
|
||||||
services.nextcloud.extraOptions.trusted_proxies = cloudflareIpRanges;
|
services.nextcloud.settings.trusted_proxies = cloudflareIpRanges;
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
adminpassFile = config.secrets.nextcloud.dest;
|
adminpassFile = config.secrets.nextcloud.dest;
|
||||||
dbtype = "mysql";
|
dbtype = "mysql";
|
||||||
};
|
};
|
||||||
extraOptions = {
|
settings = {
|
||||||
default_phone_region = "US";
|
default_phone_region = "US";
|
||||||
# Allow access when hitting either of these hosts or IPs
|
# Allow access when hitting either of these hosts or IPs
|
||||||
trusted_domains = [ config.hostnames.content ];
|
trusted_domains = [ config.hostnames.content ];
|
||||||
|
@ -48,23 +48,12 @@
|
|||||||
before = [ "paperless.service" ];
|
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
|
# Fix paperless shared permissions
|
||||||
systemd.services.paperless-permissions = {
|
systemd.services.paperless-web.serviceConfig.UMask = lib.mkForce "0026";
|
||||||
description = "Allow group access to paperless files";
|
systemd.services.paperless-scheduler.serviceConfig.UMask =
|
||||||
serviceConfig = { Type = "oneshot"; };
|
lib.mkForce "0026";
|
||||||
script = ''
|
systemd.services.paperless-task-queue.serviceConfig.UMask =
|
||||||
find ${config.services.paperless.mediaDir} -type f -exec chmod 640 -- {} +
|
lib.mkForce "0026";
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ config, lib, ... }: {
|
{ config, pkgs, lib, ... }: {
|
||||||
|
|
||||||
options = {
|
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 = {
|
home-manager.users.${config.user}.xdg = {
|
||||||
|
|
||||||
# Allow Nix to manage the default applications list
|
# Allow Nix to manage the default applications list
|
||||||
mimeApps.enable = true;
|
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
|
# Set directories for application defaults
|
||||||
userDirs = {
|
userDirs = {
|
||||||
enable = true;
|
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 {
|
in {
|
||||||
|
|
||||||
nvim-lspconfig = withSrc prev.vimPlugins.nvim-lspconfig inputs.nvim-lspconfig;
|
vimPlugins = prev.vimPlugins // {
|
||||||
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;
|
|
||||||
|
|
||||||
# Packaging plugins entirely with Nix
|
nvim-lspconfig =
|
||||||
baleia-nvim = plugin "baleia-nvim" inputs.baleia-nvim-src;
|
withSrc prev.vimPlugins.nvim-lspconfig inputs.nvim-lspconfig-src;
|
||||||
hmts-nvim = plugin "hmts-nvim" inputs.hmts-nvim-src;
|
cmp-nvim-lsp = withSrc prev.vimPlugins.cmp-nvim-lsp inputs.cmp-nvim-lsp-src;
|
||||||
kitty-scrollback-nvim =
|
comment-nvim = withSrc prev.vimPlugins.comment-nvim inputs.comment-nvim-src;
|
||||||
plugin "kitty-scrollback-nvim" inputs.kitty-scrollback-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: {
|
inputs: _final: prev: {
|
||||||
proton-ge-custom = prev.stdenv.mkDerivation (finalAttrs: rec {
|
proton-ge-custom = prev.stdenv.mkDerivation (finalAttrs: rec {
|
||||||
name = "proton-ge-custom";
|
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;
|
src = inputs.proton-ge;
|
||||||
|
# Took from https://github.com/AtaraxiaSjel/nur/blob/cf83b14b102985a587a498ba2c56f9f2bd9b9eb6/pkgs/proton-ge/default.nix
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
runHook preBuild
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp -r ${src}/* -t $out/bin/
|
cp -r ${src}/* -t $out/bin/
|
||||||
|
runHook postBuild
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user