Compare commits
266 Commits
master
...
cf7fdb2aec
| Author | SHA1 | Date | |
|---|---|---|---|
|
cf7fdb2aec
|
|||
|
8fd939bc34
|
|||
|
a5ca09b7ec
|
|||
|
4edd789c20
|
|||
|
f5f23388ce
|
|||
|
97a9f4d78a
|
|||
|
60fe34de9d
|
|||
|
7ed23a63a3
|
|||
|
7fbab2b1f6
|
|||
|
df1cadae60
|
|||
|
b5cb085083
|
|||
|
2a2d96d97e
|
|||
|
307a8b5fb7
|
|||
|
9861866c6f
|
|||
|
05dd3fd75f
|
|||
|
15e2290267
|
|||
|
3646bceff9
|
|||
|
f429a50206
|
|||
|
024908500a
|
|||
|
c7098e2208
|
|||
|
0e86ca0371
|
|||
|
663f21bdda
|
|||
|
2533183d80
|
|||
|
f259b7d326
|
|||
|
ac1b8c9f07
|
|||
|
00e3713682
|
|||
|
84eabaa4d3
|
|||
|
d0916c49e5
|
|||
|
91c35fd55c
|
|||
|
166c35caec
|
|||
|
c204312423
|
|||
|
ddc5722bbe
|
|||
|
cadd7bd949
|
|||
|
2fbf61c052
|
|||
|
5d699a2d58
|
|||
|
593437fa94
|
|||
|
00e412cb20
|
|||
|
1290f14cb7
|
|||
|
132e52e4ad
|
|||
|
29970472f8
|
|||
|
6507cbc0e0
|
|||
|
7e3985bd34
|
|||
|
57b8980ebe
|
|||
|
f1ddccb0df
|
|||
|
0fb5c79df4
|
|||
|
b2915bdd90
|
|||
|
49ef17ac33
|
|||
|
debe85da8e
|
|||
|
558c497c74
|
|||
|
c4451939d5
|
|||
|
d1f010dcc8
|
|||
|
3d5a0f8cb5
|
|||
|
0831730903
|
|||
|
004eff3abf
|
|||
|
592e7e4bb9
|
|||
|
ec7247bc77
|
|||
|
e1d041f010
|
|||
|
84fec63204
|
|||
|
b434aaaccc
|
|||
|
4639fd8c7e
|
|||
|
7f22089765
|
|||
|
8c53eaf570
|
|||
|
c9a4b1a428
|
|||
|
288496afa1
|
|||
|
34f61d4f27
|
|||
|
77f169fef4
|
|||
|
8576db096f
|
|||
|
d20ce66646
|
|||
|
226b72dccf
|
|||
|
6147801194
|
|||
|
a1b8bc9555
|
|||
|
83ffca5e21
|
|||
|
eb782a67cb
|
|||
|
85a12edbcc
|
|||
|
a056e4d98b
|
|||
|
5f17a04fbb
|
|||
|
f514387f64
|
|||
|
c328c188b8
|
|||
|
585f74ce0f
|
|||
|
8263fe01eb
|
|||
|
d61e6f8b9c
|
|||
|
7c7c195083
|
|||
|
2e78898c5a
|
|||
|
1f61e9958c
|
|||
|
c8954e5854
|
|||
|
e772d93f23
|
|||
|
4c17560020
|
|||
|
e1542a1168
|
|||
|
a351bf59ba
|
|||
|
7a62f38084
|
|||
|
b50c5f9f71
|
|||
|
0087145957
|
|||
|
48c77e9654
|
|||
|
71d06d61b1
|
|||
|
75d024111e
|
|||
|
b67aee2a64
|
|||
|
554a76b585
|
|||
|
d9e7e315da
|
|||
|
daee8da3ae
|
|||
|
c2b661adbb
|
|||
|
aa4ebfbc06
|
|||
|
db850552e3
|
|||
|
63afac3d04
|
|||
|
645fc64ead
|
|||
|
6561d4c979
|
|||
|
f1ed339968
|
|||
|
50d14ecf83
|
|||
|
1cdc3f25e0
|
|||
|
9e62f755bb
|
|||
|
d0e6fe072a
|
|||
|
86ea11c8e8
|
|||
|
1adacf5e1e
|
|||
|
e53787deae
|
|||
|
efce5c6293
|
|||
|
6069a12e64
|
|||
|
91bd79a051
|
|||
|
9bec5f42b1
|
|||
|
602aa4cd56
|
|||
|
3573a705af
|
|||
|
615d886a98
|
|||
|
4416f39f0c
|
|||
|
0bb481c037
|
|||
|
98a3788f4f
|
|||
|
ac4b005f9b
|
|||
|
901f58a527
|
|||
|
9a5bc3e981
|
|||
|
fe69d39769
|
|||
|
2f675e96f0
|
|||
|
56512194ef
|
|||
|
d1a6aafed5
|
|||
|
6305d9ca2e
|
|||
|
887f7db0c7
|
|||
|
d8dbdbc5de
|
|||
|
4014ed0318
|
|||
|
87fa954937
|
|||
|
934644c5e2
|
|||
|
0bda035ccd
|
|||
|
6e999ffa02
|
|||
|
807388d032
|
|||
|
9b1a7c73e6
|
|||
|
da729f8c22
|
|||
|
d08d795adf
|
|||
|
ffc2516353
|
|||
|
135e1e5701
|
|||
|
5b2fc78889
|
|||
|
4cbe9885b2
|
|||
|
9b43074248
|
|||
|
be3f6baa17
|
|||
|
837233b552
|
|||
|
ca0c718f3b
|
|||
|
3c68574aea
|
|||
|
aa668d04d3
|
|||
|
d16b645078
|
|||
|
b71264b864
|
|||
|
6ed1882429
|
|||
|
952802d4f7
|
|||
|
53fc6eedc8
|
|||
|
2e0f378c9e
|
|||
|
abab1cf2b4
|
|||
|
ad3210f150
|
|||
|
afe74b8fa1
|
|||
|
8f5a9d753f
|
|||
|
d45a9946bb
|
|||
|
c0f8356205
|
|||
|
72a8dcb8d5
|
|||
|
da548f10bb
|
|||
|
9bfbbc0dc9
|
|||
|
26ac3a8e02
|
|||
|
632fcc3dab
|
|||
|
a204951964
|
|||
|
9aea533693
|
|||
|
a07499813d
|
|||
|
6e2a64a50c
|
|||
|
80d932838f
|
|||
|
4bed2e7021
|
|||
|
75ffcc5c6e
|
|||
|
cb14d79586
|
|||
|
9b41d5552e
|
|||
|
3d50b8fea7
|
|||
|
5aec2aa971
|
|||
|
b799d86823
|
|||
|
d505394753
|
|||
|
06cf86fa20
|
|||
|
a4272ea92c
|
|||
|
89739e3af0
|
|||
|
52a99db8e0
|
|||
|
7848fb7274
|
|||
|
397d1b014c
|
|||
|
7f1ce57994
|
|||
|
a1f495f138
|
|||
|
4e9003e0c5
|
|||
|
380e11edb2
|
|||
|
a2153c4418
|
|||
|
abdcbe2ce9
|
|||
|
fa286dce16
|
|||
|
c4454daab6
|
|||
|
a03c9d8227
|
|||
|
9db5d91da6
|
|||
|
72716230ea
|
|||
|
2919e797ed
|
|||
|
86d669c2ab
|
|||
|
77ac5b70b8
|
|||
|
54839be395
|
|||
|
714e3e0683
|
|||
|
a8d7d1e666
|
|||
|
40bcc14304
|
|||
|
fa5bd0eefd
|
|||
|
6182ada581
|
|||
|
4acddcec09
|
|||
|
5c14817464
|
|||
|
38920bd3d7
|
|||
|
b89934d13f
|
|||
|
734dfcadfc
|
|||
|
2c959fdc0c
|
|||
|
e00c4f49f5
|
|||
|
61131ca598
|
|||
|
9c1a39d699
|
|||
|
32de6e24b7
|
|||
|
78e554cc30
|
|||
|
f65617deed
|
|||
|
aa3a881d58
|
|||
|
7f99b73635
|
|||
|
c1360e5c2c
|
|||
|
ca9e66bc35
|
|||
|
eac705bdfb
|
|||
|
69beab4812
|
|||
|
515110ff7d
|
|||
|
9a9bffd637
|
|||
|
f1b269e3ee
|
|||
|
f09dee5ad8
|
|||
|
f246eacdb3
|
|||
|
b7e2bba8f0
|
|||
|
25ae0f4b85
|
|||
|
d12b247368
|
|||
|
25e9128875
|
|||
|
eee28f57fc
|
|||
|
ea03e2266f
|
|||
|
5e422d05c9
|
|||
|
eaa36cfce2
|
|||
|
572d0bfe9e
|
|||
|
385ca27f8c
|
|||
|
4c18fd8c8e
|
|||
|
bf0c55669c
|
|||
|
86a5e79079
|
|||
|
7d429a4720
|
|||
|
2e9a4b13d1
|
|||
|
73eeff9a0e
|
|||
|
d216a8018d
|
|||
|
b09d854e50
|
|||
|
ff39dd1df2
|
|||
|
98c520e0bd
|
|||
|
7e3d3ca4a5
|
|||
|
c8a76751f3
|
|||
|
12a10bee82
|
|||
|
767309885a
|
|||
|
6d360ed782
|
|||
|
ddccd51b5a
|
|||
|
1fef42e5d4
|
|||
|
0d20883f4f
|
|||
|
cec5ec5493
|
|||
|
5833dff19e
|
|||
|
7b4c2df7af
|
|||
|
1643f30906
|
|||
|
79c617cc91
|
|||
|
474a8badf4
|
|||
|
17368396cf
|
BIN
FastFetch.png
BIN
FastFetch.png
Binary file not shown.
|
Before Width: | Height: | Size: 1.8 MiB After Width: | Height: | Size: 2.6 MiB |
BIN
NeoVim.png
BIN
NeoVim.png
Binary file not shown.
|
Before Width: | Height: | Size: 747 KiB |
172
README.md
172
README.md
@ -1,159 +1,43 @@
|
|||||||
# NixFlake
|
# NixOS Configuration
|
||||||
|
|
||||||
NixOS flake with [Niri](https://github.com/niri-wm/niri), [Waybar](https://github.com/Alexays/Waybar) for a lightweight desktop and [home-manager](https://github.com/nix-community/home-manager) for declarative `~/` configuration.
|
Modular NixOS configuration, using [Niri](https://github.com/niri-wm/niri) and [Waybar](https://github.com/Alexays/Waybar) for a light desktop.
|
||||||
|
|
||||||
## Screenshots
|

|
||||||
|

|
||||||
|
|
||||||

|
To install, run `nixos-rebuild` with the `--flake` parameter from the `NixFlake` directory: `nixos-rebuild switch --flake .#nixinator`.
|
||||||
|
Alternatively, use `nh os switch` or `nh os boot`.
|
||||||
|
|
||||||

|
## NixFlake/system
|
||||||
|
|
||||||

|
Contains all the system configurations.
|
||||||
|
|
||||||
## Hosts
|
- There is a common configuration used for all systems: `NixFlake/system/default.nix`
|
||||||
|
- Every system has its own special configuration: `NixFlake/system/<hostname>/default.nix`
|
||||||
|
- System modules are located in `NixFlake/system/systemmodules`
|
||||||
|
- Hosted services are located in `NixFlake/system/services`
|
||||||
|
|
||||||
| Host | Type | GPU | Features |
|
When creating a NixOS configuration inside the `NixFlake/flake.nix` the common configuration is imported.
|
||||||
|-|-|-|-|
|
Because the hostname is propagated to the common configuration, it can import the host-specific config by itself.
|
||||||
| `nixinator` | Desktop (x86_64) | NVIDIA | [disko](https://github.com/nix-community/disko) partitioning, [lanzaboote](https://github.com/nix-community/lanzaboote) Secure Boot, [impermanence](https://github.com/nix-community/impermanence) opt-in state, [sops-nix](https://github.com/Mic92/sops-nix) secrets |
|
|
||||||
| `nixtop` | Laptop (x86_64) | Intel | Obsolete trash computer |
|
|
||||||
| `servenix` | Headless (x86_64) | NVIDIA | Jellyfin, Nextcloud, Gitea, ... |
|
|
||||||
| `thinknix` | Headless (x86_64) | - | AdGuard DNS, Nginx, ... |
|
|
||||||
| `darwinix` | macOS (aarch64) | - | nix-darwin with home-manager |
|
|
||||||
|
|
||||||
## Usage
|
## NixFlake/home
|
||||||
|
|
||||||
```bash
|
Contains all the home-manager configurations.
|
||||||
# Enter dev shell (provides helper utilities)
|
|
||||||
nix develop
|
|
||||||
|
|
||||||
# Rebuild system + user config together
|
- There is a common configuration for each user: `NixFlake/home/<username>/default.nix`
|
||||||
nh os switch
|
- There is a configuration for a single system of this user: `NixFlake/home/<username>/<hostname>/default.nix`
|
||||||
nh os boot
|
- Home-Manager modules are located in `NixFlake/home/homemodules`
|
||||||
|
|
||||||
# Or with nixos-rebuild
|
When creating a NixOS configuration inside the `NixFlake/flake.nix` the common configuration is imported.
|
||||||
sudo nixos-rebuild switch --flake .#nixinator
|
Because the hostname is propagated to the common configuration, it can import the host-specific config by itself.
|
||||||
```
|
|
||||||
|
|
||||||
## Info
|
## NixFlake/derivations
|
||||||
|
|
||||||
Home-manager runs as a NixOS module (not standalone). A single `nixos-rebuild switch` rebuilds both system and user configuration together.
|
Contains all the stuff I packaged.
|
||||||
|
Each derivation is loaded into `NixFlake/derivations/default.nix`.
|
||||||
|
|
||||||
### Components
|
## NixFlake/overlays
|
||||||
|
|
||||||
Per-host config consists of three layers:
|
Contains all overlays, e.g. package version overrides.
|
||||||
|
The `NixFlake/overlays/default.nix` imports all overlays and all derivations.
|
||||||
1. **Common Config**: `system/default.nix` (NixOS) / `home/christoph/default.nix` (home-manager)
|
It is then imported by the top-level `NixFlake/flake.nix`, to make everything available to the system/home configurations.
|
||||||
2. **Host Config**: `system/<hostname>/default.nix` (NixOS) / `home/christoph/<hostname>/default.nix` (home-manager)
|
|
||||||
3. **Hardware**: `system/<hostname>/hardware-configuration.nix`
|
|
||||||
|
|
||||||
### Modules
|
|
||||||
|
|
||||||
There are two module hierarchies (NixOS and home-manager modules):
|
|
||||||
|
|
||||||
```
|
|
||||||
system/systemmodules/<name>/ home/homemodules/<name>/
|
|
||||||
- options.nix # declares options - options.nix # declares options
|
|
||||||
- default.nix # implementation - default.nix # implementation
|
|
||||||
```
|
|
||||||
|
|
||||||
## Files
|
|
||||||
|
|
||||||
```
|
|
||||||
NixFlake/
|
|
||||||
├── flake.nix # flake entrypoint: inputs, outputs, host definitions
|
|
||||||
├── flake.lock # flake lockfile
|
|
||||||
├── shell.nix # dev shell (nix develop)
|
|
||||||
├── system/ # NixOS system configurations
|
|
||||||
│ ├── default.nix # global system defaults (all hosts)
|
|
||||||
│ ├── <hostname>/ # per-host overrides + hardware-config
|
|
||||||
│ ├── systemmodules/ # reusable system modules
|
|
||||||
│ └── services/ # OCI container services
|
|
||||||
├── home/ # home-manager user configuration
|
|
||||||
│ └── christoph/
|
|
||||||
│ ├── default.nix # global user defaults
|
|
||||||
│ ├── <hostname>/ # per-host user overrides
|
|
||||||
│ └── homemodules/ # reusable home-manager modules
|
|
||||||
├── lib/ # shared helpers
|
|
||||||
├── derivations/ # custom packages
|
|
||||||
├── overlays/ # package overrides
|
|
||||||
├── config/ # linked dotfiles
|
|
||||||
└── wallpapers/ # backgrounds
|
|
||||||
```
|
|
||||||
|
|
||||||
## System Modules
|
|
||||||
|
|
||||||
| Module | Description |
|
|
||||||
|--------|-------------|
|
|
||||||
| `bootloader` | systemd-boot, lanzaboote Secure Boot signing |
|
|
||||||
| `desktopportal` | xdg-desktop-portal backends (Niri, GTK) |
|
|
||||||
| `docker` | Docker / podman daemon config |
|
|
||||||
| `fonts` | System fonts and fontconfig |
|
|
||||||
| `impermanence` | Opt-in state persistence (wipes `/` on boot) |
|
|
||||||
| `mime` | MIME type associations |
|
|
||||||
| `network` | systemd-networkd wired/wireless config |
|
|
||||||
| `polkit` | Polkit rules for desktop users |
|
|
||||||
| `sops-nix` | Secrets decryption at boot |
|
|
||||||
|
|
||||||
## Home-Manager Modules
|
|
||||||
|
|
||||||
### Shell & Terminal
|
|
||||||
`fish` `terminal` `kitty` `tmux` `paths`
|
|
||||||
|
|
||||||
### Editors
|
|
||||||
`neovim` `vscode` `zed`
|
|
||||||
|
|
||||||
### Desktop / WM
|
|
||||||
`niri` `waybar` `rofi` `color` `fcitx`
|
|
||||||
|
|
||||||
### Media
|
|
||||||
`mpd` `rmpc` `cava` `beets` `jellyfin-tui`
|
|
||||||
|
|
||||||
### Browsers
|
|
||||||
`firefox` `qutebrowser`
|
|
||||||
|
|
||||||
### Tools
|
|
||||||
`git` `ssh` `bat` `btop` `fastfetch` `lazygit` `yazi` `zathura`
|
|
||||||
|
|
||||||
## Services
|
|
||||||
|
|
||||||
All server services run as OCI containers (podman). Each service is defined in `system/services/<name>.nix`.
|
|
||||||
|
|
||||||
| Service | Purpose |
|
|
||||||
|---------|---------|
|
|
||||||
| `adguard` | DNS ad blocking |
|
|
||||||
| `authelia` | SSO |
|
|
||||||
| `fileflows` | Media processing |
|
|
||||||
| `gitea` | Git server |
|
|
||||||
| `immich` | Photo cloud |
|
|
||||||
| `jellyfin` | Streaming server |
|
|
||||||
| `kiwix` | Offline mirrors |
|
|
||||||
| `kopia` | Docker volume backup |
|
|
||||||
| `nextcloud` | File sync |
|
|
||||||
| `nginx-proxy-manager` | Reverse proxy with Let's Encrypt |
|
|
||||||
| `ntfy` | Push notification server |
|
|
||||||
| `paperless` | Document management |
|
|
||||||
| `portainer` | Container status monitor |
|
|
||||||
| `teamspeak` | Voice chat server |
|
|
||||||
| `tinymediamanager` | Media metadata management |
|
|
||||||
|
|
||||||
## Overlays
|
|
||||||
|
|
||||||
Package modifications live in `overlays/default.nix`.
|
|
||||||
|
|
||||||
## Secrets
|
|
||||||
|
|
||||||
Secrets are managed with sops-nix. Public age keys are stored in `flake.nix` under `publicKeys`. Encrypted `.yaml`/`.json` files are referenced via `sops.secrets.<name>`. Decryption happens at activation time.
|
|
||||||
|
|
||||||
## Shared Helpers (`lib/`)
|
|
||||||
|
|
||||||
| File | Purpose |
|
|
||||||
|------|---------|
|
|
||||||
| `nixos.nix` | Host config builders (NixOS + darwin) |
|
|
||||||
| `modules.nix` | Option helpers |
|
|
||||||
| `networking.nix` | systemd-networkd config generators |
|
|
||||||
| `generators.nix` | Lua code generation |
|
|
||||||
| `containers.nix` | OCI container helpers for services |
|
|
||||||
| `color.nix` | Color utilities |
|
|
||||||
| `rofi.nix` | Rofi menu helpers |
|
|
||||||
|
|
||||||
Available to all modules as `mylib` (injected via special args).
|
|
||||||
|
|||||||
@ -34,12 +34,12 @@
|
|||||||
in
|
in
|
||||||
pythonPkgs.buildPythonApplication rec {
|
pythonPkgs.buildPythonApplication rec {
|
||||||
pname = "tiddl";
|
pname = "tiddl";
|
||||||
version = "3.4.3";
|
version = "3.2.0";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
src = pythonPkgs.fetchPypi {
|
src = pythonPkgs.fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "sha256-45KHNS1IP59DsH8i2uQ7sua6T21vW/Yw1PQg55jzLGs=";
|
sha256 = "sha256-uLkGyIScYPqFgQdPAOYJDJG0jp+nDAwIl2kFkaJZFco=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontCheckRuntimeDeps = true;
|
dontCheckRuntimeDeps = true;
|
||||||
|
|||||||
243
flake.lock
generated
243
flake.lock
generated
@ -60,11 +60,11 @@
|
|||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781164160,
|
"lastModified": 1775706155,
|
||||||
"narHash": "sha256-dxo3aPnfaQJt9K/3NhgKfu2Q9B42z4d4Or9Izoug+68=",
|
"narHash": "sha256-h7Rw0vlb0n0Jsk21WJPm7H+1T1bG+PEuxE5cJ2TZl8A=",
|
||||||
"owner": "abenz1267",
|
"owner": "abenz1267",
|
||||||
"repo": "elephant",
|
"repo": "elephant",
|
||||||
"rev": "3296842820d04d5ec774afc7528492fcbb3c01f2",
|
"rev": "376ee71c66db38683daabd57350bf3f6f086eaf8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -170,11 +170,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778716662,
|
"lastModified": 1775087534,
|
||||||
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -263,15 +263,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hardware": {
|
"hardware": {
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": "nixpkgs_3"
|
|
||||||
},
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781168557,
|
"lastModified": 1776983936,
|
||||||
"narHash": "sha256-LOnLQ2tpYF9gqIDDr3+j3DbpJJr/QCH6zPRT2GzEUOE=",
|
"narHash": "sha256-ZOQyNqSvJ8UdrrqU1p7vaFcdL53idK+LOM8oRWEWh6o=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "6358ff76821101c178e3ab4919a62799bfe3652e",
|
"rev": "2096f3f411ce46e88a79ae4eafcfc9df8ed41c61",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -287,11 +284,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781305496,
|
"lastModified": 1777594677,
|
||||||
"narHash": "sha256-g8Vv4Qfc7n+lgov97REu3X6BeJtvYY0hlSUZR1GrGQQ=",
|
"narHash": "sha256-h90sHwoRJLRvaTpZroTvU2JRHDFj0czUafM8eqLe1RI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "c87a39aa979acc4848016d2220c6238390d84779",
|
"rev": "899c08a15beae5da51a5cecd6b2b994777a948da",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -323,14 +320,14 @@
|
|||||||
},
|
},
|
||||||
"hytale-launcher": {
|
"hytale-launcher": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_4"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781228795,
|
"lastModified": 1777394001,
|
||||||
"narHash": "sha256-OSofuO5j7FLg2R7c9YQdK5epMqkQLucExcDNF7dqCMo=",
|
"narHash": "sha256-FNHydw2We/qvxBJ2cMNc/eGcxSZkvOXZn2WYGiH6WfE=",
|
||||||
"owner": "JPyke3",
|
"owner": "JPyke3",
|
||||||
"repo": "hytale-launcher-nix",
|
"repo": "hytale-launcher-nix",
|
||||||
"rev": "efe21e31eb63d6db1a104c14bbb437ae5d03f73b",
|
"rev": "822e54c97348a6fbc28dfac563e5bbe9fe1783b8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -342,7 +339,7 @@
|
|||||||
"impermanence": {
|
"impermanence": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": "nixpkgs_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769548169,
|
"lastModified": 1769548169,
|
||||||
@ -408,7 +405,7 @@
|
|||||||
"naersk": {
|
"naersk": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"fenix": "fenix",
|
"fenix": "fenix",
|
||||||
"nixpkgs": "nixpkgs_9"
|
"nixpkgs": "nixpkgs_7"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763384566,
|
"lastModified": 1763384566,
|
||||||
@ -436,11 +433,11 @@
|
|||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781234038,
|
"lastModified": 1777542749,
|
||||||
"narHash": "sha256-jo4a47qDgsx1F1i0MtHZl12FfzqKJOES25vbm0ZUxeI=",
|
"narHash": "sha256-j4W+WwdiRxTTFdsoB8A7jlLNLbMQANKJxh9eKf8nOIs=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "eb5789cba8d37802d330df5a13c691622c83121f",
|
"rev": "36130bc452e0a84c07761d2e176ae875b48eebf3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -469,11 +466,11 @@
|
|||||||
"niri-unstable": {
|
"niri-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780938415,
|
"lastModified": 1777468255,
|
||||||
"narHash": "sha256-QHyIMGSbCQW8d5qbOrMsm6gem10bO3Au2YLa3alJfHo=",
|
"narHash": "sha256-lBZc1UMy+1P1T/E41j3jQrpS7EFI3qegd+ktHZdamIg=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "6f1a2c5f0e8274223d4204b1f8d6f7f91538967e",
|
"rev": "dd1c3bcb9f1ef416df33ffa22d1d9bcee1398e7d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -486,14 +483,14 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nixpkgs": "nixpkgs_6"
|
"nixpkgs": "nixpkgs_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778849865,
|
"lastModified": 1776242217,
|
||||||
"narHash": "sha256-HiVhuhD7Fvfje3iw4slmtcCckz/LbjLITa4g/iTEbw0=",
|
"narHash": "sha256-TRts0fKUPFcf1i6rZHFGUDTfti/x3oKEg/CqsPRpSgs=",
|
||||||
"owner": "thiagokokada",
|
"owner": "thiagokokada",
|
||||||
"repo": "nix-alien",
|
"repo": "nix-alien",
|
||||||
"rev": "1bb49f5aea63e95a3cf9c4b91f9f1331fef7a52b",
|
"rev": "4c5e52dda0d6ab3de814e364046769321d3e1021",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -509,11 +506,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781242433,
|
"lastModified": 1775037210,
|
||||||
"narHash": "sha256-bchLZZ3sRn740zyvD2icZSnNoTaanN0nw7l6fjVXO+E=",
|
"narHash": "sha256-KM2WYj6EA7M/FVZVCl3rqWY+TFV5QzSyyGE2gQxeODU=",
|
||||||
"owner": "nix-darwin",
|
"owner": "nix-darwin",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "aabb2037edfc0f210723b72cd5f528aab5dd3f0b",
|
"rev": "06648f4902343228ce2de79f291dd5a58ee12146",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -547,11 +544,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778393439,
|
"lastModified": 1775970782,
|
||||||
"narHash": "sha256-mOtQxUjtKaPHLeoLOY/YEDctmud1X9KwJr4kE1MJ3Wc=",
|
"narHash": "sha256-7jt9Vpm48Yy5yAWigYpde+HxtYEpEuyzIQJF4VYehhk=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "01466c414c7357ae2ce32be4a272a7c69e94ab5f",
|
"rev": "bedba5989b04614fc598af9633033b95a937933f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -578,11 +575,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780952837,
|
"lastModified": 1777428379,
|
||||||
"narHash": "sha256-Fwd1+spDtQ0hDyBwme6ufG3n4mY0UrjjFdYHv+G/Hds=",
|
"narHash": "sha256-ypxFOeDz+CqADEQNL72haqGjvZQdBR5Vc7pyx2JDttI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "e820eb4a444b46a19b2e03e8dfd2359439ff30fe",
|
"rev": "755f5aa91337890c432639c60b6064bb7fe67769",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -594,11 +591,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable_2": {
|
"nixpkgs-stable_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780952837,
|
"lastModified": 1777428379,
|
||||||
"narHash": "sha256-Fwd1+spDtQ0hDyBwme6ufG3n4mY0UrjjFdYHv+G/Hds=",
|
"narHash": "sha256-ypxFOeDz+CqADEQNL72haqGjvZQdBR5Vc7pyx2JDttI=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "e820eb4a444b46a19b2e03e8dfd2359439ff30fe",
|
"rev": "755f5aa91337890c432639c60b6064bb7fe67769",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -608,22 +605,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_10": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1775710090,
|
|
||||||
"narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "4c1018dae018162ec878d42fec712642d214fdfa",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764242076,
|
"lastModified": 1764242076,
|
||||||
@ -642,24 +623,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767892417,
|
"lastModified": 1777268161,
|
||||||
"narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
|
"narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=",
|
||||||
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_4": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1781074563,
|
|
||||||
"narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=",
|
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca",
|
"rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -669,7 +637,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768564909,
|
"lastModified": 1768564909,
|
||||||
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
|
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
|
||||||
@ -685,13 +653,13 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778443072,
|
"lastModified": 1775710090,
|
||||||
"narHash": "sha256-zi7/fsqM/kFdNuED//4WOCUtezGtKKqRNORjMvfwjnA=",
|
"narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "da5ad661ba4e5ef59ba743f0d112cbc30e474f32",
|
"rev": "4c1018dae018162ec878d42fec712642d214fdfa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -701,39 +669,23 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs_6": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1777268161,
|
||||||
|
"narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs_7": {
|
"nixpkgs_7": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1781074563,
|
|
||||||
"narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_8": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1780336545,
|
|
||||||
"narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "4df1b885d76a54e1aa1a318f8d16fd6005b6401f",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_9": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752077645,
|
"lastModified": 1752077645,
|
||||||
"narHash": "sha256-HM791ZQtXV93xtCY+ZxG1REzhQenSQO020cu6rHtAPk=",
|
"narHash": "sha256-HM791ZQtXV93xtCY+ZxG1REzhQenSQO020cu6rHtAPk=",
|
||||||
@ -749,18 +701,36 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs_8": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1775710090,
|
||||||
|
"narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "4c1018dae018162ec878d42fec712642d214fdfa",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixvim": {
|
"nixvim": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": "flake-parts_2",
|
||||||
"nixpkgs": "nixpkgs_8",
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
"systems": "systems_3"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781287460,
|
"lastModified": 1777236345,
|
||||||
"narHash": "sha256-9hXtN4my7eBqHRVQ/t6FQZ4YqZ1KG6SsKSG4Hdtr+i0=",
|
"narHash": "sha256-ALOqlq7bE30lsX4rA76hXeQ2aLLEpb44hS+D1+jWS88=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "f2029d9a26266eb67f46b0c79bd0a3713839a57a",
|
"rev": "a67d9cd6ff725a763afe88727aac73208ded3bf4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -800,11 +770,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781349989,
|
"lastModified": 1777624369,
|
||||||
"narHash": "sha256-PTgbtYdDqSzfANBCI8g0iA5DdMGr5imJuWUH1w0RmWY=",
|
"narHash": "sha256-nQOSodcDhXiKlfCKb4pE/4GBAs2FnBOD+AHVem0EqOc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "6b2f93e70e526d09559f73dfc3760d489a5504bf",
|
"rev": "c3ec6b994c235a53a28304564da6422a45230603",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -854,7 +824,7 @@
|
|||||||
"nix-alien": "nix-alien",
|
"nix-alien": "nix-alien",
|
||||||
"nix-darwin": "nix-darwin",
|
"nix-darwin": "nix-darwin",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
"nixpkgs": "nixpkgs_7",
|
"nixpkgs": "nixpkgs_6",
|
||||||
"nixpkgs-stable": "nixpkgs-stable_2",
|
"nixpkgs-stable": "nixpkgs-stable_2",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
"nps": "nps",
|
"nps": "nps",
|
||||||
@ -909,11 +879,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780547341,
|
"lastModified": 1777338324,
|
||||||
"narHash": "sha256-Gq8KNx5A7hBB3uGJaj6eQfLDIz5YdLu92gqBcvHvoUo=",
|
"narHash": "sha256-bc+ZZCmOTNq86/svGnw0tVpH7vJaLYvGLLKFYP08Q8E=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "9ed65852b6257fbeae4355bc24ecfea307ca759a",
|
"rev": "8eaee5c45428b28b8c47a83e4c09dccec5f279b5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -954,16 +924,15 @@
|
|||||||
},
|
},
|
||||||
"systems_3": {
|
"systems_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1774449309,
|
"lastModified": 1681028828,
|
||||||
"narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=",
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default",
|
"repo": "default",
|
||||||
"rev": "c29398b59d2048c4ab79345812849c9bd15e9150",
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"ref": "future-26.11",
|
|
||||||
"repo": "default",
|
"repo": "default",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@ -1005,11 +974,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780405768,
|
"lastModified": 1777451299,
|
||||||
"narHash": "sha256-WhPHaupeq5yWP53anFH6vr/ZMQQtAYGtpgUhzqWx9Ws=",
|
"narHash": "sha256-Okqpw+zxAwHKXuuxlwYy9Ge9JUpnTbsMXqws2eOKfKo=",
|
||||||
"owner": "adriankarlen",
|
"owner": "adriankarlen",
|
||||||
"repo": "textfox",
|
"repo": "textfox",
|
||||||
"rev": "d6895da75f10fa17f1b637759aec3d84818b20e2",
|
"rev": "3af57df1ed3a38eb584475fd9e032d9643f2a94d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -1023,15 +992,15 @@
|
|||||||
"elephant": [
|
"elephant": [
|
||||||
"elephant"
|
"elephant"
|
||||||
],
|
],
|
||||||
"nixpkgs": "nixpkgs_10",
|
"nixpkgs": "nixpkgs_8",
|
||||||
"systems": "systems_5"
|
"systems": "systems_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781164128,
|
"lastModified": 1777299395,
|
||||||
"narHash": "sha256-xPcYrHdDXWykIi5/XXkLvliBArRnfzvs+atB9El1qhI=",
|
"narHash": "sha256-ZoLkqwPVw8SdW+f9Raf15/ttyKqmC6vtKd5R+orNN/g=",
|
||||||
"owner": "abenz1267",
|
"owner": "abenz1267",
|
||||||
"repo": "walker",
|
"repo": "walker",
|
||||||
"rev": "aa1e4b7d59237e8c43dde58636bae476f23d9bfb",
|
"rev": "7b0cb0fd1f8b0a60b241081483aea4277f0b4500",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -1060,11 +1029,11 @@
|
|||||||
"xwayland-satellite-unstable": {
|
"xwayland-satellite-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781226823,
|
"lastModified": 1773622265,
|
||||||
"narHash": "sha256-28696iIw8uE0ZUyFTtzhEM8xMh85clCYypMxkvUi+sc=",
|
"narHash": "sha256-wToKwH7IgWdGLMSIWksEDs4eumR6UbbsuPQ42r0oTXQ=",
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "8575d0ef55d70f9b4c46b6bffb3accf912217e1e",
|
"rev": "a879e5e0896a326adc79c474bf457b8b99011027",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@ -64,7 +64,7 @@
|
|||||||
|
|
||||||
# NeoVim <3
|
# NeoVim <3
|
||||||
nixvim.url = "github:nix-community/nixvim";
|
nixvim.url = "github:nix-community/nixvim";
|
||||||
# nixvim.inputs.nixpkgs.follows = "nixpkgs";
|
nixvim.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
# Emacs nightly
|
# Emacs nightly
|
||||||
# emacs-overlay.url = "github:nix-community/emacs-overlay";
|
# emacs-overlay.url = "github:nix-community/emacs-overlay";
|
||||||
|
|||||||
@ -3,7 +3,6 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
nixosConfig,
|
nixosConfig,
|
||||||
config,
|
config,
|
||||||
hostname,
|
|
||||||
lib,
|
lib,
|
||||||
mylib,
|
mylib,
|
||||||
username,
|
username,
|
||||||
@ -19,212 +18,6 @@
|
|||||||
fcitx.enable = true;
|
fcitx.enable = true;
|
||||||
|
|
||||||
waybar.monitors = ["DP-1" "DP-2"];
|
waybar.monitors = ["DP-1" "DP-2"];
|
||||||
vscode.enable = true;
|
|
||||||
zed.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
claude-code = {
|
|
||||||
enable = true;
|
|
||||||
enableMcpIntegration = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
mcp = {
|
|
||||||
enable = true;
|
|
||||||
servers = {
|
|
||||||
nixos = {
|
|
||||||
command = "uvx";
|
|
||||||
args = ["mcp-nixos"];
|
|
||||||
};
|
|
||||||
svelte = {
|
|
||||||
# claude mcp add -t stdio -s [scope] svelte -- npx -y @sveltejs/mcp
|
|
||||||
command = "npx";
|
|
||||||
args = ["-y" "@sveltejs/mcp"];
|
|
||||||
type = "stdio";
|
|
||||||
};
|
|
||||||
shadcn = {
|
|
||||||
# npx shadcn@latest mcp init --client claude
|
|
||||||
command = "npx";
|
|
||||||
args = ["-y" "shadcn@latest" "mcp"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
opencode = {
|
|
||||||
enable = true;
|
|
||||||
enableMcpIntegration = true;
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
# opencode-claude-auth # Installed using npm
|
|
||||||
];
|
|
||||||
|
|
||||||
# Writes opencode.json
|
|
||||||
settings = {
|
|
||||||
attachment = {
|
|
||||||
image = {
|
|
||||||
auto_resize = true;
|
|
||||||
max_width = 2000;
|
|
||||||
max_height = 2000;
|
|
||||||
max_base64_bytes = 5242880;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
autoupdate = false;
|
|
||||||
compaction = {
|
|
||||||
auto = true;
|
|
||||||
prune = true;
|
|
||||||
reserved = 10000;
|
|
||||||
};
|
|
||||||
default_agent = "plan";
|
|
||||||
enabled_providers = [
|
|
||||||
"opencode"
|
|
||||||
"opencode-go"
|
|
||||||
"anthropic"
|
|
||||||
];
|
|
||||||
formatter = {
|
|
||||||
nixfmt = {
|
|
||||||
disabled = true;
|
|
||||||
};
|
|
||||||
alejandra = {
|
|
||||||
command = ["alejandra" "$FILE"];
|
|
||||||
extensions = [".nix"];
|
|
||||||
};
|
|
||||||
perltidy = {
|
|
||||||
command = ["perltidy" "$FILE"];
|
|
||||||
extensions = [".pl"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
lsp = {
|
|
||||||
nixd = {
|
|
||||||
command = ["nixd"];
|
|
||||||
extensions = [".nix"];
|
|
||||||
initialization = {
|
|
||||||
preferences = {
|
|
||||||
nixd = {
|
|
||||||
nixpkgs = {expr = "import <nixpkgs> {}";};
|
|
||||||
options = {
|
|
||||||
nixos = {expr = "(builtins.getFlake \"/home/${username}/NixFlake\").nixosConfigurations.${hostname}.options";};
|
|
||||||
home-manager = {expr = "(builtins.getFlake \"/home/${username}/NixFlake\").nixosConfigurations.\"${hostname}\".options.home-manager.users.type.getSubOptions []";};
|
|
||||||
};
|
|
||||||
diagnostic = {
|
|
||||||
suppress = ["sema-escaping-with" "var-bind-to-this" "escaping-this-with"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
perlnavigator = {
|
|
||||||
command = ["perlnavigator"];
|
|
||||||
extensions = [".pl"];
|
|
||||||
initialization = {
|
|
||||||
preferences = {};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
# perlpls = {
|
|
||||||
# command = ["pls"];
|
|
||||||
# extensions = [".pl"];
|
|
||||||
# initialization = {
|
|
||||||
# preferences = {
|
|
||||||
# perl = {
|
|
||||||
# perlcritic = {enabled = false;};
|
|
||||||
# syntax = {enabled = true;};
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
r-language-server = {
|
|
||||||
command = ["R" "--no-echo" "-e" "languageserver::run()"];
|
|
||||||
extensions = [".r" ".rmd" ".quarto"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
permission = {
|
|
||||||
"*" = "ask";
|
|
||||||
"bash" = {
|
|
||||||
"*" = "ask";
|
|
||||||
"ls *" = "allow";
|
|
||||||
"find *" = "ask"; # Don't want find -exec
|
|
||||||
"file *" = "allow";
|
|
||||||
"wc *" = "allow";
|
|
||||||
"grep *" = "allow";
|
|
||||||
"rg *" = "allow";
|
|
||||||
"test *" = "allow";
|
|
||||||
"echo *" = "allow";
|
|
||||||
"which *" = "allow";
|
|
||||||
"pwd *" = "allow";
|
|
||||||
"dirname *" = "allow";
|
|
||||||
"basename *" = "allow";
|
|
||||||
"readlink *" = "allow";
|
|
||||||
|
|
||||||
"cat *.env" = "deny";
|
|
||||||
"cat *.env.*" = "deny";
|
|
||||||
"cat *.env.example" = "allow";
|
|
||||||
"printenv *" = "deny";
|
|
||||||
"env *" = "deny";
|
|
||||||
|
|
||||||
"nix eval *" = "allow";
|
|
||||||
"nix flake metadata *" = "allow";
|
|
||||||
"nix flake show *" = "allow";
|
|
||||||
"nix path-info *" = "allow";
|
|
||||||
"nix why-depends *" = "allow";
|
|
||||||
"nix derivation show *" = "allow";
|
|
||||||
"nix store ping *" = "allow";
|
|
||||||
"nix stire diff-closures *" = "allow";
|
|
||||||
|
|
||||||
"git status *" = "allow";
|
|
||||||
"git log *" = "allow";
|
|
||||||
"git diff *" = "allow";
|
|
||||||
};
|
|
||||||
"external_directory" = {
|
|
||||||
"/nix/store/**" = "allow";
|
|
||||||
"/tmp" = "allow";
|
|
||||||
"/tmp/*" = "allow";
|
|
||||||
};
|
|
||||||
"read" = {
|
|
||||||
"*" = "allow";
|
|
||||||
"*.env" = "deny";
|
|
||||||
"*.env.*" = "deny";
|
|
||||||
"*.env.example" = "allow";
|
|
||||||
};
|
|
||||||
"grep" = "allow";
|
|
||||||
"glob" = "allow";
|
|
||||||
"lsp" = "allow";
|
|
||||||
"skill" = "allow";
|
|
||||||
"task" = "ask";
|
|
||||||
"todowrite" = "allow";
|
|
||||||
"webfetch" = "allow";
|
|
||||||
"websearch" = "allow";
|
|
||||||
"question" = "allow";
|
|
||||||
};
|
|
||||||
plugin = [
|
|
||||||
"opencode-claude-auth@latest" # https://github.com/griffinmartin/opencode-claude-auth
|
|
||||||
"@tarquinen/opencode-dcp@latest" # better compacting
|
|
||||||
# "@slkiser/opencode-quota"
|
|
||||||
];
|
|
||||||
share = "disabled";
|
|
||||||
shell = "fish";
|
|
||||||
snapshot = false;
|
|
||||||
watcher = {
|
|
||||||
ignore = ["node_modules/**" "dist/**" ".git/**"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Writes tui.json
|
|
||||||
tui = {
|
|
||||||
theme = "system";
|
|
||||||
diff_style = "auto";
|
|
||||||
mouse = true;
|
|
||||||
attention = {
|
|
||||||
enabled = true;
|
|
||||||
notifications = true;
|
|
||||||
sound = true;
|
|
||||||
volume = "0.3";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
agents = {};
|
|
||||||
commands = {};
|
|
||||||
context = '''';
|
|
||||||
skills = {};
|
|
||||||
tools = {};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
home = let
|
home = let
|
||||||
@ -282,9 +75,9 @@
|
|||||||
# jetbrains.idea-ultimate
|
# jetbrains.idea-ultimate
|
||||||
# jetbrains.webstorm
|
# jetbrains.webstorm
|
||||||
# jetbrains.rider
|
# jetbrains.rider
|
||||||
|
zed-editor
|
||||||
|
vscode
|
||||||
# ghidra # launch with _JAVA_AWT_WM_NONREPARENTING=1 (use programs.ghidra)
|
# ghidra # launch with _JAVA_AWT_WM_NONREPARENTING=1 (use programs.ghidra)
|
||||||
# zed-editor # Using module
|
|
||||||
# vscode # Using module
|
|
||||||
|
|
||||||
# Unity Stuff
|
# Unity Stuff
|
||||||
# unityhub
|
# unityhub
|
||||||
|
|||||||
156
home/homemodules/1_deprecated/vscode/default.nix
Normal file
156
home/homemodules/1_deprecated/vscode/default.nix
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
# TODO: Expose some settings
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
nixosConfig,
|
||||||
|
lib,
|
||||||
|
mylib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib;
|
||||||
|
with mylib.modules; let
|
||||||
|
cfg = config.homemodules.vscode;
|
||||||
|
in {
|
||||||
|
options.homemodules.vscode = import ./options.nix {inherit lib mylib;};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
programs.vscode = {
|
||||||
|
enable = true;
|
||||||
|
enableExtensionUpdateCheck = false;
|
||||||
|
enableUpdateCheck = false;
|
||||||
|
extensions = with pkgs.vscode-extensions; [
|
||||||
|
# alefragnani.bookmarks # TODO: Use inline bookmarks instead
|
||||||
|
# alefragnani.project-manager # NOTE: Not much sense with flake dev environments
|
||||||
|
catppuccin.catppuccin-vsc
|
||||||
|
catppuccin.catppuccin-vsc-icons
|
||||||
|
christian-kohler.path-intellisense
|
||||||
|
# codezombiech.gitignore # NOTE: Superfluous
|
||||||
|
# coolbear.systemd-unit-file # NOTE: Unnecessary on NixOS
|
||||||
|
eamodio.gitlens
|
||||||
|
# formulahendry.auto-rename-tag
|
||||||
|
# formulahendry.auto-close-tag
|
||||||
|
# gitlab.gitlab-workflow
|
||||||
|
# irongeek.vscode-env
|
||||||
|
# jnoortheen.nix-ide
|
||||||
|
# kamadorueda.alejandra
|
||||||
|
# kamikillerto.vscode-colorize
|
||||||
|
# llvm-vs-code-extensions.vscode-clangd
|
||||||
|
# matklad.rust-analyzer
|
||||||
|
mechatroner.rainbow-csv
|
||||||
|
# mikestead.dotenv
|
||||||
|
# mkhl.direnv
|
||||||
|
# ms-azuretools.vscode-docker
|
||||||
|
# ms-kubernetes-tools.vscode-kubernetes-tools
|
||||||
|
ms-python.python
|
||||||
|
ms-toolsai.jupyter
|
||||||
|
ms-vscode.cmake-tools
|
||||||
|
ms-vscode.cpptools
|
||||||
|
# ms-vscode.hexeditor
|
||||||
|
# ms-vscode.makefile-tools
|
||||||
|
ms-python.black-formatter
|
||||||
|
ms-python.vscode-pylance
|
||||||
|
ms-vscode-remote.remote-ssh
|
||||||
|
# naumovs.color-highlight
|
||||||
|
njpwerner.autodocstring
|
||||||
|
# james-yu.latex-workshop
|
||||||
|
# redhat.java
|
||||||
|
# redhat.vscode-xml
|
||||||
|
# redhat.vscode-yaml
|
||||||
|
ritwickdey.liveserver
|
||||||
|
# rubymaniac.vscode-paste-and-indent
|
||||||
|
ryu1kn.partial-diff
|
||||||
|
# serayuzgur.crates
|
||||||
|
shd101wyy.markdown-preview-enhanced
|
||||||
|
# skyapps.fish-vscode
|
||||||
|
# tamasfe.even-better-toml
|
||||||
|
# timonwong.shellcheck
|
||||||
|
# tomoki1207.pdf # Incompatible with latex workshop
|
||||||
|
# valentjn.vscode-ltex
|
||||||
|
vscodevim.vim
|
||||||
|
vscode-icons-team.vscode-icons
|
||||||
|
# yzhang.markdown-all-in-one
|
||||||
|
];
|
||||||
|
# haskell = {};
|
||||||
|
# keybindings = {};
|
||||||
|
|
||||||
|
userSettings = {
|
||||||
|
# VSCode Internals
|
||||||
|
"editor.fontFamily" = "JetBrainsMono Nerd Font Mono";
|
||||||
|
"editor.fontSize" = 16;
|
||||||
|
"editor.renderWhitespace" = "selection";
|
||||||
|
"editor.cursorStyle" = "line"; # Use line for vim plugin
|
||||||
|
"editor.lineNumbers" = "relative";
|
||||||
|
"editor.linkedEditing" = true;
|
||||||
|
"editor.smoothScrolling" = true;
|
||||||
|
"editor.stickyScroll.enabled" = true;
|
||||||
|
"editor.tabCompletion" = "on";
|
||||||
|
"editor.cursorSmoothCaretAnimation" = "on";
|
||||||
|
"editor.cursorSurroundingLines" = 10;
|
||||||
|
"editor.minimap.renderCharacters" = false;
|
||||||
|
"editor.bracketPairColorization.enabled" = true;
|
||||||
|
"editor.guides.bracketPairs" = "active";
|
||||||
|
"editor.guides.bracketPairsHorizontal" = "active";
|
||||||
|
"editor.guides.highlightActiveIndentation" = false;
|
||||||
|
|
||||||
|
"files.autoSave" = "onFocusChange";
|
||||||
|
"files.trimFinalNewlines" = true;
|
||||||
|
"files.trimTrailingWhitespace" = true; # NOTE: If this is enabled with frequent autosave, the current lines whitespace will always be removed, which is obnoxious
|
||||||
|
|
||||||
|
"window.restoreWindows" = "none";
|
||||||
|
|
||||||
|
"window.titleBarStyle" = "custom"; # NOTE: Should help with crashing on wayland
|
||||||
|
# "window.titleBarStyle" = "native";
|
||||||
|
# "window.menuBarVisibility" = "toggle";
|
||||||
|
|
||||||
|
"workbench.enableExperiments" = false;
|
||||||
|
"workbench.list.smoothScrolling" = true;
|
||||||
|
# "workbench.colorTheme" = "Default Light Modern";
|
||||||
|
# "workbench.iconTheme" = "vscode-icons";
|
||||||
|
"workbench.colorTheme" = "Catppuccin Latte";
|
||||||
|
"workbench.iconTheme" = "catppuccin-latte";
|
||||||
|
|
||||||
|
"remote.SSH.configFile" = "~/.ssh/custom-config";
|
||||||
|
|
||||||
|
"security.workspace.trust.enabled" = false;
|
||||||
|
|
||||||
|
# Language Tool
|
||||||
|
"ltex.checkFrequency" = "manual";
|
||||||
|
|
||||||
|
# LaTeX
|
||||||
|
"latex-workshop.latex.tools" = [
|
||||||
|
{
|
||||||
|
"name" = "latexmk";
|
||||||
|
"command" = "latexmk";
|
||||||
|
"args" = [
|
||||||
|
"-synctex=1"
|
||||||
|
"-shell-escape"
|
||||||
|
"-interaction=nonstopmode"
|
||||||
|
"-file-line-error"
|
||||||
|
"-pdf"
|
||||||
|
"-outdir=%OUTDIR%"
|
||||||
|
"%DOC%"
|
||||||
|
];
|
||||||
|
"env" = {};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
"latex-workshop.latexindent.args" = [
|
||||||
|
"-c"
|
||||||
|
"%DIR%/"
|
||||||
|
"%TMPFILE%"
|
||||||
|
"-m"
|
||||||
|
"-y=defaultIndent: '%INDENT%'"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Nix
|
||||||
|
"[nix]"."editor.tabSize" = 2;
|
||||||
|
"nix.enableLanguageServer" = true;
|
||||||
|
"nix.serverPath" = "nil";
|
||||||
|
"nix.formatterPath" = "alejandra";
|
||||||
|
|
||||||
|
# C++
|
||||||
|
# "C_Cpp.intelliSenseEngine" = "disabled"; # IntelliSense conflics with Clangd
|
||||||
|
};
|
||||||
|
# TODO: Snippets
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -57,7 +57,7 @@ in {
|
|||||||
|
|
||||||
fetchart = {
|
fetchart = {
|
||||||
auto = "yes";
|
auto = "yes";
|
||||||
sources = "*"; # sources are queried in this order
|
sources = "filesystem coverart itunes amazon albumart"; # sources are queried in this order
|
||||||
};
|
};
|
||||||
|
|
||||||
# lyrics = {
|
# lyrics = {
|
||||||
|
|||||||
@ -31,10 +31,8 @@
|
|||||||
./ssh
|
./ssh
|
||||||
./terminal
|
./terminal
|
||||||
./tmux
|
./tmux
|
||||||
./vscode
|
|
||||||
./yazi
|
./yazi
|
||||||
./zathura
|
./zathura
|
||||||
./zed
|
|
||||||
|
|
||||||
# HM modules imported from the flake inputs
|
# HM modules imported from the flake inputs
|
||||||
inputs.nix-flatpak.homeManagerModules.nix-flatpak
|
inputs.nix-flatpak.homeManagerModules.nix-flatpak
|
||||||
|
|||||||
@ -40,7 +40,7 @@ in {
|
|||||||
just-lsp
|
just-lsp
|
||||||
ltex-ls # TODO: Only enable on-demand
|
ltex-ls # TODO: Only enable on-demand
|
||||||
lua-language-server
|
lua-language-server
|
||||||
nil
|
# nil
|
||||||
# perl5Packages.PLS
|
# perl5Packages.PLS
|
||||||
perlnavigator
|
perlnavigator
|
||||||
pyrefly
|
pyrefly
|
||||||
@ -83,9 +83,6 @@ in {
|
|||||||
stylua
|
stylua
|
||||||
tombi
|
tombi
|
||||||
typstyle
|
typstyle
|
||||||
|
|
||||||
nodejs_latest
|
|
||||||
uv
|
|
||||||
])
|
])
|
||||||
|
|
||||||
[
|
[
|
||||||
@ -100,7 +97,6 @@ in {
|
|||||||
(perl.withPackages (p:
|
(perl.withPackages (p:
|
||||||
with p; [
|
with p; [
|
||||||
PLS
|
PLS
|
||||||
PerlCritic
|
|
||||||
PerlTidy
|
PerlTidy
|
||||||
NetOpenSSH
|
NetOpenSSH
|
||||||
DateTime
|
DateTime
|
||||||
@ -135,9 +131,6 @@ in {
|
|||||||
readr
|
readr
|
||||||
tibble
|
tibble
|
||||||
svglite
|
svglite
|
||||||
dplyr
|
|
||||||
tidyr
|
|
||||||
scales
|
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -148,8 +141,6 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
# nixpkgs.pkgs = pkgs;
|
|
||||||
|
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
enable = true;
|
enable = true;
|
||||||
enableMan = false; # Nixvim man pages
|
enableMan = false; # Nixvim man pages
|
||||||
@ -172,7 +163,7 @@ in {
|
|||||||
performance.byteCompileLua = {
|
performance.byteCompileLua = {
|
||||||
enable = true;
|
enable = true;
|
||||||
configs = true;
|
configs = true;
|
||||||
initLua = true; # When debugging init.lua turn this off
|
initLua = false; # When debugging init.lua turn this off
|
||||||
nvimRuntime = true;
|
nvimRuntime = true;
|
||||||
plugins = true;
|
plugins = true;
|
||||||
};
|
};
|
||||||
@ -308,15 +299,6 @@ in {
|
|||||||
require("${name}").setup(opts)
|
require("${name}").setup(opts)
|
||||||
end
|
end
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Like mkDefaultConfig but takes the Lua module name explicitly.
|
|
||||||
# Use when the Lua module name (e.g. "noice") differs from what
|
|
||||||
# lazy.nvim expects as the plugin name (e.g. "noice.nvim").
|
|
||||||
mkDefaultConfigFor = moduleName: ''
|
|
||||||
function(_, opts)
|
|
||||||
require("${moduleName}").setup(opts)
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
in {
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
@ -1121,7 +1103,6 @@ in {
|
|||||||
pkg = pkgs.vimPlugins.lualine-nvim;
|
pkg = pkgs.vimPlugins.lualine-nvim;
|
||||||
lazy = true;
|
lazy = true;
|
||||||
event = ["BufReadPost" "BufNewFile"];
|
event = ["BufReadPost" "BufNewFile"];
|
||||||
# dependencies = [opencode];
|
|
||||||
config = ''
|
config = ''
|
||||||
function(_, opts)
|
function(_, opts)
|
||||||
local lualine = require("lualine")
|
local lualine = require("lualine")
|
||||||
@ -1221,7 +1202,6 @@ in {
|
|||||||
lualine_c.__raw = ''{}''; # Use __raw: Nixvim does nothing with "[]", so the default config would be used
|
lualine_c.__raw = ''{}''; # Use __raw: Nixvim does nothing with "[]", so the default config would be used
|
||||||
|
|
||||||
lualine_x.__raw = ''{}'';
|
lualine_x.__raw = ''{}'';
|
||||||
# lualine_x.__raw = ''{ { require("opencode").statusline, }, }'';
|
|
||||||
lualine_y = ["filetype" "encoding" "fileformat"];
|
lualine_y = ["filetype" "encoding" "fileformat"];
|
||||||
lualine_z.__raw = ''{ { "location", separator = {}, } }'';
|
lualine_z.__raw = ''{ { "location", separator = {}, } }'';
|
||||||
};
|
};
|
||||||
@ -1387,19 +1367,19 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
_nui = {
|
_nui = {
|
||||||
name = "nui.nvim";
|
name = "nui"; # For noice
|
||||||
pkg = pkgs.vimPlugins.nui-nvim;
|
pkg = pkgs.vimPlugins.nui-nvim;
|
||||||
lazy = true;
|
lazy = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
noice = rec {
|
noice = rec {
|
||||||
name = "noice.nvim";
|
name = "noice";
|
||||||
pkg = pkgs.vimPlugins.noice-nvim;
|
pkg = pkgs.vimPlugins.noice-nvim;
|
||||||
lazy = false;
|
lazy = false;
|
||||||
dependencies = [
|
dependencies = [
|
||||||
_nui
|
_nui
|
||||||
];
|
];
|
||||||
config = mkDefaultConfigFor "noice";
|
config = mkDefaultConfig name;
|
||||||
opts = {
|
opts = {
|
||||||
presets = {
|
presets = {
|
||||||
bottom_search = false;
|
bottom_search = false;
|
||||||
@ -1461,32 +1441,6 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
opencode = {
|
|
||||||
name = "opencode";
|
|
||||||
pkg = pkgs.vimPlugins.opencode-nvim;
|
|
||||||
lazy = false;
|
|
||||||
config = ''
|
|
||||||
function()
|
|
||||||
vim.g.opencode_opts = {
|
|
||||||
server = {
|
|
||||||
url = "http://localhost:12345",
|
|
||||||
start = false,
|
|
||||||
},
|
|
||||||
events = {
|
|
||||||
permissions = {
|
|
||||||
edits = {
|
|
||||||
-- Disable neovim diff popup tab
|
|
||||||
enabled = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
vim.o.autoread = true -- Required for `vim.g.opencode_opts.events.reload`
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# obsidian = rec {
|
# obsidian = rec {
|
||||||
# name = "obsidian";
|
# name = "obsidian";
|
||||||
# pkg = pkgs.vimPlugins.obsidian-nvim;
|
# pkg = pkgs.vimPlugins.obsidian-nvim;
|
||||||
@ -1711,7 +1665,7 @@ in {
|
|||||||
gitbrowse.enabled = false;
|
gitbrowse.enabled = false;
|
||||||
image.enabled = false;
|
image.enabled = false;
|
||||||
indent.enabled = false;
|
indent.enabled = false;
|
||||||
input.enabled = true;
|
input.enabled = false;
|
||||||
keymap.enabled = false;
|
keymap.enabled = false;
|
||||||
layout.enabled = false;
|
layout.enabled = false;
|
||||||
lazygit.enabled = true;
|
lazygit.enabled = true;
|
||||||
@ -1747,20 +1701,6 @@ in {
|
|||||||
truncate = 80;
|
truncate = 80;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
actions = {
|
|
||||||
opencode_send.__raw = ''
|
|
||||||
function(picker)
|
|
||||||
local items = vim.tbl_map(function(item)
|
|
||||||
return item.file
|
|
||||||
and require("opencode").format({ path = item.file, from = item.pos, to = item.end_pos })
|
|
||||||
or item.text
|
|
||||||
end, picker:selected({ fallback = true }))
|
|
||||||
|
|
||||||
require("opencode").prompt(table.concat(items, ", ") .. " ")
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
profiler.enabled = false;
|
profiler.enabled = false;
|
||||||
@ -1831,7 +1771,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
_plenary = {
|
_plenary = {
|
||||||
name = "plenary.nvim";
|
name = "plenary";
|
||||||
pkg = pkgs.vimPlugins.plenary-nvim;
|
pkg = pkgs.vimPlugins.plenary-nvim;
|
||||||
lazy = true;
|
lazy = true;
|
||||||
};
|
};
|
||||||
@ -2250,12 +2190,12 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
yazi = rec {
|
yazi = rec {
|
||||||
name = "yazi.nvim";
|
name = "yazi";
|
||||||
pkg = pkgs.vimPlugins.yazi-nvim;
|
pkg = pkgs.vimPlugins.yazi-nvim;
|
||||||
lazy = true;
|
lazy = true;
|
||||||
event = ["VeryLazy"];
|
event = ["VeryLazy"];
|
||||||
dependencies = [_plenary];
|
dependencies = [_plenary];
|
||||||
config = mkDefaultConfigFor "yazi";
|
config = mkDefaultConfig name;
|
||||||
opts = {
|
opts = {
|
||||||
open_for_directories = true;
|
open_for_directories = true;
|
||||||
highlight_hovered_buffers_in_same_directory = false;
|
highlight_hovered_buffers_in_same_directory = false;
|
||||||
@ -2317,7 +2257,6 @@ in {
|
|||||||
noice # Modern UI overhaul, e.g. floating cmdline
|
noice # Modern UI overhaul, e.g. floating cmdline
|
||||||
# obsidian # Integration with Obsidian.md
|
# obsidian # Integration with Obsidian.md
|
||||||
|
|
||||||
opencode # TODO: Doesn't work, can't find "opencode --port" process
|
|
||||||
# overseer # Run tasks from within neovim (e.g. cargo) # TODO:
|
# overseer # Run tasks from within neovim (e.g. cargo) # TODO:
|
||||||
|
|
||||||
persisted # Session management
|
persisted # Session management
|
||||||
|
|||||||
@ -415,58 +415,6 @@ _: let
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
leader-opencode = [
|
|
||||||
{
|
|
||||||
mode = ["n" "v"];
|
|
||||||
key = "<leader>o";
|
|
||||||
action = "+opencode";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = ["n" "v"];
|
|
||||||
key = "<leader>oo";
|
|
||||||
action.__raw = ''function() require("opencode").ask("@this: ") end'';
|
|
||||||
options.desc = "Ask about @this";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = ["n" "v"];
|
|
||||||
key = "<leader>od";
|
|
||||||
action.__raw = ''function() require("opencode").prompt("Explain @diagnostics") end'';
|
|
||||||
options.desc = "Explain @diagnostics";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = ["n" "v"];
|
|
||||||
key = "<leader>oe";
|
|
||||||
action.__raw = ''function() require("opencode").prompt("Explain @this and its context") end'';
|
|
||||||
options.desc = "Explain @this";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = ["n" "v"];
|
|
||||||
key = "<leader>or";
|
|
||||||
action.__raw = ''function() require("opencode").prompt("Review @this for correctness and readability") end'';
|
|
||||||
options.desc = "Review @this";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = ["n" "v"];
|
|
||||||
key = "<leader>os";
|
|
||||||
action.__raw = ''function() require("opencode").select() end'';
|
|
||||||
options.desc = "Select Action";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<leader>oa";
|
|
||||||
action.__raw = ''function() return require("opencode").operator("@this ") .. "_" end'';
|
|
||||||
options.desc = "Append Line to Prompt";
|
|
||||||
options.expr = true;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = "v";
|
|
||||||
key = "<leader>oa";
|
|
||||||
action.__raw = ''function() return require("opencode").operator("@this ") end'';
|
|
||||||
options.desc = "Append Range to Prompt";
|
|
||||||
options.expr = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
leader-file = [
|
leader-file = [
|
||||||
{
|
{
|
||||||
mode = "n";
|
mode = "n";
|
||||||
@ -1057,7 +1005,6 @@ in
|
|||||||
no-leader
|
no-leader
|
||||||
|
|
||||||
leader
|
leader
|
||||||
leader-opencode
|
|
||||||
leader-file
|
leader-file
|
||||||
leader-help
|
leader-help
|
||||||
leader-quit
|
leader-quit
|
||||||
|
|||||||
@ -53,16 +53,8 @@ in {
|
|||||||
in
|
in
|
||||||
gtkConfig
|
gtkConfig
|
||||||
// {
|
// {
|
||||||
gtk3 =
|
gtk3 = gtkConfig // {extraConfig = gtkExtraConfig;};
|
||||||
gtkConfig
|
gtk4 = gtkConfig // {extraConfig = gtkExtraConfig;};
|
||||||
// {
|
|
||||||
extraConfig = gtkExtraConfig;
|
|
||||||
};
|
|
||||||
gtk4 =
|
|
||||||
gtkConfig
|
|
||||||
// {
|
|
||||||
extraConfig = gtkExtraConfig;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
dconf = {
|
dconf = {
|
||||||
@ -461,27 +453,10 @@ in {
|
|||||||
prefer-no-csd = true; # Disable client-side decorations (e.g. window titlebars)
|
prefer-no-csd = true; # Disable client-side decorations (e.g. window titlebars)
|
||||||
|
|
||||||
spawn-at-startup = [
|
spawn-at-startup = [
|
||||||
{
|
{argv = ["ashell" "-c" "${config.paths.dotfiles}/ashell/config.toml"];}
|
||||||
argv = [
|
{argv = ["waypaper" "--restore"];}
|
||||||
"ashell"
|
|
||||||
"-c"
|
|
||||||
"${config.paths.dotfiles}/ashell/config.toml"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
argv = [
|
|
||||||
"waypaper"
|
|
||||||
"--restore"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
{argv = ["kitty" "--hold" "fastfetch"];}
|
||||||
argv = [
|
|
||||||
"kitty"
|
|
||||||
"--hold"
|
|
||||||
"fastfetch"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
{argv = ["fcitx5"];}
|
{argv = ["fcitx5"];}
|
||||||
# {argv = ["zeal"];}
|
# {argv = ["zeal"];}
|
||||||
# {argv = ["protonvpn-app"];}
|
# {argv = ["protonvpn-app"];}
|
||||||
@ -492,36 +467,16 @@ in {
|
|||||||
];
|
];
|
||||||
|
|
||||||
workspaces = {
|
workspaces = {
|
||||||
"1" = {
|
"1" = {open-on-output = "DP-1";};
|
||||||
open-on-output = "DP-1";
|
"2" = {open-on-output = "DP-1";};
|
||||||
};
|
"3" = {open-on-output = "DP-1";};
|
||||||
"2" = {
|
"4" = {open-on-output = "DP-1";};
|
||||||
open-on-output = "DP-1";
|
"5" = {open-on-output = "DP-1";};
|
||||||
};
|
"6" = {open-on-output = "DP-1";};
|
||||||
"3" = {
|
"7" = {open-on-output = "DP-1";};
|
||||||
open-on-output = "DP-1";
|
"8" = {open-on-output = "DP-1";};
|
||||||
};
|
"9" = {open-on-output = "DP-1";};
|
||||||
"4" = {
|
"10" = {open-on-output = "DP-2";};
|
||||||
open-on-output = "DP-1";
|
|
||||||
};
|
|
||||||
"5" = {
|
|
||||||
open-on-output = "DP-1";
|
|
||||||
};
|
|
||||||
"6" = {
|
|
||||||
open-on-output = "DP-1";
|
|
||||||
};
|
|
||||||
"7" = {
|
|
||||||
open-on-output = "DP-1";
|
|
||||||
};
|
|
||||||
"8" = {
|
|
||||||
open-on-output = "DP-1";
|
|
||||||
};
|
|
||||||
"9" = {
|
|
||||||
open-on-output = "DP-1";
|
|
||||||
};
|
|
||||||
"10" = {
|
|
||||||
open-on-output = "DP-2";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
@ -562,12 +517,8 @@ in {
|
|||||||
border = {
|
border = {
|
||||||
enable = true;
|
enable = true;
|
||||||
width = 2;
|
width = 2;
|
||||||
active = {
|
active = {color = color.hex.accent;};
|
||||||
color = color.hex.accent;
|
inactive = {color = color.hex.base;};
|
||||||
};
|
|
||||||
inactive = {
|
|
||||||
color = color.hex.base;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# This border is drawn OUTSIDE of the focused window
|
# This border is drawn OUTSIDE of the focused window
|
||||||
@ -578,9 +529,7 @@ in {
|
|||||||
# Hint where a dragged window will be inserted
|
# Hint where a dragged window will be inserted
|
||||||
insert-hint = {
|
insert-hint = {
|
||||||
enable = true;
|
enable = true;
|
||||||
display = {
|
display = {color = color.hex.accentDim;};
|
||||||
color = color.hex.accentDim;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
always-center-single-column = true;
|
always-center-single-column = true;
|
||||||
@ -603,9 +552,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
gestures = {
|
gestures = {
|
||||||
hot-corners = {
|
hot-corners = {enable = false;};
|
||||||
enable = false;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
window-rules = [
|
window-rules = [
|
||||||
@ -669,16 +616,16 @@ in {
|
|||||||
|
|
||||||
# Rules for specific windows
|
# Rules for specific windows
|
||||||
{
|
{
|
||||||
matches = [
|
matches = [{app-id = "neovide";}];
|
||||||
{app-id = "neovide";}
|
|
||||||
{app-id = "dev.zed.Zed";}
|
|
||||||
{app-id = "code";}
|
|
||||||
{app-id = "jetbrains-clion";}
|
|
||||||
];
|
|
||||||
open-on-workspace = "2";
|
open-on-workspace = "2";
|
||||||
open-maximized = true;
|
open-maximized = true;
|
||||||
open-focused = true;
|
open-focused = true;
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
matches = [{app-id = "jetbrains-clion";}];
|
||||||
|
open-on-workspace = "2";
|
||||||
|
open-maximized = true;
|
||||||
|
}
|
||||||
{
|
{
|
||||||
matches = [{app-id = "code-url-handler";}];
|
matches = [{app-id = "code-url-handler";}];
|
||||||
open-on-workspace = "2";
|
open-on-workspace = "2";
|
||||||
@ -756,14 +703,6 @@ in {
|
|||||||
draw-behind-window = true;
|
draw-behind-window = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
# TODO: Missing niri-flake update
|
|
||||||
# {
|
|
||||||
# matches = [{namespace = "walker";}];
|
|
||||||
#
|
|
||||||
# background-effect = {
|
|
||||||
# blur = true;
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
];
|
];
|
||||||
|
|
||||||
debug = {
|
debug = {
|
||||||
@ -846,101 +785,69 @@ in {
|
|||||||
# DMenu
|
# DMenu
|
||||||
"Mod+Shift+A" = {
|
"Mod+Shift+A" = {
|
||||||
action = spawn "walker" "-m" "providerlist";
|
action = spawn "walker" "-m" "providerlist";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Toggle the launcher.";};
|
||||||
title = "Toggle the launcher.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+A" = {
|
"Mod+A" = {
|
||||||
action = spawn "walker" "-m" "desktopapplications";
|
action = spawn "walker" "-m" "desktopapplications";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Toggle the application launcher.";};
|
||||||
title = "Toggle the application launcher.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+C" = {
|
"Mod+C" = {
|
||||||
action = spawn "walker" "-m" "clipboard";
|
action = spawn "walker" "-m" "clipboard";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Show clipboard history.";};
|
||||||
title = "Show clipboard history.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Escape" = {
|
"Mod+Escape" = {
|
||||||
action = spawn "${sessionMenu}/bin/rofi-menu-Session";
|
action = spawn "${sessionMenu}/bin/rofi-menu-Session";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Toggle the session menu.";};
|
||||||
title = "Toggle the session menu.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+W" = {
|
"Mod+W" = {
|
||||||
action = spawn "${wallpaperMenu}/bin/rofi-menu-Wallpaper";
|
action = spawn "${wallpaperMenu}/bin/rofi-menu-Wallpaper";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Open wallpaper menu.";};
|
||||||
title = "Open wallpaper menu.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+D" = {
|
"Mod+D" = {
|
||||||
action = spawn "${globalMenu}/bin/rofi-menu-Global";
|
action = spawn "${globalMenu}/bin/rofi-menu-Global";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Open global menu.";};
|
||||||
title = "Open global menu.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Applications
|
# Applications
|
||||||
"Mod+Ctrl+W" = {
|
"Mod+Ctrl+W" = {
|
||||||
action = spawn "waypaper";
|
action = spawn "waypaper";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Open waypaper.";};
|
||||||
title = "Open waypaper.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+W" = {
|
"Mod+Shift+W" = {
|
||||||
action = spawn "waypaper" "--random";
|
action = spawn "waypaper" "--random";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Select random wallpaper.";};
|
||||||
title = "Select random wallpaper.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+T" = {
|
"Mod+T" = {
|
||||||
action = spawn "kitty";
|
action = spawn "kitty";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Spawn Kitty.";};
|
||||||
title = "Spawn Kitty.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+E" = {
|
"Mod+E" = {
|
||||||
action = spawn "kitty" "--title=Yazi" "yazi";
|
action = spawn "kitty" "--title=Yazi" "yazi";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Spawn Yazi.";};
|
||||||
title = "Spawn Yazi.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+B" = {
|
"Mod+B" = {
|
||||||
action = spawn "kitty" "--title=Btop" "btop";
|
action = spawn "kitty" "--title=Btop" "btop";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Spawn Btop.";};
|
||||||
title = "Spawn Btop.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+R" = {
|
"Mod+R" = {
|
||||||
action = spawn "kitty" "--title=Rmpc" "rmpc";
|
action = spawn "kitty" "--title=Rmpc" "rmpc";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Spawn Rmpc.";};
|
||||||
title = "Spawn Rmpc.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+N" = {
|
"Mod+N" = {
|
||||||
action = spawn "neovide";
|
action = spawn "neovide";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Spawn Neovide.";};
|
||||||
title = "Spawn Neovide.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Ctrl+N" = {
|
"Mod+Ctrl+N" = {
|
||||||
action = spawn "kitty" "--title=Navi" "navi";
|
action = spawn "kitty" "--title=Navi" "navi";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Call Navi for help.";};
|
||||||
title = "Call Navi for help.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+N" = {
|
"Mod+Shift+N" = {
|
||||||
action = spawn "neovide" "${config.paths.dotfiles}/navi/christoph.cheat";
|
action = spawn "neovide" "${config.paths.dotfiles}/navi/christoph.cheat";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Edit the Navi cheats.";};
|
||||||
title = "Edit the Navi cheats.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+F" = {
|
"Mod+Shift+F" = {
|
||||||
action = spawn "neovide" "${config.paths.dotfiles}/flake.nix";
|
action = spawn "neovide" "${config.paths.dotfiles}/flake.nix";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Edit the NixFlake.";};
|
||||||
title = "Edit the NixFlake.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Screenshots
|
# Screenshots
|
||||||
@ -949,34 +856,24 @@ in {
|
|||||||
write-to-disk = true;
|
write-to-disk = true;
|
||||||
show-pointer = false;
|
show-pointer = false;
|
||||||
};
|
};
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Take a screenshot of the current window.";};
|
||||||
title = "Take a screenshot of the current window.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Ctrl+S" = {
|
"Mod+Ctrl+S" = {
|
||||||
action.screenshot-screen = {
|
action.screenshot-screen = {
|
||||||
write-to-disk = true;
|
write-to-disk = true;
|
||||||
show-pointer = false;
|
show-pointer = false;
|
||||||
};
|
};
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Take a screenshot of the current screen.";};
|
||||||
title = "Take a screenshot of the current screen.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+S" = {
|
"Mod+Shift+S" = {
|
||||||
action.screenshot = {
|
action.screenshot = {show-pointer = false;};
|
||||||
show-pointer = false;
|
hotkey-overlay = {title = "Take a screenshot of a region.";};
|
||||||
};
|
|
||||||
hotkey-overlay = {
|
|
||||||
title = "Take a screenshot of a region.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Niri
|
# Niri
|
||||||
"Mod+Shift+Slash" = {
|
"Mod+Shift+Slash" = {
|
||||||
action = show-hotkey-overlay;
|
action = show-hotkey-overlay;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
# "Alt+Tab" = {
|
# "Alt+Tab" = {
|
||||||
# action = "next-window";
|
# action = "next-window";
|
||||||
@ -990,283 +887,191 @@ in {
|
|||||||
# Audio
|
# Audio
|
||||||
"XF86AudioRaiseVolume" = {
|
"XF86AudioRaiseVolume" = {
|
||||||
action = spawn "wpctl" "set-volume" "-l" "1.5" "@DEFAULT_AUDIO_SINK@" "5%+";
|
action = spawn "wpctl" "set-volume" "-l" "1.5" "@DEFAULT_AUDIO_SINK@" "5%+";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"XF86AudioLowerVolume" = {
|
"XF86AudioLowerVolume" = {
|
||||||
action = spawn "wpctl" "set-volume" "-l" "1.5" "@DEFAULT_AUDIO_SINK@" "5%-";
|
action = spawn "wpctl" "set-volume" "-l" "1.5" "@DEFAULT_AUDIO_SINK@" "5%-";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"XF86AudioPlay" = {
|
"XF86AudioPlay" = {
|
||||||
action = spawn "playerctl" "play-pause";
|
action = spawn "playerctl" "play-pause";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"XF86AudioPrev" = {
|
"XF86AudioPrev" = {
|
||||||
action = spawn "playerctl" "previous";
|
action = spawn "playerctl" "previous";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"XF86AudioNext" = {
|
"XF86AudioNext" = {
|
||||||
action = spawn "playerctl" "next";
|
action = spawn "playerctl" "next";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Niri windows
|
# Niri windows
|
||||||
"Mod+Q" = {
|
"Mod+Q" = {
|
||||||
action = close-window;
|
action = close-window;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Close the current window.";};
|
||||||
title = "Close the current window.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+F" = {
|
"Mod+F" = {
|
||||||
action = fullscreen-window;
|
action = fullscreen-window;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Toggle between fullscreen and tiled window.";};
|
||||||
title = "Toggle between fullscreen and tiled window.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Equal" = {
|
"Mod+Equal" = {
|
||||||
action = set-column-width "+10%";
|
action = set-column-width "+10%";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Increase column width";};
|
||||||
title = "Increase column width";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Minus" = {
|
"Mod+Minus" = {
|
||||||
action = set-column-width "-10%";
|
action = set-column-width "-10%";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Decrease column width";};
|
||||||
title = "Decrease column width";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+M" = {
|
"Mod+Shift+M" = {
|
||||||
action = set-column-width "50%";
|
action = set-column-width "50%";
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Set column width to 50%";};
|
||||||
title = "Set column width to 50%";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+M" = {
|
"Mod+M" = {
|
||||||
action = maximize-column;
|
action = maximize-column;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Maximize column.";};
|
||||||
title = "Maximize column.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Comma" = {
|
"Mod+Comma" = {
|
||||||
action = reset-window-height;
|
action = reset-window-height;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Reset window height.";};
|
||||||
title = "Reset window height.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+V" = {
|
"Mod+V" = {
|
||||||
action = toggle-window-floating;
|
action = toggle-window-floating;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Toggle between floating and tiled window.";};
|
||||||
title = "Toggle between floating and tiled window.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+O" = {
|
"Mod+O" = {
|
||||||
action = toggle-overview;
|
action = toggle-overview;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Toggle overlay.";};
|
||||||
title = "Toggle overlay.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+H" = {
|
"Mod+H" = {
|
||||||
action = focus-column-or-monitor-left;
|
action = focus-column-or-monitor-left;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Focus column on the left. Equivalent bindings for other directions.";};
|
||||||
title = "Focus column on the left. Equivalent bindings for other directions.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+J" = {
|
"Mod+J" = {
|
||||||
action = focus-window-or-workspace-down;
|
action = focus-window-or-workspace-down;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+K" = {
|
"Mod+K" = {
|
||||||
action = focus-window-or-workspace-up;
|
action = focus-window-or-workspace-up;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+L" = {
|
"Mod+L" = {
|
||||||
action = focus-column-or-monitor-right;
|
action = focus-column-or-monitor-right;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+WheelScrollUp" = {
|
"Mod+WheelScrollUp" = {
|
||||||
action = focus-column-left;
|
action = focus-column-left;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Focus column on the left. Equivalent binding for other direction.";};
|
||||||
title = "Focus column on the left. Equivalent binding for other direction.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+WheelScrollDown" = {
|
"Mod+WheelScrollDown" = {
|
||||||
action = focus-column-right;
|
action = focus-column-right;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+WheelScrollUp" = {
|
"Mod+Shift+WheelScrollUp" = {
|
||||||
action = focus-workspace-up;
|
action = focus-workspace-up;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Focus previous workspace. Equivalent binding for other direction.";};
|
||||||
title = "Focus previous workspace. Equivalent binding for other direction.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+WheelScrollDown" = {
|
"Mod+Shift+WheelScrollDown" = {
|
||||||
action = focus-workspace-down;
|
action = focus-workspace-down;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+H" = {
|
"Mod+Shift+H" = {
|
||||||
action = move-column-left-or-to-monitor-left;
|
action = move-column-left-or-to-monitor-left;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Move column to the left. Equivalent bindings for other directions.";};
|
||||||
title = "Move column to the left. Equivalent bindings for other directions.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+J" = {
|
"Mod+Shift+J" = {
|
||||||
action = move-window-down-or-to-workspace-down;
|
action = move-window-down-or-to-workspace-down;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+K" = {
|
"Mod+Shift+K" = {
|
||||||
action = move-window-up-or-to-workspace-up;
|
action = move-window-up-or-to-workspace-up;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+L" = {
|
"Mod+Shift+L" = {
|
||||||
action = move-column-right-or-to-monitor-right;
|
action = move-column-right-or-to-monitor-right;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Niri workspaces
|
# Niri workspaces
|
||||||
"Mod+1" = {
|
"Mod+1" = {
|
||||||
action = focus-workspace 1;
|
action = focus-workspace 1;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Focus workspace 1. Equivalent bindings for other workspaces.";};
|
||||||
title = "Focus workspace 1. Equivalent bindings for other workspaces.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+2" = {
|
"Mod+2" = {
|
||||||
action = focus-workspace 2;
|
action = focus-workspace 2;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+3" = {
|
"Mod+3" = {
|
||||||
action = focus-workspace 3;
|
action = focus-workspace 3;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+4" = {
|
"Mod+4" = {
|
||||||
action = focus-workspace 4;
|
action = focus-workspace 4;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+5" = {
|
"Mod+5" = {
|
||||||
action = focus-workspace 5;
|
action = focus-workspace 5;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+6" = {
|
"Mod+6" = {
|
||||||
action = focus-workspace 6;
|
action = focus-workspace 6;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+7" = {
|
"Mod+7" = {
|
||||||
action = focus-workspace 7;
|
action = focus-workspace 7;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+8" = {
|
"Mod+8" = {
|
||||||
action = focus-workspace 8;
|
action = focus-workspace 8;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+9" = {
|
"Mod+9" = {
|
||||||
action = focus-workspace 9;
|
action = focus-workspace 9;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+0" = {
|
"Mod+0" = {
|
||||||
action = focus-workspace 10;
|
action = focus-workspace 10;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+1" = {
|
"Mod+Shift+1" = {
|
||||||
action.move-window-to-workspace = 1;
|
action.move-window-to-workspace = 1;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {title = "Move current window to workspace 1. Equivalent bindings for other workspaces.";};
|
||||||
title = "Move current window to workspace 1. Equivalent bindings for other workspaces.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+2" = {
|
"Mod+Shift+2" = {
|
||||||
action.move-window-to-workspace = 2;
|
action.move-window-to-workspace = 2;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+3" = {
|
"Mod+Shift+3" = {
|
||||||
action.move-window-to-workspace = 3;
|
action.move-window-to-workspace = 3;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+4" = {
|
"Mod+Shift+4" = {
|
||||||
action.move-window-to-workspace = 4;
|
action.move-window-to-workspace = 4;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+5" = {
|
"Mod+Shift+5" = {
|
||||||
action.move-window-to-workspace = 5;
|
action.move-window-to-workspace = 5;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+6" = {
|
"Mod+Shift+6" = {
|
||||||
action.move-window-to-workspace = 6;
|
action.move-window-to-workspace = 6;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+7" = {
|
"Mod+Shift+7" = {
|
||||||
action.move-window-to-workspace = 7;
|
action.move-window-to-workspace = 7;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+8" = {
|
"Mod+Shift+8" = {
|
||||||
action.move-window-to-workspace = 8;
|
action.move-window-to-workspace = 8;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+9" = {
|
"Mod+Shift+9" = {
|
||||||
action.move-window-to-workspace = 9;
|
action.move-window-to-workspace = 9;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
"Mod+Shift+0" = {
|
"Mod+Shift+0" = {
|
||||||
action.move-window-to-workspace = 10;
|
action.move-window-to-workspace = 10;
|
||||||
hotkey-overlay = {
|
hotkey-overlay = {hidden = true;};
|
||||||
hidden = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@ -160,8 +160,6 @@ in {
|
|||||||
czkawka-full # file deduplicator
|
czkawka-full # file deduplicator
|
||||||
binaryninja-free # reverse engineering
|
binaryninja-free # reverse engineering
|
||||||
tableplus # database explorer
|
tableplus # database explorer
|
||||||
# opencode-desktop
|
|
||||||
lmstudio # TODO: Ollama
|
|
||||||
|
|
||||||
# Office
|
# Office
|
||||||
kdePackages.wacomtablet # For xournalpp/krita
|
kdePackages.wacomtablet # For xournalpp/krita
|
||||||
|
|||||||
@ -15,44 +15,44 @@ in {
|
|||||||
enable = true;
|
enable = true;
|
||||||
enableDefaultConfig = false;
|
enableDefaultConfig = false;
|
||||||
|
|
||||||
settings = {
|
matchBlocks = {
|
||||||
"*" = {
|
"*" = {
|
||||||
ForwardAgent = false;
|
forwardAgent = false;
|
||||||
AddKeysToAgent =
|
addKeysToAgent =
|
||||||
if pkgs.stdenv.isLinux
|
if pkgs.stdenv.isLinux
|
||||||
then "no"
|
then "no"
|
||||||
else "yes"; # Don't have keychain on darwin
|
else "yes"; # Don't have keychain on darwin
|
||||||
Compression = true;
|
compression = true;
|
||||||
ServerAliveInterval = 0;
|
serverAliveInterval = 0;
|
||||||
ServerAliveCountMax = 3;
|
serverAliveCountMax = 3;
|
||||||
HashKnownHosts = false;
|
hashKnownHosts = false;
|
||||||
UserKnownHostsFile = "~/.ssh/known_hosts";
|
userKnownHostsFile = "~/.ssh/known_hosts";
|
||||||
ControlMaster = "no";
|
controlMaster = "no";
|
||||||
ControlPath = "~/.ssh/master-%r@%n:%p";
|
controlPath = "~/.ssh/master-%r@%n:%p";
|
||||||
ControlPersist = "no";
|
controlPersist = "no";
|
||||||
};
|
};
|
||||||
"nixinator" = {
|
"nixinator" = {
|
||||||
Port = 5432;
|
port = 5432;
|
||||||
User = "christoph";
|
user = "christoph";
|
||||||
HostName = "vps.chriphost.de";
|
hostname = "vps.chriphost.de";
|
||||||
};
|
};
|
||||||
"servenix" = {
|
"servenix" = {
|
||||||
User = "christoph";
|
user = "christoph";
|
||||||
HostName = "local.chriphost.de";
|
hostname = "local.chriphost.de";
|
||||||
};
|
};
|
||||||
"thinknix" = {
|
"thinknix" = {
|
||||||
User = "christoph";
|
user = "christoph";
|
||||||
HostName = "think.chriphost.de";
|
hostname = "think.chriphost.de";
|
||||||
};
|
};
|
||||||
"vps" = {
|
"vps" = {
|
||||||
User = "root";
|
user = "root";
|
||||||
HostName = "vps.chriphost.de";
|
hostname = "vps.chriphost.de";
|
||||||
};
|
};
|
||||||
"mars" = {
|
"mars" = {
|
||||||
User = "smchurla";
|
user = "smchurla";
|
||||||
HostName = "mars.cs.tu-dortmund.de";
|
hostname = "mars.cs.tu-dortmund.de";
|
||||||
ServerAliveInterval = 60;
|
serverAliveInterval = 60;
|
||||||
LocalForward = [
|
localForwards = [
|
||||||
{
|
{
|
||||||
# Resultbrowser
|
# Resultbrowser
|
||||||
bind.port = 22941;
|
bind.port = 22941;
|
||||||
|
|||||||
@ -1,89 +0,0 @@
|
|||||||
# TODO: Expose some settings
|
|
||||||
{
|
|
||||||
config,
|
|
||||||
nixosConfig,
|
|
||||||
lib,
|
|
||||||
mylib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib;
|
|
||||||
with mylib.modules; let
|
|
||||||
cfg = config.homemodules.vscode;
|
|
||||||
in {
|
|
||||||
options.homemodules.vscode = import ./options.nix {inherit lib mylib;};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
programs.vscode = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.vscode;
|
|
||||||
mutableExtensionsDir = false;
|
|
||||||
|
|
||||||
profiles.default = {
|
|
||||||
enableUpdateCheck = false;
|
|
||||||
enableExtensionUpdateCheck = false;
|
|
||||||
enableMcpIntegration = true;
|
|
||||||
|
|
||||||
extensions = with pkgs.vscode-extensions; [
|
|
||||||
# Theme
|
|
||||||
catppuccin.catppuccin-vsc
|
|
||||||
catppuccin.catppuccin-vsc-icons
|
|
||||||
vscode-icons-team.vscode-icons
|
|
||||||
|
|
||||||
# General
|
|
||||||
vscodevim.vim
|
|
||||||
christian-kohler.path-intellisense
|
|
||||||
ryu1kn.partial-diff
|
|
||||||
redhat.vscode-yaml
|
|
||||||
ms-vscode-remote.remote-ssh
|
|
||||||
ms-vscode-remote.remote-ssh-edit
|
|
||||||
ms-vscode.remote-explorer
|
|
||||||
anthropic.claude-code
|
|
||||||
|
|
||||||
# Python
|
|
||||||
ms-python.python
|
|
||||||
ms-python.vscode-pylance
|
|
||||||
ms-python.black-formatter
|
|
||||||
|
|
||||||
# C/C++
|
|
||||||
ms-vscode.cpptools
|
|
||||||
# llvm-vs-code-extensions.vscode-clangd
|
|
||||||
ms-vscode.cmake-tools
|
|
||||||
ms-vscode.makefile-tools
|
|
||||||
# llvm-org.lldb-vscode
|
|
||||||
vadimcn.vscode-lldb
|
|
||||||
# "13xforever".language-x86-64-assembly
|
|
||||||
|
|
||||||
# Latex
|
|
||||||
# james-yu.latex-workshop
|
|
||||||
# valentjn.vscode-ltex
|
|
||||||
];
|
|
||||||
|
|
||||||
keybindings = [];
|
|
||||||
globalSnippets = {};
|
|
||||||
languageSnippets = {};
|
|
||||||
userMcp = {};
|
|
||||||
|
|
||||||
userSettings = {
|
|
||||||
"editor.fontFamily" = config.homemodules.color.font;
|
|
||||||
"editor.fontSize" = 14;
|
|
||||||
"editor.smoothScrolling" = true;
|
|
||||||
"editor.cursorSmoothCaretAnimation" = "on";
|
|
||||||
"workbench.enableExperiments" = false;
|
|
||||||
"workbench.list.smoothScrolling" = true;
|
|
||||||
"workbench.colorTheme" = "Catppuccin Mocha";
|
|
||||||
"workbench.iconTheme" = "catppuccin-mocha";
|
|
||||||
"remote.SSH.configFile" = "~/.ssh/custom-config";
|
|
||||||
"workbench.welcomePage.walkthroughs.openOnInstall" = false;
|
|
||||||
"security.workspace.trust.enabled" = false;
|
|
||||||
"chat.disableAIFeatures" = false;
|
|
||||||
|
|
||||||
# C++
|
|
||||||
# "C_Cpp.intelliSenseEngine" = "disabled"; # IntelliSense conflics with Clangd
|
|
||||||
};
|
|
||||||
|
|
||||||
userTasks = {};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -17,19 +17,7 @@ in {
|
|||||||
shellWrapperName = "y";
|
shellWrapperName = "y";
|
||||||
|
|
||||||
plugins = {
|
plugins = {
|
||||||
inherit
|
inherit (pkgs.yaziPlugins) chmod diff full-border git lazygit mount ouch rsync starship sudo; # smart-paste
|
||||||
(pkgs.yaziPlugins)
|
|
||||||
chmod
|
|
||||||
diff
|
|
||||||
full-border
|
|
||||||
git
|
|
||||||
lazygit
|
|
||||||
mount
|
|
||||||
ouch
|
|
||||||
rsync
|
|
||||||
starship
|
|
||||||
sudo
|
|
||||||
; # smart-paste
|
|
||||||
};
|
};
|
||||||
|
|
||||||
initLua = ''
|
initLua = ''
|
||||||
@ -82,12 +70,7 @@ in {
|
|||||||
{
|
{
|
||||||
run = ''mpv "$@"'';
|
run = ''mpv "$@"'';
|
||||||
orphan = true;
|
orphan = true;
|
||||||
desc = "Play selection with mpv";
|
desc = "Play selection";
|
||||||
}
|
|
||||||
{
|
|
||||||
run = ''vlc "$@"'';
|
|
||||||
orphan = true;
|
|
||||||
desc = "Play selection with vlc";
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
edit = [
|
edit = [
|
||||||
@ -100,16 +83,12 @@ in {
|
|||||||
open = [
|
open = [
|
||||||
{
|
{
|
||||||
run = ''xdg-open "$@"'';
|
run = ''xdg-open "$@"'';
|
||||||
desc = "Open selection with xdg-open";
|
desc = "Open selection";
|
||||||
}
|
|
||||||
{
|
|
||||||
run = ''imv "$@"'';
|
|
||||||
desc = "Open selection with imv";
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
# TODO: For some reason, junction does not exit after choosing an application...
|
# TODO: For some reason, junction does not exit after choosing an application...
|
||||||
run = ''junction "$@"'';
|
run = ''junction "$@"'';
|
||||||
desc = "Open selection with junction";
|
desc = "Open selection in chosen application";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
extract = [
|
extract = [
|
||||||
@ -127,13 +106,13 @@ in {
|
|||||||
|
|
||||||
plugin.prepend_fetchers = [
|
plugin.prepend_fetchers = [
|
||||||
{
|
{
|
||||||
group = "git";
|
id = "git";
|
||||||
url = "*";
|
name = "*";
|
||||||
run = "git";
|
run = "git";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
group = "git";
|
id = "git";
|
||||||
url = "*/";
|
name = "*/";
|
||||||
run = "git";
|
run = "git";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
@ -183,66 +162,42 @@ in {
|
|||||||
|
|
||||||
mgr.prepend_keymap = [
|
mgr.prepend_keymap = [
|
||||||
{
|
{
|
||||||
on = [
|
on = ["<C-p>" "m"];
|
||||||
"<C-p>"
|
|
||||||
"m"
|
|
||||||
];
|
|
||||||
run = "plugin mount";
|
run = "plugin mount";
|
||||||
desc = "Manage device mounts";
|
desc = "Manage device mounts";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
on = [
|
on = ["<C-p>" "c"];
|
||||||
"<C-p>"
|
|
||||||
"c"
|
|
||||||
];
|
|
||||||
run = "plugin chmod";
|
run = "plugin chmod";
|
||||||
desc = "Chmod selection";
|
desc = "Chmod selection";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
on = [
|
on = ["<C-p>" "g"];
|
||||||
"<C-p>"
|
|
||||||
"g"
|
|
||||||
];
|
|
||||||
run = "plugin lazygit";
|
run = "plugin lazygit";
|
||||||
desc = "Run LazyGit";
|
desc = "Run LazyGit";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
on = [
|
on = ["<C-p>" "a"];
|
||||||
"<C-p>"
|
|
||||||
"a"
|
|
||||||
];
|
|
||||||
run = "plugin ouch";
|
run = "plugin ouch";
|
||||||
desc = "Add selection to archive";
|
desc = "Add selection to archive";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
on = [
|
on = ["<C-p>" "d"];
|
||||||
"<C-p>"
|
|
||||||
"d"
|
|
||||||
];
|
|
||||||
run = ''shell -- ripdrag -a -n "$@"'';
|
run = ''shell -- ripdrag -a -n "$@"'';
|
||||||
desc = "Drag & drop selection";
|
desc = "Drag & drop selection";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
on = [
|
on = ["<C-p>" "D"];
|
||||||
"<C-p>"
|
|
||||||
"D"
|
|
||||||
];
|
|
||||||
run = "plugin diff";
|
run = "plugin diff";
|
||||||
desc = "Diff the selected with the hovered file";
|
desc = "Diff the selected with the hovered file";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
on = [
|
on = ["<C-p>" "r"];
|
||||||
"<C-p>"
|
|
||||||
"r"
|
|
||||||
];
|
|
||||||
run = "plugin rsync";
|
run = "plugin rsync";
|
||||||
desc = "Copy files using rsync";
|
desc = "Copy files using rsync";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
on = [
|
on = ["<C-p>" "w"];
|
||||||
"<C-p>"
|
|
||||||
"w"
|
|
||||||
];
|
|
||||||
run = ''wl-copy < "$0"'';
|
run = ''wl-copy < "$0"'';
|
||||||
desc = "Copy hovered file contents using wl-copy";
|
desc = "Copy hovered file contents using wl-copy";
|
||||||
}
|
}
|
||||||
@ -254,10 +209,7 @@ in {
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
on = "y";
|
on = "y";
|
||||||
run = [
|
run = [''shell -- for path in "$@"; do echo "file://$path"; done | wl-copy -t text/uri-list'' "yank"];
|
||||||
''shell -- for path in "$@"; do echo "file://$path"; done | wl-copy -t text/uri-list''
|
|
||||||
"yank"
|
|
||||||
];
|
|
||||||
desc = "Copy files to system clipboard on yank";
|
desc = "Copy files to system clipboard on yank";
|
||||||
}
|
}
|
||||||
# {
|
# {
|
||||||
@ -276,9 +228,7 @@ in {
|
|||||||
# https://github.com/catppuccin/yazi/blob/main/themes/mocha/catppuccin-mocha-lavender.toml
|
# https://github.com/catppuccin/yazi/blob/main/themes/mocha/catppuccin-mocha-lavender.toml
|
||||||
theme = {
|
theme = {
|
||||||
mgr = {
|
mgr = {
|
||||||
cwd = {
|
cwd = {fg = color.hexS.teal;};
|
||||||
fg = color.hexS.teal;
|
|
||||||
};
|
|
||||||
|
|
||||||
hovered = {
|
hovered = {
|
||||||
fg = color.hexS.accentText;
|
fg = color.hexS.accentText;
|
||||||
@ -335,9 +285,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
border_symbol = "│";
|
border_symbol = "│";
|
||||||
border_style = {
|
border_style = {fg = color.hexS.overlay0;};
|
||||||
fg = color.hexS.overlay0;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
tabs = {
|
tabs = {
|
||||||
@ -406,104 +354,58 @@ in {
|
|||||||
bg = color.hexS.surface0;
|
bg = color.hexS.surface0;
|
||||||
};
|
};
|
||||||
|
|
||||||
perm_type = {
|
perm_type = {fg = color.hexS.blue;};
|
||||||
fg = color.hexS.blue;
|
perm_read = {fg = color.hexS.yellow;};
|
||||||
};
|
perm_write = {fg = color.hexS.red;};
|
||||||
perm_read = {
|
perm_exec = {fg = color.hexS.green;};
|
||||||
fg = color.hexS.yellow;
|
perm_sep = {fg = color.hexS.overlay0;};
|
||||||
};
|
|
||||||
perm_write = {
|
|
||||||
fg = color.hexS.red;
|
|
||||||
};
|
|
||||||
perm_exec = {
|
|
||||||
fg = color.hexS.green;
|
|
||||||
};
|
|
||||||
perm_sep = {
|
|
||||||
fg = color.hexS.overlay0;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
input = {
|
input = {
|
||||||
border = {
|
border = {fg = color.hexS.accentDim;};
|
||||||
fg = color.hexS.accentDim;
|
|
||||||
};
|
|
||||||
title = {};
|
title = {};
|
||||||
value = {};
|
value = {};
|
||||||
selected = {
|
selected = {reversed = true;};
|
||||||
reversed = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
pick = {
|
pick = {
|
||||||
border = {
|
border = {fg = color.hexS.accentDim;};
|
||||||
fg = color.hexS.accentDim;
|
active = {fg = color.hexS.accentHl;};
|
||||||
};
|
|
||||||
active = {
|
|
||||||
fg = color.hexS.accentHl;
|
|
||||||
};
|
|
||||||
inactive = {};
|
inactive = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
confirm = {
|
confirm = {
|
||||||
border = {
|
border = {fg = color.hexS.accentDim;};
|
||||||
fg = color.hexS.accentDim;
|
title = {fg = color.hexS.accentDim;};
|
||||||
};
|
|
||||||
title = {
|
|
||||||
fg = color.hexS.accentDim;
|
|
||||||
};
|
|
||||||
content = {};
|
content = {};
|
||||||
list = {};
|
list = {};
|
||||||
btn_yes = {
|
btn_yes = {reversed = true;};
|
||||||
reversed = true;
|
|
||||||
};
|
|
||||||
btn_no = {};
|
btn_no = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
cmp = {
|
cmp = {
|
||||||
border = {
|
border = {fg = color.hexS.accentDim;};
|
||||||
fg = color.hexS.accentDim;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
tasks = {
|
tasks = {
|
||||||
border = {
|
border = {fg = color.hexS.accentDim;};
|
||||||
fg = color.hexS.accentDim;
|
|
||||||
};
|
|
||||||
title = {};
|
title = {};
|
||||||
hovered = {
|
hovered = {underline = true;};
|
||||||
underline = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
which = {
|
which = {
|
||||||
cand = {
|
cand = {fg = color.hexS.accent;};
|
||||||
fg = color.hexS.accent;
|
desc = {fg = color.hexS.accentHl;};
|
||||||
};
|
mask = {bg = color.hexS.surface0;};
|
||||||
desc = {
|
rest = {fg = color.hexS.surface0;};
|
||||||
fg = color.hexS.accentHl;
|
|
||||||
};
|
|
||||||
mask = {
|
|
||||||
bg = color.hexS.surface0;
|
|
||||||
};
|
|
||||||
rest = {
|
|
||||||
fg = color.hexS.surface0;
|
|
||||||
};
|
|
||||||
separator = " ";
|
separator = " ";
|
||||||
separator_style = {
|
separator_style = {fg = color.hexS.text;};
|
||||||
fg = color.hexS.text;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
help = {
|
help = {
|
||||||
on = {
|
on = {fg = color.hexS.accent;};
|
||||||
fg = color.hexS.accent;
|
run = {fg = color.hexS.accentHl;};
|
||||||
};
|
desc = {fg = color.hexS.text;};
|
||||||
run = {
|
|
||||||
fg = color.hexS.accentHl;
|
|
||||||
};
|
|
||||||
desc = {
|
|
||||||
fg = color.hexS.text;
|
|
||||||
};
|
|
||||||
hovered = {
|
hovered = {
|
||||||
fg = color.hexS.accentText; # TODO: This is not applied
|
fg = color.hexS.accentText; # TODO: This is not applied
|
||||||
|
|
||||||
@ -518,31 +420,19 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
notify = {
|
notify = {
|
||||||
title_info = {
|
title_info = {fg = color.hexS.teal;};
|
||||||
fg = color.hexS.teal;
|
title_warn = {fg = color.hexS.yellow;};
|
||||||
};
|
title_error = {fg = color.hexS.red;};
|
||||||
title_warn = {
|
|
||||||
fg = color.hexS.yellow;
|
|
||||||
};
|
|
||||||
title_error = {
|
|
||||||
fg = color.hexS.red;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
spot = {
|
spot = {
|
||||||
border = {
|
border = {fg = color.hexS.lavender;};
|
||||||
fg = color.hexS.lavender;
|
title = {fg = color.hexS.lavender;};
|
||||||
};
|
|
||||||
title = {
|
|
||||||
fg = color.hexS.lavender;
|
|
||||||
};
|
|
||||||
tbl_cell = {
|
tbl_cell = {
|
||||||
fg = color.hexS.lavender;
|
fg = color.hexS.lavender;
|
||||||
reversed = true;
|
reversed = true;
|
||||||
};
|
};
|
||||||
tbl_col = {
|
tbl_col = {bold = true;};
|
||||||
bold = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Default rules good enough
|
# Default rules good enough
|
||||||
|
|||||||
@ -1,199 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
nixosConfig,
|
|
||||||
lib,
|
|
||||||
mylib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (config.homemodules) zed color;
|
|
||||||
in {
|
|
||||||
options.homemodules.zed = import ./options.nix {inherit lib mylib;};
|
|
||||||
|
|
||||||
config = lib.mkIf zed.enable {
|
|
||||||
programs.zed-editor = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.zed-editor;
|
|
||||||
enableMcpIntegration = true;
|
|
||||||
mutableUserKeymaps = false;
|
|
||||||
mutableUserSettings = false;
|
|
||||||
mutableUserTasks = false;
|
|
||||||
mutableUserDebug = false;
|
|
||||||
|
|
||||||
extensions = [
|
|
||||||
"catppuccin"
|
|
||||||
"catppuccin-icons"
|
|
||||||
"comment"
|
|
||||||
"git-firefly"
|
|
||||||
|
|
||||||
"nix"
|
|
||||||
"perl"
|
|
||||||
"fish"
|
|
||||||
"lua"
|
|
||||||
"toml"
|
|
||||||
"csharp"
|
|
||||||
"java"
|
|
||||||
"latex"
|
|
||||||
"typst"
|
|
||||||
"haskell"
|
|
||||||
"glsl"
|
|
||||||
"mermaid"
|
|
||||||
"clojure"
|
|
||||||
"verilog"
|
|
||||||
"qml"
|
|
||||||
"plantuml"
|
|
||||||
"graphviz"
|
|
||||||
|
|
||||||
"dockerfile"
|
|
||||||
"docker-compose"
|
|
||||||
|
|
||||||
"html"
|
|
||||||
"xml"
|
|
||||||
"scss"
|
|
||||||
"rainbow-csv"
|
|
||||||
"sql"
|
|
||||||
"svelte"
|
|
||||||
"svelte-mcp"
|
|
||||||
"jinja2"
|
|
||||||
|
|
||||||
"just"
|
|
||||||
"make"
|
|
||||||
"neocmake"
|
|
||||||
"assembly"
|
|
||||||
"wat"
|
|
||||||
"linkerscript"
|
|
||||||
"r"
|
|
||||||
];
|
|
||||||
|
|
||||||
themes = {};
|
|
||||||
userDebug = [];
|
|
||||||
|
|
||||||
# TODO: Add neovim keymaps
|
|
||||||
userKeymaps = [
|
|
||||||
{
|
|
||||||
context = "Workspace";
|
|
||||||
bindings = {
|
|
||||||
"ctrl-/" = "terminal_panel::Toggle";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
context = "Editor";
|
|
||||||
unbind = {
|
|
||||||
"ctrl-/" = [
|
|
||||||
"editor::ToggleComments"
|
|
||||||
{
|
|
||||||
advance_downwards = false;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
context = "(vim_mode == normal || vim_mode == visual) && !menu";
|
|
||||||
bindings = {
|
|
||||||
"ctrl-c" = "editor::ToggleComments";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
userSettings = {
|
|
||||||
buffer_font_family = config.homemodules.color.font;
|
|
||||||
terminal.font_family = config.homemodules.color.font;
|
|
||||||
theme = "Catppuccin Mocha";
|
|
||||||
icon_theme = "Catppuccin Mocha";
|
|
||||||
ui_font_size = 16;
|
|
||||||
buffer_font_size = 14;
|
|
||||||
|
|
||||||
project_panel.dock = "left";
|
|
||||||
outline_panel.dock = "left";
|
|
||||||
collaboration_panel.dock = "left";
|
|
||||||
git_panel = {
|
|
||||||
dock = "left";
|
|
||||||
tree_view = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# TODO: Doesn't work, although perlnavigator advertises Perl::Tidy autoformatting...
|
|
||||||
languages = {
|
|
||||||
Perl = {
|
|
||||||
formatter = "language_server";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
auto_signature_help = true;
|
|
||||||
lsp = {
|
|
||||||
nil = {
|
|
||||||
initialization_options = {
|
|
||||||
formatting = {
|
|
||||||
# command = null;
|
|
||||||
command = ["${pkgs.alejandra}/bin/alejandra"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
nixd = {
|
|
||||||
initialization_options = {
|
|
||||||
formatting = {
|
|
||||||
command = ["${pkgs.alejandra}/bin/alejandra"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
# No idea how to configure the formatter
|
|
||||||
# perlnavigator-server = let
|
|
||||||
# # TODO: Duplicated in neovim/default.nix. Need Perl module.
|
|
||||||
# perl = pkgs.perl.withPackages (p:
|
|
||||||
# with p; [
|
|
||||||
# PLS
|
|
||||||
# PerlCritic
|
|
||||||
# PerlTidy
|
|
||||||
# NetOpenSSH
|
|
||||||
# DateTime
|
|
||||||
# DBI
|
|
||||||
# DBDMariaDB
|
|
||||||
# CursesUI
|
|
||||||
# TextCSV_XS
|
|
||||||
# ]);
|
|
||||||
# in {
|
|
||||||
# initialization_options = {
|
|
||||||
# "perlnavigator.perlPath" = "${perl}/bin";
|
|
||||||
# "perlnavigator.includePaths" = ["${perl}/lib/perl5"];
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
|
|
||||||
disable_ai = false;
|
|
||||||
agent = {
|
|
||||||
dock = "right";
|
|
||||||
sidebar_side = "right";
|
|
||||||
};
|
|
||||||
agent_servers = {
|
|
||||||
claude-acp = {
|
|
||||||
type = "registry";
|
|
||||||
};
|
|
||||||
codex-acp = {
|
|
||||||
type = "registry";
|
|
||||||
};
|
|
||||||
gemini = {
|
|
||||||
type = "registry";
|
|
||||||
};
|
|
||||||
mistral-vibe = {
|
|
||||||
type = "registry";
|
|
||||||
};
|
|
||||||
opencode = {
|
|
||||||
type = "registry";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
telemetry = {
|
|
||||||
diagnostics = false;
|
|
||||||
metrics = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
vim_mode = true;
|
|
||||||
which_key = {
|
|
||||||
enabled = true;
|
|
||||||
delay_ms = 10;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
userTasks = [];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
mylib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
enable = lib.mkEnableOption "Enable zed editor";
|
|
||||||
}
|
|
||||||
@ -23,11 +23,15 @@
|
|||||||
substituters = [
|
substituters = [
|
||||||
"https://cache.nixos.org"
|
"https://cache.nixos.org"
|
||||||
"https://nix-community.cachix.org"
|
"https://nix-community.cachix.org"
|
||||||
|
# "https://comfyui.cachix.org"
|
||||||
|
# "https://ai.cachix.org"
|
||||||
# "https://app.cachix.org/cache/nixos-rocm"
|
# "https://app.cachix.org/cache/nixos-rocm"
|
||||||
];
|
];
|
||||||
trusted-public-keys = [
|
trusted-public-keys = [
|
||||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
|
# "comfyui.cachix.org-1:33mf9VzoIjzVbp0zwj+fT51HG0y31ZTK3nzYZAX0rec="
|
||||||
|
# "ai.cachix.org-1:N9dzRK+alWwoKXQlnn0H6aUx0lU/mspIoz8hMvGvbbc="
|
||||||
# "nixos-rocm.cachix.org-1:VEpsf7pRIijjd8csKjFNBGzkBqOmw8H9PRmgAq14LnE="
|
# "nixos-rocm.cachix.org-1:VEpsf7pRIijjd8csKjFNBGzkBqOmw8H9PRmgAq14LnE="
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@ -12,6 +12,7 @@
|
|||||||
./disks.nix
|
./disks.nix
|
||||||
|
|
||||||
# General services
|
# General services
|
||||||
|
../services/comfyui.nix
|
||||||
../services/fileflows-node.nix
|
../services/fileflows-node.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -233,50 +234,53 @@
|
|||||||
|
|
||||||
kmscon = {
|
kmscon = {
|
||||||
enable = false;
|
enable = false;
|
||||||
|
hwRender = true;
|
||||||
useXkbConfig = true;
|
useXkbConfig = true;
|
||||||
# autologinUser = username;
|
# autologinUser = username;
|
||||||
|
|
||||||
config = let
|
fonts = [
|
||||||
color = config.home-manager.users.${username}.homemodules.color;
|
{
|
||||||
in {
|
name = "MonoLisa Alt Script";
|
||||||
# term=xterm-256color
|
package = pkgs.monolisa;
|
||||||
|
}
|
||||||
hwaccel = true;
|
];
|
||||||
|
|
||||||
font-name = color.font;
|
|
||||||
font-size = 14;
|
|
||||||
|
|
||||||
mode = "3440x1440";
|
|
||||||
palette = "custom";
|
|
||||||
|
|
||||||
palette-black = "0,0,0";
|
|
||||||
pallette-white = "255,255,255";
|
|
||||||
|
|
||||||
palette-red = color.rgbS.red;
|
|
||||||
palette-light-red = color.rgbS.red;
|
|
||||||
|
|
||||||
palette-green = color.rgbS.green;
|
|
||||||
palette-light-green = color.rgbS.green;
|
|
||||||
|
|
||||||
palette-yellow = color.rgbS.yellow;
|
|
||||||
palette-light-yellow = color.rgbS.yellow;
|
|
||||||
|
|
||||||
palette-blue = color.rgbS.blue;
|
|
||||||
palette-light-blue = color.rgbS.blue;
|
|
||||||
|
|
||||||
palette-magenta = color.rgbS.pink;
|
|
||||||
palette-light-magenta = color.rgbS.pink;
|
|
||||||
|
|
||||||
palette-cyan = color.rgbS.teal;
|
|
||||||
palette-light-cyan = color.rgbS.teal;
|
|
||||||
|
|
||||||
palette-foreground = color.rgbS.text;
|
|
||||||
palette-background = "0,0,0";
|
|
||||||
};
|
|
||||||
|
|
||||||
# NOTE: Do NOT use multline strings here!
|
# NOTE: Do NOT use multline strings here!
|
||||||
# This will create a linebreak in the systemd service and break login!
|
# This will create a linebreak in the systemd service and break login!
|
||||||
extraOptions = "";
|
extraOptions = "";
|
||||||
|
|
||||||
|
extraConfig = let
|
||||||
|
color = config.home-manager.users.${username}.homemodules.color;
|
||||||
|
in ''
|
||||||
|
# term=xterm-256color
|
||||||
|
font-size=14
|
||||||
|
mode=3440x1440
|
||||||
|
palette=custom
|
||||||
|
|
||||||
|
palette-black=0,0,0
|
||||||
|
pallette-white=255,255,255
|
||||||
|
|
||||||
|
palette-red=${color.rgbS.red}
|
||||||
|
palette-light-red=${color.rgbS.red}
|
||||||
|
|
||||||
|
palette-green=${color.rgbS.green}
|
||||||
|
palette-light-green=${color.rgbS.green}
|
||||||
|
|
||||||
|
palette-yellow=${color.rgbS.yellow}
|
||||||
|
palette-light-yellow=${color.rgbS.yellow}
|
||||||
|
|
||||||
|
palette-blue=${color.rgbS.blue}
|
||||||
|
palette-light-blue=${color.rgbS.blue}
|
||||||
|
|
||||||
|
palette-magenta=${color.rgbS.pink}
|
||||||
|
palette-light-magenta=${color.rgbS.pink}
|
||||||
|
|
||||||
|
palette-cyan=${color.rgbS.teal}
|
||||||
|
palette-light-cyan=${color.rgbS.teal}
|
||||||
|
|
||||||
|
palette-foreground=${color.rgbS.text}
|
||||||
|
palette-background=0,0,0
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
openssh = {
|
openssh = {
|
||||||
|
|||||||
@ -121,6 +121,12 @@
|
|||||||
fsType = "nfs";
|
fsType = "nfs";
|
||||||
options = ["defaults" "rw" "noatime" "_netdev" "bg" "hard"];
|
options = ["defaults" "rw" "noatime" "_netdev" "bg" "hard"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"/media/Box" = {
|
||||||
|
device = "192.168.86.20:/mnt/Seagate4TB/Box";
|
||||||
|
fsType = "nfs";
|
||||||
|
options = ["defaults" "rw" "relatime" "_netdev" "bg" "hard"];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
@ -140,8 +146,8 @@
|
|||||||
nvidia-container-toolkit.enable = true;
|
nvidia-container-toolkit.enable = true;
|
||||||
|
|
||||||
nvidia = {
|
nvidia = {
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
# package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
# package = config.boot.kernelPackages.nvidiaPackages.beta;
|
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||||
|
|
||||||
open = true;
|
open = true;
|
||||||
nvidiaSettings = false; # Those are for x-server
|
nvidiaSettings = false; # Those are for x-server
|
||||||
|
|||||||
@ -24,6 +24,7 @@
|
|||||||
# General services
|
# General services
|
||||||
../services/authelia.nix
|
../services/authelia.nix
|
||||||
../services/bazarr.nix
|
../services/bazarr.nix
|
||||||
|
../services/box.nix
|
||||||
../services/fileflows.nix
|
../services/fileflows.nix
|
||||||
../services/gitea.nix
|
../services/gitea.nix
|
||||||
../services/immich.nix
|
../services/immich.nix
|
||||||
|
|||||||
@ -69,6 +69,12 @@
|
|||||||
fsType = "nfs";
|
fsType = "nfs";
|
||||||
options = ["defaults" "rw" "relatime" "_netdev" "bg" "hard"];
|
options = ["defaults" "rw" "relatime" "_netdev" "bg" "hard"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"/media/Box" = {
|
||||||
|
device = "192.168.86.20:/mnt/Seagate4TB/Box";
|
||||||
|
fsType = "nfs";
|
||||||
|
options = ["defaults" "rw" "relatime" "_netdev" "bg" "hard"];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
@ -86,7 +92,7 @@
|
|||||||
nvidia-container-toolkit.enable = true;
|
nvidia-container-toolkit.enable = true;
|
||||||
|
|
||||||
nvidia = {
|
nvidia = {
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.legacy_580;
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
|
|
||||||
modesetting.enable = false;
|
modesetting.enable = false;
|
||||||
open = false; # GTX 1070 is too old for open drivers
|
open = false; # GTX 1070 is too old for open drivers
|
||||||
|
|||||||
53
system/services/box.nix
Normal file
53
system/services/box.nix
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
{
|
||||||
|
mylib,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
boxVersion = "v0.31.0";
|
||||||
|
in {
|
||||||
|
virtualisation.oci-containers.containers = {
|
||||||
|
box = {
|
||||||
|
image = "stashapp/stash:${boxVersion}";
|
||||||
|
autoStart = true;
|
||||||
|
|
||||||
|
login = mylib.containers.mkDockerLogin config;
|
||||||
|
|
||||||
|
dependsOn = [];
|
||||||
|
|
||||||
|
ports = [
|
||||||
|
# "9999:9999"
|
||||||
|
];
|
||||||
|
|
||||||
|
volumes = [
|
||||||
|
"/etc/localtime:/etc/localtime:ro"
|
||||||
|
|
||||||
|
"/media/Box:/data"
|
||||||
|
|
||||||
|
"box_config:/root/.stash"
|
||||||
|
"box_metadata:/metadata"
|
||||||
|
"box_cache:/cache"
|
||||||
|
"box_blobs:/blobs"
|
||||||
|
"box_generated:/generated"
|
||||||
|
];
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
PUID = "3000";
|
||||||
|
PGID = "3000";
|
||||||
|
TZ = "Europe/Berlin";
|
||||||
|
|
||||||
|
STASH_STASH = "/data/";
|
||||||
|
STASH_GENERATED = "/generated/";
|
||||||
|
STASH_METADATA = "/metadata/";
|
||||||
|
STASH_CACHE = "/cache/";
|
||||||
|
};
|
||||||
|
|
||||||
|
extraOptions = [
|
||||||
|
"--privileged"
|
||||||
|
"--device=nvidia.com/gpu=all"
|
||||||
|
"--net=behind-nginx"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
77
system/services/comfyui.nix
Normal file
77
system/services/comfyui.nix
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
{
|
||||||
|
mylib,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
# comfyuiVersion = "cu128-slim-20260316";
|
||||||
|
# comfyuiVersion = "cu128-megapak-20260413";
|
||||||
|
# comfyuiVersion = "cu130-megapak-pt211-20260413";
|
||||||
|
comfyuiVersion = "cu130-megapak-pt211-20260508";
|
||||||
|
in {
|
||||||
|
virtualisation.oci-containers.containers = {
|
||||||
|
comfyui = {
|
||||||
|
image = "yanwk/comfyui-boot:${comfyuiVersion}";
|
||||||
|
autoStart = false;
|
||||||
|
|
||||||
|
login = mylib.containers.mkDockerLogin config;
|
||||||
|
|
||||||
|
dependsOn = [];
|
||||||
|
|
||||||
|
ports = [
|
||||||
|
"8188:8188"
|
||||||
|
];
|
||||||
|
|
||||||
|
volumes = let
|
||||||
|
rootDir = "/home/christoph/Games/ComfyUI";
|
||||||
|
in [
|
||||||
|
# cu128-slim / cu128-megapak
|
||||||
|
# "${rootDir}/storage:/root"
|
||||||
|
# "${rootDir}/storage-models/models:/root/ComfyUI/models"
|
||||||
|
# "${rootDir}/storage-models/hf-hub:/root/.cache/huggingface/hub"
|
||||||
|
# "${rootDir}/storage-models/torch-hub:/root/.cache/torch/hub"
|
||||||
|
# "${rootDir}/storage-user/input:/root/ComfyUI/input"
|
||||||
|
# "${rootDir}/storage-user/output:/root/ComfyUI/output"
|
||||||
|
# "${rootDir}/storage-user/workflows:/root/ComfyUI/user/default/workflows"
|
||||||
|
|
||||||
|
# cu130-megapak
|
||||||
|
"${rootDir}/storage-cache/dot-cache:/root/.cache"
|
||||||
|
"${rootDir}/storage-cache/dot-config:/root/.config"
|
||||||
|
"${rootDir}/storage-nodes/dot-local:/root/.local"
|
||||||
|
"${rootDir}/storage-nodes/comfy-extras:/root/ComfyUI/comfy_extras"
|
||||||
|
"${rootDir}/storage-nodes/custom_nodes:/root/ComfyUI/custom_nodes"
|
||||||
|
"${rootDir}/storage-models/models:/root/ComfyUI/models"
|
||||||
|
"${rootDir}/storage-models/hf-hub:/root/.cache/huggingface/hub"
|
||||||
|
"${rootDir}/storage-models/torch-hub:/root/.cache/torch/hub"
|
||||||
|
"${rootDir}/storage-user/input:/root/ComfyUI/input"
|
||||||
|
"${rootDir}/storage-user/output:/root/ComfyUI/output"
|
||||||
|
"${rootDir}/storage-user/user-profile:/root/ComfyUI/user"
|
||||||
|
"${rootDir}/storage-user/user-scripts:/root/user-scripts"
|
||||||
|
];
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
PUID = "1000";
|
||||||
|
PGID = "1000";
|
||||||
|
TZ = "Europe/Berlin";
|
||||||
|
|
||||||
|
# https://github.com/Comfy-Org/ComfyUI/blob/master/comfy/cli_args.py
|
||||||
|
CLI_ARGS = lib.concatStringsSep " " [
|
||||||
|
# "--cache-none" # Leads to single nodes being executed multiple times for each output connection :/
|
||||||
|
# "--lowvram"
|
||||||
|
# "--disable-smart-memory"
|
||||||
|
# "--disable-pinned-memory"
|
||||||
|
# "--disable-xformers"
|
||||||
|
# "--use-sage-attention" # Crashes
|
||||||
|
# "--reserve-vram 1" # (1 or 2) => Assume less vram is available to mitigate OOM due to wrong vram estimation
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
extraOptions = [
|
||||||
|
"--privileged"
|
||||||
|
"--device=nvidia.com/gpu=all"
|
||||||
|
# "--net=behind-nginx"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -5,7 +5,7 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
fileflowsVersion = "26.06";
|
fileflowsVersion = "26.01";
|
||||||
in {
|
in {
|
||||||
virtualisation.oci-containers.containers = {
|
virtualisation.oci-containers.containers = {
|
||||||
fileflows-node = {
|
fileflows-node = {
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
version = "26.06";
|
version = "26.01";
|
||||||
in {
|
in {
|
||||||
virtualisation.oci-containers.containers = {
|
virtualisation.oci-containers.containers = {
|
||||||
fileflows = {
|
fileflows = {
|
||||||
|
|||||||
@ -18,7 +18,8 @@ in {
|
|||||||
];
|
];
|
||||||
|
|
||||||
volumes = [
|
volumes = [
|
||||||
"/home/christoph/ssd/kiwix:/data"
|
# TODO: Add network location for .zim files
|
||||||
|
"kiwix_data:/data"
|
||||||
];
|
];
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
nextcloudVersion = "33.0.5-apache";
|
nextcloudVersion = "31.0.6-apache";
|
||||||
in {
|
in {
|
||||||
systemd.services.nextcloud-cron = {
|
systemd.services.nextcloud-cron = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
teamspeakVersion = "6.0.0-beta10";
|
teamspeakVersion = "v6.0.0-beta8";
|
||||||
in {
|
in {
|
||||||
virtualisation.oci-containers.containers = {
|
virtualisation.oci-containers.containers = {
|
||||||
teamspeak = {
|
teamspeak = {
|
||||||
|
|||||||
@ -70,6 +70,7 @@ in {
|
|||||||
(mkRDir "/usr/systemd-placeholder" m755)
|
(mkRDir "/usr/systemd-placeholder" m755)
|
||||||
|
|
||||||
# TODO: Why does this use the mandb user?
|
# TODO: Why does this use the mandb user?
|
||||||
|
# TODO: Why does this apparently conflict with comfyui-nix?
|
||||||
# (mkDir "mandb" "/var/cache/man" m755)
|
# (mkDir "mandb" "/var/cache/man" m755)
|
||||||
|
|
||||||
# (mkRDir "/var/cache/restic-backups-synology" m755)
|
# (mkRDir "/var/cache/restic-backups-synology" m755)
|
||||||
@ -120,17 +121,14 @@ in {
|
|||||||
|
|
||||||
# The shit some applications add to ~/ without asking
|
# The shit some applications add to ~/ without asking
|
||||||
# (mkUDir ".android" m755) # Unity
|
# (mkUDir ".android" m755) # Unity
|
||||||
(mkUDir ".claude" m755)
|
|
||||||
# (mkUDir ".comfy" m755)
|
# (mkUDir ".comfy" m755)
|
||||||
(mkUDir ".docker" m755)
|
(mkUDir ".docker" m755)
|
||||||
# (mkUDir ".gradle" m755) # Unity
|
# (mkUDir ".gradle" m755) # Unity
|
||||||
(mkUDir ".java" m755) # JetBrains
|
(mkUDir ".java" m755) # JetBrains
|
||||||
(mkUDir ".lmstudio" m755)
|
|
||||||
(mkUDir ".MakeMKV" m755)
|
(mkUDir ".MakeMKV" m755)
|
||||||
(mkUDir ".mozilla/firefox" m755) # TODO: Remove this someday
|
(mkUDir ".mozilla/firefox" m755) # TODO: Remove this someday
|
||||||
(mkUDir ".mozilla/native-messaging-hosts" m755)
|
(mkUDir ".mozilla/native-messaging-hosts" m755)
|
||||||
(mkUDir ".nix-package-search" m755)
|
(mkUDir ".nix-package-search" m755)
|
||||||
(mkUDir ".npm" m755) # Contains mcp servers :/
|
|
||||||
# (mkUDir ".nv" m755) # Unity
|
# (mkUDir ".nv" m755) # Unity
|
||||||
# (mkUDir ".ollama" m755)
|
# (mkUDir ".ollama" m755)
|
||||||
# (mkUDir ".plastic4" m755) # Unity
|
# (mkUDir ".plastic4" m755) # Unity
|
||||||
@ -138,21 +136,14 @@ in {
|
|||||||
(mkUDir ".tiddl" m755)
|
(mkUDir ".tiddl" m755)
|
||||||
(mkUDir ".var/app" m755)
|
(mkUDir ".var/app" m755)
|
||||||
(mkUDir ".vim/undo" m755)
|
(mkUDir ".vim/undo" m755)
|
||||||
(mkUDir ".vscode" m755)
|
|
||||||
(mkUDir ".zotero" m755)
|
(mkUDir ".zotero" m755)
|
||||||
|
|
||||||
# Cache that's actually useful
|
# Cache that's actually useful
|
||||||
(mkUDir ".cache/claude-cli-nodejs" m755)
|
|
||||||
(mkUDir ".cache/elephant" m755)
|
|
||||||
(mkUDir ".cache/fish/generated_completions" m755)
|
(mkUDir ".cache/fish/generated_completions" m755)
|
||||||
(mkUDir ".cache/nix" m755)
|
|
||||||
(mkUDir ".cache/nix-index" m755)
|
(mkUDir ".cache/nix-index" m755)
|
||||||
(mkUDir ".cache/nix-search-tv" m755)
|
(mkUDir ".cache/nix-search-tv" m755)
|
||||||
(mkUDir ".cache/nvim" m755)
|
(mkUDir ".cache/nvim" m755)
|
||||||
(mkUDir ".cache/JetBrains" m755)
|
(mkUDir ".cache/JetBrains" m755)
|
||||||
(mkUDir ".cache/keepassxc" m755)
|
|
||||||
(mkUDir ".cache/opencode" m755)
|
|
||||||
(mkUDir ".cache/uv" m755)
|
|
||||||
|
|
||||||
# Config
|
# Config
|
||||||
# (mkUDir ".config/.android" m755) # Unity
|
# (mkUDir ".config/.android" m755) # Unity
|
||||||
@ -160,7 +151,6 @@ in {
|
|||||||
(mkUDir ".config/beets" m755)
|
(mkUDir ".config/beets" m755)
|
||||||
(mkUDir ".config/blender" m755)
|
(mkUDir ".config/blender" m755)
|
||||||
(mkUDir ".config/chromium" m755) # TODO: Remove this someday
|
(mkUDir ".config/chromium" m755) # TODO: Remove this someday
|
||||||
(mkUDir ".config/Code" m755)
|
|
||||||
(mkUDir ".config/Ferdium" m755)
|
(mkUDir ".config/Ferdium" m755)
|
||||||
(mkUDir ".config/feishin" m755)
|
(mkUDir ".config/feishin" m755)
|
||||||
(mkUDir ".config/fish/completions" m755)
|
(mkUDir ".config/fish/completions" m755)
|
||||||
@ -171,13 +161,11 @@ in {
|
|||||||
(mkUDir ".config/JetBrains" m755)
|
(mkUDir ".config/JetBrains" m755)
|
||||||
(mkUDir ".config/kdeconnect" m755)
|
(mkUDir ".config/kdeconnect" m755)
|
||||||
(mkUDir ".config/keepassxc" m755)
|
(mkUDir ".config/keepassxc" m755)
|
||||||
(mkUDir ".config/LM Studio" m755)
|
|
||||||
(mkUDir ".config/Msty" m755)
|
(mkUDir ".config/Msty" m755)
|
||||||
(mkUDir ".config/Nextcloud" m755)
|
(mkUDir ".config/Nextcloud" m755)
|
||||||
# (mkUDir ".config/niri/dms" m755)
|
# (mkUDir ".config/niri/dms" m755)
|
||||||
(mkUDir ".config/obsidian" m755)
|
(mkUDir ".config/obsidian" m755)
|
||||||
(mkUDir ".config/obs-studio" m755)
|
(mkUDir ".config/obs-studio" m755)
|
||||||
(mkUDir ".config/opencode" m755)
|
|
||||||
(mkUDir ".config/Signal" m755)
|
(mkUDir ".config/Signal" m755)
|
||||||
# (mkUDir ".config/singularitygroup-hotreload" m755) # Unity
|
# (mkUDir ".config/singularitygroup-hotreload" m755) # Unity
|
||||||
(mkUDir ".config/TeamSpeak" m755)
|
(mkUDir ".config/TeamSpeak" m755)
|
||||||
@ -209,7 +197,6 @@ in {
|
|||||||
(mkUDir ".local/share/net.lrclib.lrcget" m755)
|
(mkUDir ".local/share/net.lrclib.lrcget" m755)
|
||||||
(mkUDir ".local/share/nix" m755)
|
(mkUDir ".local/share/nix" m755)
|
||||||
(mkUDir ".local/share/nvim" m755)
|
(mkUDir ".local/share/nvim" m755)
|
||||||
(mkUDir ".local/share/opencode" m755)
|
|
||||||
(mkUDir ".local/share/qutebrowser" m755)
|
(mkUDir ".local/share/qutebrowser" m755)
|
||||||
(mkUDir ".local/share/systemd" m755)
|
(mkUDir ".local/share/systemd" m755)
|
||||||
# (mkUDir ".local/share/unity3d" m755) # Unity
|
# (mkUDir ".local/share/unity3d" m755) # Unity
|
||||||
@ -222,7 +209,6 @@ in {
|
|||||||
(mkUDir ".local/state/lazygit" m755)
|
(mkUDir ".local/state/lazygit" m755)
|
||||||
(mkUDir ".local/state/nix" m755)
|
(mkUDir ".local/state/nix" m755)
|
||||||
(mkUDir ".local/state/nvim" m755)
|
(mkUDir ".local/state/nvim" m755)
|
||||||
(mkUDir ".local/state/opencode" m755)
|
|
||||||
(mkUDir ".local/state/waypaper" m755)
|
(mkUDir ".local/state/waypaper" m755)
|
||||||
(mkUDir ".local/state/wireplumber" m755)
|
(mkUDir ".local/state/wireplumber" m755)
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user