34 Commits

Author SHA1 Message Date
bbdfeb645e kvm replaces hdmi monitor w displayport 2024-02-28 07:55:18 -05:00
7f60d88f30 automatically use autosquash for rebase 2024-02-28 07:55:03 -05:00
8babcf342b convert nextcloud db from mysql to postgres 2024-02-25 22:31:02 +00:00
a5ec39cd2a map users to generic postgres roles 2024-02-25 21:14:04 +00:00
63434c8309 docs: add new users to thelounge 2024-02-25 19:03:58 +00:00
1a5fe54d06 jujutsu shell integration setting deprecated 2024-02-25 19:01:59 +00:00
b2cfdc1fdf add thelounge irc client 2024-02-25 18:50:00 +00:00
3a4568bc69 add gc for home-manager
move gc options into nixpkgs file
2024-02-19 09:45:00 -05:00
203bb6a13a increase generation cleanup limit
just in case it fails from one upgrade week to the next
2024-02-19 14:28:50 +00:00
4bfd65acb3 fix: new disko format of disks wouldn't boot 2024-02-19 14:28:13 +00:00
d636de890c try to add firefox as mime html reader 2024-02-18 10:35:01 -05:00
1e9401eef2 update disko config to new format 2024-02-18 09:41:48 -05:00
ea67467cbf fix: alias nvim-base16 is still in vim-plugins
not sure what it means so i had to package it myself
2024-02-18 09:26:23 -05:00
fc6bdeb1ad temp: himalaya notmuch broken but config still works 2024-02-18 09:06:15 -05:00
2758637953 fix typo in readme 2024-02-16 22:47:32 -05:00
f747c80c2a update proton-ge and improve install to steam 2024-02-16 22:26:17 -05:00
013f67c0a8 partially fill out vars for git 2024-02-16 20:56:28 -05:00
fb145e5772 monochrome polybar icons 2024-02-16 20:56:03 -05:00
408b329684 temp: disable jj fish integration 2024-02-13 09:49:32 -05:00
ad70457600 fix: compress menu bar icons 2024-02-13 09:49:22 -05:00
f54f7b6e2e fix: launching obsidian built by nix on macos 2024-02-13 09:48:56 -05:00
2700efa6e4 increase format timeout in neovim 2024-02-11 22:28:05 -05:00
e44adf4568 rust-analyzer: ignore direnv folder 2024-02-11 16:20:23 -05:00
471b258ff7 update flake.lock 2024-02-11 16:20:06 -05:00
ac6329baf6 patch kitty-scrollback-nvim because health check depends on git 2024-02-10 21:41:19 -05:00
a61ac456a9 fix: neovim refactor adjusted reference for kitty-scrollback 2024-02-10 21:15:28 -05:00
cf77adb366 neovim lsp refactor
remove null-ls (archived, deprecated)
replace formatting with conform.nvim
replace diagnostics with nvim-lint
fixed issue where overlay neovim plugins weren't being applied
2024-02-10 21:04:37 -05:00
2217568a59 clean up commented xdg mime associations 2024-02-10 09:18:37 -05:00
05deb5b979 fix paperless permissions with umask
instead of running a systemd service timer
2024-02-10 01:40:04 +00:00
8621e2375d fix: nextcloud extraOptions renamed 2024-02-10 01:37:21 +00:00
25975da0c1 reenable visidata on mac 2024-02-09 10:33:17 -05:00
a79719c21a fix: atuin search keybind 2024-02-09 09:51:29 -05:00
5aea58df79 clean up hammerspoon on m3 w display
for some reason, i need to multiply x to line up half-max frames
2024-02-08 15:28:46 -05:00
1833bfddfb prefer kitty to not start fullscreen on m3 macbook pro 2024-02-07 23:14:06 -05:00
40 changed files with 448 additions and 327 deletions

View File

@ -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) |

View File

@ -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}" ];
};
}
];
};
};
};
};
};

View File

@ -63,3 +63,20 @@ Use this mysqldump command:
sudo -u nextcloud mysqldump -S /run/mysqld/mysqld.sock --default-character-set=utf8mb4 nextcloud > backup.sql
```
## 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
```

201
flake.lock generated
View File

@ -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": 1707730831,
"narHash": "sha256-Ina+gCIHTtLLvGem88ec8rBaRwO1M+mDVSgjk/MM5wM=",
"owner": "magnolia1234",
"repo": "bpc-uploads",
"rev": "c91cfd510390ab5a138f412ad2890b2cb2a2eafd",
"rev": "47c602fb1253ff05b3654da4a6d375978f6a43fd",
"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": 1708231718,
"narHash": "sha256-IZdieFWvhBkxoOFMDejqLUYqD94WN6k0YSpw0DFy+4g=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "bdbae6ecff8fcc322bf6b9053c0b984912378af7",
"rev": "0e6857fa1d632637488666c08e7b02c08e3178f8",
"type": "github"
},
"original": {
@ -110,11 +126,11 @@
]
},
"locked": {
"lastModified": 1706491084,
"narHash": "sha256-eaEv+orTmr2arXpoE4aFZQMVPOYXCBEbLgK22kOtkhs=",
"lastModified": 1708221730,
"narHash": "sha256-vyx6tsnDGX4bNegiF1kREHMRDH7hy+q1m56V8JYHWLI=",
"owner": "nix-community",
"repo": "disko",
"rev": "f67ba6552845ea5d7f596a24d57c33a8a9dc8de9",
"rev": "d8a4377cd8eec23668ea3fae07efee9d5782cb91",
"type": "github"
},
"original": {
@ -147,11 +163,11 @@
]
},
"locked": {
"lastModified": 1707007453,
"narHash": "sha256-vs7uACn2/8GOApZJv52gAVsLfpjQWFgkHN2QJ7aVkl8=",
"lastModified": 1708217014,
"narHash": "sha256-ujI9daLmnmigZtdMsVeqVouAYFoYWKrrZ7FvGMzdVzs=",
"owner": "bandithedoge",
"repo": "nixpkgs-firefox-darwin",
"rev": "d839feb516758ad28bc1cef43008d55e749c1d6a",
"rev": "2ab9b39e98497584ba952cacb8dfadf8492fd28d",
"type": "github"
},
"original": {
@ -235,11 +251,11 @@
]
},
"locked": {
"lastModified": 1706985585,
"narHash": "sha256-ptshv4qXiC6V0GCfpABz88UGGPNwqs5tAxaRUKbk1Qo=",
"lastModified": 1708031129,
"narHash": "sha256-EH20hJfNnc1/ODdDVat9B7aKm0B95L3YtkIRwKLvQG8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "1ca210648a6ca9b957efde5da957f3de6b1f0c45",
"rev": "3d6791b3897b526c82920a2ab5f61d71985b3cf8",
"type": "github"
},
"original": {
@ -252,11 +268,11 @@
"kitty-scrollback-nvim-src": {
"flake": false,
"locked": {
"lastModified": 1706891759,
"narHash": "sha256-p7RPqLHO6D5CCTDQzUrEqTu9+jg+V7wtYfGbY4qjE9A=",
"lastModified": 1707831543,
"narHash": "sha256-RAqRIrKKaRoBVLTlI18hCHvGwUb/YVfIb3soNmyO24w=",
"owner": "mikesmithgh",
"repo": "kitty-scrollback.nvim",
"rev": "12f7687ac049d46a987c39b2b4f657fdf540fa4e",
"rev": "78dd609368aa20bd6fbd801cce73ea30787ebe21",
"type": "github"
},
"original": {
@ -307,7 +323,7 @@
"nextcloud-snappymail": {
"flake": false,
"locked": {
"lastModified": 1707018069,
"lastModified": 1705809286,
"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": {
@ -361,11 +377,11 @@
]
},
"locked": {
"lastModified": 1706085261,
"narHash": "sha256-7PgpHRHyShINcqgevPP1fJ6N8kM5ZSOJnk3QZBrOCQ0=",
"lastModified": 1707873059,
"narHash": "sha256-simzllUEmzVqmQogcGCorfIbJpodAhgGSr6vuFtd4XQ=",
"owner": "nix-community",
"repo": "nixos-generators",
"rev": "896f6589db5b25023b812bbb6c1f5d3a499b1132",
"rev": "0aa24e93f75370454f0e03747b6836ac2a2c9fca",
"type": "github"
},
"original": {
@ -376,11 +392,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1706732774,
"narHash": "sha256-hqJlyJk4MRpcItGYMF+3uHe8HvxNETWvlGtLuVpqLU0=",
"lastModified": 1708118438,
"narHash": "sha256-kk9/0nuVgA220FcqH/D2xaN6uGyHp/zoxPNUmPCMmEE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b8b232ae7b8b144397fdb12d20f592e5e7c1a64d",
"rev": "5863c27340ba4de8f83e7e3c023b9599c3cb3c80",
"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": 1708261229,
"narHash": "sha256-mC9gMz4E7Dm9nvCE6oqNMmZLMdoJ3Pjik2oqEZDVrgU=",
"owner": "nix-community",
"repo": "nur",
"rev": "c4296c55625e5394c142d5c07c00cddb76d5241b",
"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": 1708102077,
"narHash": "sha256-dWjST8OnPZbDG3Ih3VA53vq4QX6RJeJ0PJj82lqfOVg=",
"owner": "mfussenegger",
"repo": "nvim-lint",
"rev": "31be66c27214174a28fc092ffcf4bb3e8f6cfd43",
"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": 1708237704,
"narHash": "sha256-Yi1bf24CcKNllJ6lm/BERJEkoFYDUDQGGjHlEDgaOiU=",
"owner": "kyazdani42",
"repo": "nvim-tree.lua",
"rev": "f39f7b6fcd3865ac2146de4cb4045286308f2935",
"rev": "d35a8d5ec6358ada4b058431b367b32360737466",
"type": "github"
},
"original": {
@ -457,11 +473,11 @@
"nvim-treesitter-src": {
"flake": false,
"locked": {
"lastModified": 1706952848,
"narHash": "sha256-pNjEODR+QJPDL58O4NM7SjzZEN8D3bXDHbKLNOS3fL8=",
"lastModified": 1708261405,
"narHash": "sha256-jOlJA/ZJgPj3Yg62ryKUbseGQ0CPGJDdyoDyO34fXhg=",
"owner": "nvim-treesitter",
"repo": "nvim-treesitter",
"rev": "4fbf150a1621d52f17b099506e1a32f107079210",
"rev": "5e4b657181516e4aaf03ccbb4b21eca3b62b07dc",
"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": {
@ -709,11 +726,11 @@
"tree-sitter-python": {
"flake": false,
"locked": {
"lastModified": 1700218345,
"narHash": "sha256-hXNxa895SyNOG7PH2vAIkWbcMjZDjWYDsCafBZuvnT0=",
"lastModified": 1707954801,
"narHash": "sha256-K3zamqQPM1UHk375TrMvT9mXw8f7tUse5bFctI+V1EA=",
"owner": "tree-sitter",
"repo": "tree-sitter-python",
"rev": "4bfdd9033a2225cc95032ce77066b7aeca9e2efc",
"rev": "deba2badc88afd18e6cbd4341ee3c18c3a9bb4ed",
"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": {
@ -780,11 +797,11 @@
]
},
"locked": {
"lastModified": 1706867893,
"narHash": "sha256-c5bADvtL35S3vsJaXR5YWTXe08W0gSwOrTOXfpJB4Ac=",
"lastModified": 1707761607,
"narHash": "sha256-OKNdTgnyhZpmqdgba8s78/QvowyTIMJDp0iLxv570bU=",
"owner": "nix-community",
"repo": "NixOS-WSL",
"rev": "bcae8dc73b931b7f0fc65f1f1ef93dc379dfd66b",
"rev": "c8ddba82ca6b791be1acaae4b336ff8e857ec70b",
"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": {

View File

@ -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";
};
};
};

View File

@ -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;

View File

@ -166,6 +166,11 @@
};
xdg.mimeApps = {
associations.added = { "text.html" = [ "firefox.desktop" ]; };
defaultApplications = { "text.html" = [ "firefox.desktop" ]; };
};
xsession.windowManager.i3.config.keybindings =
lib.mkIf pkgs.stdenv.isLinux {
"${

View File

@ -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;

View File

@ -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 ];

View File

@ -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;

View File

@ -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

View File

@ -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")
'';
};
}

View File

@ -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

View File

@ -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";

View File

@ -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'

View File

@ -33,6 +33,7 @@ in {
pull = { ff = "only"; };
push = { autoSetupRemote = "true"; };
init = { defaultBranch = "master"; };
rebase = { autosquash = "true"; };
};
ignores = [ ".direnv/**" "result" ];
includes = [{
@ -45,7 +46,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"
'';

View File

@ -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 = {

View File

@ -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;
};
};
}

View File

@ -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 =

View File

@ -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")

View File

@ -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

View File

@ -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)

View File

@ -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";

View File

@ -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
'';
};

View File

@ -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

View File

@ -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";

View File

@ -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;

View File

@ -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" = {

View File

@ -35,7 +35,7 @@
--mode 1920x1200 \
--pos 1920x0 \
--rotate left \
--output HDMI-A-0 \
--output DisplayPort-0 \
--primary \
--mode 1920x1080 \
--pos 0x560 \

View File

@ -80,7 +80,7 @@ in {
};
# Allows Nextcloud to trust Cloudflare IPs
services.nextcloud.extraOptions.trusted_proxies = cloudflareIpRanges;
services.nextcloud.settings.trusted_proxies = cloudflareIpRanges;
};
}

View File

@ -11,6 +11,7 @@
./calibre.nix
./cloudflare-tunnel.nix
./cloudflare.nix
./irc.nix
./gitea-runner.nix
./gitea.nix
./gnupg.nix

View File

@ -50,6 +50,7 @@ in {
dashboards.settings.providers = [{
name = "test";
type = "file";
allowUiUpdates = true;
options.path = "${
(pkgs.writeTextDir "dashboards/dashboard.json" (builtins.toJSON {
annotations = {

View 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}";
}];
}];
}];
};
}

View File

@ -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; {

View File

@ -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";
};

View File

@ -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;

View File

@ -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;

View 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')

View File

@ -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 ];
};
};
}

View File

@ -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
'';
});
}