Compare commits
108 Commits
dbbafc5140
...
quickshell
| Author | SHA1 | Date | |
|---|---|---|---|
|
237a62ea8a
|
|||
|
a63be876f7
|
|||
| 2b5a96bc20 | |||
| 02216bfa0c | |||
|
793dbac197
|
|||
|
c584091e60
|
|||
|
68b1765582
|
|||
|
8a169dbfa1
|
|||
|
2c035ac47a
|
|||
|
5648ae6b31
|
|||
|
c504274eca
|
|||
|
bd192f0443
|
|||
|
99e5362345
|
|||
|
35693c9782
|
|||
|
aba70d46a9
|
|||
|
be4de25d84
|
|||
|
2177549100
|
|||
|
abdc2f5c6c
|
|||
|
99121f72c9
|
|||
|
b460cb58ef
|
|||
|
32232d08db
|
|||
|
2d9c505ad7
|
|||
|
667af5a5a6
|
|||
|
e79ed0f643
|
|||
|
d0fcde133d
|
|||
|
b953e5b7ce
|
|||
|
c8f098f1a2
|
|||
|
e454e12d2f
|
|||
|
44a72b39e4
|
|||
|
4af7226777
|
|||
|
28c59be2a7
|
|||
|
51b882f2c5
|
|||
|
13b69ccc95
|
|||
|
be5fd3b9ff
|
|||
|
20ddfb5ddd
|
|||
|
4d2949ab93
|
|||
|
e0faac096b
|
|||
|
1c6708bad5
|
|||
|
a07742a206
|
|||
|
7bacc8ae06
|
|||
|
f400aaf570
|
|||
|
dbd3195430
|
|||
|
d041f61c46
|
|||
|
705f702535
|
|||
|
8fe373eeb5
|
|||
|
64dd1077b6
|
|||
|
8fe95f071a
|
|||
|
bd21506f0d
|
|||
|
c8c6a09684
|
|||
|
0c679290c5
|
|||
|
4685f31aa1
|
|||
|
77b8578379
|
|||
|
5bf4a22e8f
|
|||
|
91257fbcf8
|
|||
|
13cc8234e1
|
|||
|
89aa6186f2
|
|||
|
794593222c
|
|||
|
8c64e8e7b9
|
|||
|
8348cd9a54
|
|||
|
83772d34dd
|
|||
|
5e5f2ed1bb
|
|||
|
d7a3fc7a07
|
|||
|
3c4bc5043e
|
|||
|
a2261cacd1
|
|||
|
558faa058d
|
|||
|
9c547b6207
|
|||
|
2a4694b633
|
|||
|
2f170b9e08
|
|||
|
b762cb91fe
|
|||
|
53e15c2324
|
|||
|
6a1889722c
|
|||
|
ae231ba132
|
|||
|
feda825add
|
|||
|
f231663fe9
|
|||
|
ca45d3da81
|
|||
|
985cd8aa9d
|
|||
|
1b6cf3b07f
|
|||
|
16cddf0335
|
|||
|
91a0e56ef1
|
|||
|
e5b07a6fbe
|
|||
|
506ca711b5
|
|||
|
0267058530
|
|||
|
06317b6c70
|
|||
|
ad5e7aa5e7
|
|||
|
2cf0562cb6
|
|||
|
8c7b85fa12
|
|||
|
cdb232a484
|
|||
|
0f55da26e1
|
|||
|
2fdf5aa8fe
|
|||
|
2d85716642
|
|||
|
117ada55c2
|
|||
|
87018a1c06
|
|||
|
4d36ddff56
|
|||
|
c477dbeae6
|
|||
|
07890c4d9f
|
|||
|
2e2f77fffe
|
|||
|
ab3fbe30a9
|
|||
|
7522628517
|
|||
|
ffc74c1e6f
|
|||
|
c45dadafa3
|
|||
|
27b7718048
|
|||
|
33d0b7a694
|
|||
|
80f0feed39
|
|||
|
6daffb4d5e
|
|||
|
68e83817a5
|
|||
|
454c12ce90
|
|||
|
7e4c48c3f1
|
|||
|
990224174f
|
@@ -1,6 +1,7 @@
|
|||||||
keys:
|
keys:
|
||||||
- &imxyy-nix age1jf5pg2x6ta8amj40xdy0stvcvrdlkwc2nrwtmkpymu0qclk0eg5qmm9kns
|
- &imxyy-nix age1jf5pg2x6ta8amj40xdy0stvcvrdlkwc2nrwtmkpymu0qclk0eg5qmm9kns
|
||||||
- &imxyy-nix-server age1hpgg6psejh4y6jcdd34wxuml75fnweqpe0kh8376yqsctsfn9qxs037kk6
|
- &imxyy-nix-server age1hpgg6psejh4y6jcdd34wxuml75fnweqpe0kh8376yqsctsfn9qxs037kk6
|
||||||
|
- &imxyy-nix-x16 age1r0fv0tagxupfacv0aaxk5ss7sqvswv6kq8tk3x46ndqrj6f5afvqegahxq
|
||||||
- &imxyy-cloudwin age1tp7th3rrv3x0l6jl76n0hjqjp223w2y586pkgr0hcjwdm254jd5shkj6a8
|
- &imxyy-cloudwin age1tp7th3rrv3x0l6jl76n0hjqjp223w2y586pkgr0hcjwdm254jd5shkj6a8
|
||||||
creation_rules:
|
creation_rules:
|
||||||
- path_regex: secrets/.*\.(yaml|toml|json|env|dae|txt|conf)$
|
- path_regex: secrets/.*\.(yaml|toml|json|env|dae|txt|conf)$
|
||||||
@@ -8,4 +9,5 @@ creation_rules:
|
|||||||
- age:
|
- age:
|
||||||
- *imxyy-nix
|
- *imxyy-nix
|
||||||
- *imxyy-nix-server
|
- *imxyy-nix-server
|
||||||
|
- *imxyy-nix-x16
|
||||||
- *imxyy-cloudwin
|
- *imxyy-cloudwin
|
||||||
|
|||||||
16
Makefile
16
Makefile
@@ -2,15 +2,19 @@ all: fmt switch
|
|||||||
|
|
||||||
switch:
|
switch:
|
||||||
@echo "Rebuilding NixOS..."
|
@echo "Rebuilding NixOS..."
|
||||||
@nixos-rebuild switch --flake . --use-remote-sudo
|
@nh os switch .
|
||||||
|
|
||||||
boot:
|
boot:
|
||||||
@echo "Rebuilding NixOS..."
|
@echo "Rebuilding NixOS..."
|
||||||
@nixos-rebuild boot --flake . --use-remote-sudo
|
@nh os boot .
|
||||||
|
|
||||||
|
test:
|
||||||
|
@echo "Rebuilding NixOS..."
|
||||||
|
@nh os test .
|
||||||
|
|
||||||
vm:
|
vm:
|
||||||
@echo "Building NixOS VM..."
|
@echo "Building NixOS VM..."
|
||||||
@nixos-rebuild build-vm --flake .
|
@nh os build-vm .
|
||||||
|
|
||||||
update:
|
update:
|
||||||
@echo "Updating flakes..."
|
@echo "Updating flakes..."
|
||||||
@@ -23,17 +27,17 @@ replpkgs:
|
|||||||
@nix repl -f flake:nixpkgs
|
@nix repl -f flake:nixpkgs
|
||||||
|
|
||||||
repl:
|
repl:
|
||||||
@nixos-rebuild repl --flake .
|
@nh os repl .
|
||||||
|
|
||||||
cleandry:
|
cleandry:
|
||||||
@echo "Listing all generations older than 15 days..."
|
@echo "Listing all generations older than 15 days..."
|
||||||
@sudo nix profile wipe-history --profile /nix/var/nix/profiles/system --dry-run --older-than 15d
|
@sudo nix profile wipe-history --profile /nix/var/nix/profiles/system --dry-run --older-than 15d
|
||||||
@nix run home-manager#home-manager -- expire-generations -15days --dry-run
|
@nix profile wipe-history --profile ~/.local/state/nix/profiles/home-manager --dry-run --older-than 15d
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@echo "Removing all generations older than 15 days..."
|
@echo "Removing all generations older than 15 days..."
|
||||||
@sudo nix profile wipe-history --profile /nix/var/nix/profiles/system --older-than 15d
|
@sudo nix profile wipe-history --profile /nix/var/nix/profiles/system --older-than 15d
|
||||||
@nix run home-manager#home-manager -- expire-generations -15days
|
@nix profile wipe-history --profile ~/.local/state/nix/profiles/home-manager --older-than 15d
|
||||||
|
|
||||||
gc:
|
gc:
|
||||||
@nix store gc --debug
|
@nix store gc --debug
|
||||||
|
|||||||
27
README.md
27
README.md
@@ -32,7 +32,7 @@ As for Flakes, refer to
|
|||||||
| **Application Launcher** | wofi |
|
| **Application Launcher** | wofi |
|
||||||
| **Notification Daemon** | SwayNotificationCenter |
|
| **Notification Daemon** | SwayNotificationCenter |
|
||||||
| **Input method framework** | Fcitx5 |
|
| **Input method framework** | Fcitx5 |
|
||||||
| **Shell** | zsh & custom oh-my-zsh |
|
| **Shell** | Zsh |
|
||||||
| **Netease Cloudmusic Player** | go-musicfox |
|
| **Netease Cloudmusic Player** | go-musicfox |
|
||||||
| **Media Player** | mpv |
|
| **Media Player** | mpv |
|
||||||
| **Text Editor** | Neovim |
|
| **Text Editor** | Neovim |
|
||||||
@@ -52,28 +52,3 @@ And more...
|
|||||||
- `vars.nix` - my variables
|
- `vars.nix` - my variables
|
||||||
- `secrets/` - secrets managed by sops-nix. see [./secrets](./secrets) for details
|
- `secrets/` - secrets managed by sops-nix. see [./secrets](./secrets) for details
|
||||||
- `flake.nix` - flake entry
|
- `flake.nix` - flake entry
|
||||||
|
|
||||||
<!--
|
|
||||||
## Deployment Guide
|
|
||||||
|
|
||||||
Since this repository is **heavily** based on my **own** daily use,
|
|
||||||
it includes, but not limit to, the tweaks listed below:
|
|
||||||
|
|
||||||
- auto login some specific TTYs (see [./modules/getty-autologin.nix](./modules/getty-autologin.nix) for details)
|
|
||||||
- `config.my` alias for custom modules and `config.my.home` alias for single user home-manger configuartion
|
|
||||||
- `lib.my` utilities to define custom modules conveniently
|
|
||||||
|
|
||||||
Therefore, if you want to deploy this setup locally, make sure that
|
|
||||||
you have **carefully** read **every single line** of code in this repository.
|
|
||||||
|
|
||||||
Then, you can follow the guide to deploy:
|
|
||||||
|
|
||||||
0. make sure that you have a very **reliable** networking environment (you know what I'm talking about)
|
|
||||||
1. boot into LiveCD
|
|
||||||
2. repartition your disk, it should be like this:
|
|
||||||
- `/dev/sda`
|
|
||||||
- `/dev/sda1`: boot partition (remember to set its type to `EFI System` in `cfdisk`, don't ask me why)
|
|
||||||
3. clone the repository (if you don't have `git` installed, `nix-shell -p git` will do the trick)
|
|
||||||
4. rename one of the folders in the `config/hosts` folder
|
|
||||||
5.
|
|
||||||
-->
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
@@ -22,10 +22,17 @@
|
|||||||
nixosDirs = [
|
nixosDirs = [
|
||||||
"/root"
|
"/root"
|
||||||
"/var"
|
"/var"
|
||||||
|
"/etc/ssh"
|
||||||
];
|
];
|
||||||
nixosFiles = [
|
nixosFiles = [
|
||||||
"/etc/machine-id"
|
"/etc/machine-id"
|
||||||
];
|
];
|
||||||
|
homeDirs = [
|
||||||
|
{
|
||||||
|
directory = ".ssh";
|
||||||
|
mode = "0700";
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
services.open-webui = {
|
services.open-webui = {
|
||||||
enable = true;
|
enable = true;
|
||||||
host = "127.0.0.1";
|
host = "127.0.0.1";
|
||||||
port = 8089;
|
port = 8089;
|
||||||
|
package = pkgs.stable.open-webui;
|
||||||
};
|
};
|
||||||
services.caddy.virtualHosts."ai.imxyy.top" = {
|
services.caddy.virtualHosts."ai.imxyy.top" = {
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
|||||||
47
config/hosts/imxyy-nix-server/build.nix
Normal file
47
config/hosts/imxyy-nix-server/build.nix
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
sopsRoot,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
sops.secrets.et-imxyy-nix-server-nixremote = {
|
||||||
|
sopsFile = sopsRoot + /et-imxyy-nix-server-nixremote.toml;
|
||||||
|
format = "binary";
|
||||||
|
};
|
||||||
|
environment.systemPackages = [ pkgs.easytier ];
|
||||||
|
systemd.services."easytier-nixremote" = {
|
||||||
|
enable = true;
|
||||||
|
script = "${pkgs.easytier}/bin/easytier-core -c ${config.sops.secrets.et-imxyy-nix-server-nixremote.path}";
|
||||||
|
serviceConfig = {
|
||||||
|
Restart = lib.mkOverride 500 "always";
|
||||||
|
RestartMaxDelaySec = lib.mkOverride 500 "1m";
|
||||||
|
RestartSec = lib.mkOverride 500 "100ms";
|
||||||
|
RestartSteps = lib.mkOverride 500 9;
|
||||||
|
User = "root";
|
||||||
|
};
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
after = [
|
||||||
|
"network.target"
|
||||||
|
"sops-nix.service"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
users.groups.nixremote = { };
|
||||||
|
users.users.nixremote = {
|
||||||
|
isSystemUser = true;
|
||||||
|
description = "nix remote build user";
|
||||||
|
group = "nixremote";
|
||||||
|
openssh.authorizedKeys.keys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOEFLUkyeaK8ZPPZdVNEmtx8zvoxi7xqS2Z6oxRBuUPO imxyy@imxyy-nix"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBWOy0QmAyxENg/O5m3cus8U3c9jCLioivwcWsh5/a82 imxyy-hisense-pad"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK8pivvE8PMtsOxmccfNhH/4KehDKhBfUfJbQZxo/SZT imxyy-ace5"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKALTBn/QSGcSPgMg0ViSazFcaA0+nEF05EJpjbsI6dE imxyy_soope_@imxyy-cloudwin"
|
||||||
|
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIENauvvhVMLsUwH9cPYsvnOg7VCL3a4yEiKm8I524TE efl@efl-nix"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
nix.settings.trusted-users = [
|
||||||
|
"nixremote"
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -21,5 +21,7 @@
|
|||||||
./note.nix
|
./note.nix
|
||||||
./matrix.nix
|
./matrix.nix
|
||||||
./minio.nix
|
./minio.nix
|
||||||
|
./build.nix
|
||||||
|
./immich.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,13 +18,15 @@ in
|
|||||||
];
|
];
|
||||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
boot.kernelPackages = lib.mkForce pkgs.linuxKernel.packages.linux_zen;
|
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_cachyos;
|
||||||
|
services.scx.enable = true;
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
boot.tmp.useTmpfs = true;
|
boot.tmp.useTmpfs = true;
|
||||||
boot.supportedFilesystems = [ "zfs" ];
|
boot.supportedFilesystems = [ "zfs" ];
|
||||||
boot.zfs = {
|
boot.zfs = {
|
||||||
extraPools = [ "data" ];
|
extraPools = [ "data" ];
|
||||||
forceImportRoot = false;
|
forceImportRoot = false;
|
||||||
|
package = pkgs.zfs_cachyos;
|
||||||
};
|
};
|
||||||
services.zfs.autoScrub.enable = true;
|
services.zfs.autoScrub.enable = true;
|
||||||
services.btrfs.autoScrub.enable = true;
|
services.btrfs.autoScrub.enable = true;
|
||||||
|
|||||||
@@ -1,40 +1,22 @@
|
|||||||
{ lib, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
my.home = {
|
|
||||||
programs.zsh = {
|
|
||||||
shellAliases = {
|
|
||||||
proxy_on = lib.mkForce "export http_proxy=http://127.0.0.1:7890 https_proxy=http://127.0.0.1:7890 all_proxy=socks://127.0.0.1:7891";
|
|
||||||
};
|
|
||||||
sessionVariables = {
|
|
||||||
no_proxy = "192.168.3.0/24";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
my = {
|
my = {
|
||||||
cli.all.enable = true;
|
cli.all.enable = true;
|
||||||
coding.editor.neovim.enable = true;
|
coding.editor.neovim.enable = true;
|
||||||
coding.misc.enable = true;
|
coding.misc.enable = true;
|
||||||
coding.langs.lua.enable = true;
|
coding.langs.lua.enable = true;
|
||||||
|
coding.langs.rust.enable = true;
|
||||||
persist = {
|
persist = {
|
||||||
enable = true;
|
enable = true;
|
||||||
homeDirs = [
|
homeDirs = [
|
||||||
"workspace"
|
"workspace"
|
||||||
"Virt"
|
"Virt"
|
||||||
|
|
||||||
{
|
|
||||||
directory = ".ssh";
|
|
||||||
mode = "0700";
|
|
||||||
}
|
|
||||||
".local/state"
|
".local/state"
|
||||||
".local/share"
|
|
||||||
".local/share/nvim"
|
|
||||||
".cache"
|
".cache"
|
||||||
|
|
||||||
".ollama"
|
".ollama"
|
||||||
];
|
];
|
||||||
nixosDirs = [
|
|
||||||
"/etc/ssh"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
17
config/hosts/imxyy-nix-server/immich.nix
Normal file
17
config/hosts/imxyy-nix-server/immich.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
services.immich = {
|
||||||
|
enable = true;
|
||||||
|
host = "127.0.0.1";
|
||||||
|
port = 8096;
|
||||||
|
mediaLocation = "/mnt/nas/immich";
|
||||||
|
group = "nextcloud";
|
||||||
|
};
|
||||||
|
services.caddy.virtualHosts."immich.imxyy.top" = {
|
||||||
|
extraConfig = ''
|
||||||
|
reverse_proxy :8096 {
|
||||||
|
header_up X-Real-IP {remote_host}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
interface = "mac0";
|
interface = "mac0";
|
||||||
};
|
};
|
||||||
nameservers = [
|
nameservers = [
|
||||||
"192.168.3.1"
|
"192.168.3.2"
|
||||||
];
|
];
|
||||||
|
|
||||||
firewall.enable = false;
|
firewall.enable = false;
|
||||||
@@ -131,11 +131,13 @@
|
|||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOEFLUkyeaK8ZPPZdVNEmtx8zvoxi7xqS2Z6oxRBuUPO imxyy@imxyy-nix"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOEFLUkyeaK8ZPPZdVNEmtx8zvoxi7xqS2Z6oxRBuUPO imxyy@imxyy-nix"
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBWOy0QmAyxENg/O5m3cus8U3c9jCLioivwcWsh5/a82 imxyy-hisense-pad"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBWOy0QmAyxENg/O5m3cus8U3c9jCLioivwcWsh5/a82 imxyy-hisense-pad"
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK8pivvE8PMtsOxmccfNhH/4KehDKhBfUfJbQZxo/SZT imxyy-ace5"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK8pivvE8PMtsOxmccfNhH/4KehDKhBfUfJbQZxo/SZT imxyy-ace5"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKALTBn/QSGcSPgMg0ViSazFcaA0+nEF05EJpjbsI6dE imxyy_soope_@imxyy-cloudwin"
|
||||||
];
|
];
|
||||||
users.users.${username}.openssh.authorizedKeys.keys = [
|
users.users.${username}.openssh.authorizedKeys.keys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOEFLUkyeaK8ZPPZdVNEmtx8zvoxi7xqS2Z6oxRBuUPO imxyy@imxyy-nix"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOEFLUkyeaK8ZPPZdVNEmtx8zvoxi7xqS2Z6oxRBuUPO imxyy@imxyy-nix"
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBWOy0QmAyxENg/O5m3cus8U3c9jCLioivwcWsh5/a82 imxyy-hisense-pad"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBWOy0QmAyxENg/O5m3cus8U3c9jCLioivwcWsh5/a82 imxyy-hisense-pad"
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK8pivvE8PMtsOxmccfNhH/4KehDKhBfUfJbQZxo/SZT imxyy-ace5"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK8pivvE8PMtsOxmccfNhH/4KehDKhBfUfJbQZxo/SZT imxyy-ace5"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKALTBn/QSGcSPgMg0ViSazFcaA0+nEF05EJpjbsI6dE imxyy_soope_@imxyy-cloudwin"
|
||||||
];
|
];
|
||||||
|
|
||||||
sops.secrets.dae-imxyy-nix-server = {
|
sops.secrets.dae-imxyy-nix-server = {
|
||||||
@@ -170,7 +172,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
role = "client";
|
role = "client";
|
||||||
settings = {
|
settings = {
|
||||||
serverAddr = "vkvm.imxyy.top";
|
serverAddr = "hk.vkvm.imxyy.top";
|
||||||
serverPort = 7000;
|
serverPort = 7000;
|
||||||
auth.token = "{{ .Envs.FRP_AUTH_TOKEN }}";
|
auth.token = "{{ .Envs.FRP_AUTH_TOKEN }}";
|
||||||
proxies = [
|
proxies = [
|
||||||
@@ -390,6 +392,21 @@
|
|||||||
customDomains = [ "matrix.imxyy.top" ];
|
customDomains = [ "matrix.imxyy.top" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "immich-http";
|
||||||
|
type = "http";
|
||||||
|
localIP = "127.0.0.1";
|
||||||
|
localPort = 80;
|
||||||
|
customDomains = [ "immich.imxyy.top" ];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "immich-https";
|
||||||
|
type = "https";
|
||||||
|
localIP = "127.0.0.1";
|
||||||
|
localPort = 443;
|
||||||
|
customDomains = [ "immich.imxyy.top" ];
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
name = "minecraft";
|
name = "minecraft";
|
||||||
type = "tcp";
|
type = "tcp";
|
||||||
@@ -413,82 +430,9 @@
|
|||||||
settings = {
|
settings = {
|
||||||
logtail.enabled = false;
|
logtail.enabled = false;
|
||||||
server_url = "https://headscale.imxyy.top";
|
server_url = "https://headscale.imxyy.top";
|
||||||
dns = {
|
dns.magic_dns = false;
|
||||||
base_domain = "tailnet.imxyy.top";
|
dns.override_local_dns = false;
|
||||||
extra_records = [
|
|
||||||
{
|
|
||||||
"name" = "home.imxyy.top";
|
|
||||||
"type" = "A";
|
|
||||||
"value" = "100.64.0.2";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "nextcloud.imxyy.top";
|
|
||||||
"type" = "A";
|
|
||||||
"value" = "100.64.0.2";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "mail.imxyy.top";
|
|
||||||
"type" = "A";
|
|
||||||
"value" = "100.64.0.2";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "git.imxyy.top";
|
|
||||||
"type" = "A";
|
|
||||||
"value" = "100.64.0.2";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "vault.imxyy.top";
|
|
||||||
"type" = "A";
|
|
||||||
"value" = "100.64.0.2";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "mc.imxyy.top";
|
|
||||||
"type" = "A";
|
|
||||||
"value" = "100.64.0.2";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "home.imxyy.top";
|
|
||||||
"type" = "A";
|
|
||||||
"value" = "100.64.0.2";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "coder.imxyy.top";
|
|
||||||
"type" = "A";
|
|
||||||
"value" = "100.64.0.2";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "music.imxyy.top";
|
|
||||||
"type" = "A";
|
|
||||||
"value" = "100.64.0.2";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
ip_prefixes = "100.64.0.0/10";
|
ip_prefixes = "100.64.0.0/10";
|
||||||
derp.paths = [
|
|
||||||
(toString (
|
|
||||||
pkgs.writeText "derp.yaml" ''
|
|
||||||
regions:
|
|
||||||
900:
|
|
||||||
regionid: 900
|
|
||||||
regioncode: custom-tok
|
|
||||||
regionname: imxyy_soope_ Tokyo
|
|
||||||
nodes:
|
|
||||||
- name: 900a
|
|
||||||
regionid: 900
|
|
||||||
hostname: vkvm.imxyy.top
|
|
||||||
# 901:
|
|
||||||
# regionid: 901
|
|
||||||
# regioncode: custom-cn
|
|
||||||
# regionname: imxyy_soope_ Hu Bei
|
|
||||||
# nodes:
|
|
||||||
# - name: 901a
|
|
||||||
# regionid: 901
|
|
||||||
# hostname: ry.imxyy.top
|
|
||||||
# derpport: 1443
|
|
||||||
''
|
|
||||||
))
|
|
||||||
];
|
|
||||||
derp.urls = lib.mkForce [ ];
|
|
||||||
|
|
||||||
oidc = {
|
oidc = {
|
||||||
only_start_if_oidc_is_available = true;
|
only_start_if_oidc_is_available = true;
|
||||||
@@ -501,7 +445,6 @@
|
|||||||
client_secret = "";
|
client_secret = "";
|
||||||
expiry = 0;
|
expiry = 0;
|
||||||
extra_params.domain_hint = "imxyy.top";
|
extra_params.domain_hint = "imxyy.top";
|
||||||
strip_email_domain = true;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -527,7 +470,7 @@
|
|||||||
environment.systemPackages = [ pkgs.easytier ];
|
environment.systemPackages = [ pkgs.easytier ];
|
||||||
systemd.services."easytier" = {
|
systemd.services."easytier" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
script = "easytier-core -c ${config.sops.secrets.et-imxyy-nix-server.path}";
|
script = "${pkgs.easytier}/bin/easytier-core -c ${config.sops.secrets.et-imxyy-nix-server.path}";
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Restart = lib.mkOverride 500 "always";
|
Restart = lib.mkOverride 500 "always";
|
||||||
RestartMaxDelaySec = lib.mkOverride 500 "1m";
|
RestartMaxDelaySec = lib.mkOverride 500 "1m";
|
||||||
@@ -540,11 +483,6 @@
|
|||||||
"network.target"
|
"network.target"
|
||||||
"sops-nix.service"
|
"sops-nix.service"
|
||||||
];
|
];
|
||||||
path = with pkgs; [
|
|
||||||
easytier
|
|
||||||
iproute2
|
|
||||||
bash
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.oci-containers = {
|
virtualisation.oci-containers = {
|
||||||
@@ -609,6 +547,9 @@
|
|||||||
Restart = "always";
|
Restart = "always";
|
||||||
RestartSec = 120;
|
RestartSec = 120;
|
||||||
};
|
};
|
||||||
|
path = [
|
||||||
|
pkgs.bash
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.dnsmasq =
|
services.dnsmasq =
|
||||||
@@ -621,10 +562,15 @@
|
|||||||
"vault"
|
"vault"
|
||||||
"coder"
|
"coder"
|
||||||
"headscale"
|
"headscale"
|
||||||
|
"grafana"
|
||||||
|
"matrix"
|
||||||
|
"note"
|
||||||
"oidc"
|
"oidc"
|
||||||
"mc"
|
"mc"
|
||||||
"music"
|
"music"
|
||||||
"ai"
|
"ai"
|
||||||
|
"sy"
|
||||||
|
"minio"
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
ports = [ "8093:8080" ];
|
ports = [ "8093:8080" ];
|
||||||
};
|
};
|
||||||
siyuan = {
|
siyuan = {
|
||||||
image = "apkdv/siyuan-unlock:v3.1.24";
|
image = "apkdv/siyuan-unlock:v3.1.30";
|
||||||
volumes = [
|
volumes = [
|
||||||
"/mnt/nas/siyuan/workspace:/workspace"
|
"/mnt/nas/siyuan/workspace:/workspace"
|
||||||
"/mnt/nas/siyuan:/home/siyuan"
|
"/mnt/nas/siyuan:/home/siyuan"
|
||||||
|
|||||||
@@ -26,9 +26,8 @@
|
|||||||
];
|
];
|
||||||
users = {
|
users = {
|
||||||
users.nas = {
|
users.nas = {
|
||||||
isNormalUser = true;
|
isSystemUser = true;
|
||||||
home = "/var/empty";
|
description = "NAS user";
|
||||||
description = "nas user";
|
|
||||||
group = "nextcloud";
|
group = "nextcloud";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -23,6 +23,10 @@ in
|
|||||||
"amd_iommu=on"
|
"amd_iommu=on"
|
||||||
"vfio-pci.ids=${lib.concatStringsSep "," gpuIDs}"
|
"vfio-pci.ids=${lib.concatStringsSep "," gpuIDs}"
|
||||||
];
|
];
|
||||||
|
extraModprobeConfig = ''
|
||||||
|
options kvm ignore_msrs=Y
|
||||||
|
options kvm report_ignored_msrs=N
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
virtualisation.spiceUSBRedirection.enable = true;
|
virtualisation.spiceUSBRedirection.enable = true;
|
||||||
my.virt.enable = true;
|
my.virt.enable = true;
|
||||||
|
|||||||
8
config/hosts/imxyy-nix-x16/default.nix
Normal file
8
config/hosts/imxyy-nix-x16/default.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./nixos.nix
|
||||||
|
./hardware.nix
|
||||||
|
./home.nix
|
||||||
|
./net.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
106
config/hosts/imxyy-nix-x16/hardware.nix
Normal file
106
config/hosts/imxyy-nix-x16/hardware.nix
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
btrfs = "/dev/disk/by-uuid/69ab72d4-6ced-4f70-8b5e-aa2daa8c0b6b";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
boot = {
|
||||||
|
initrd = {
|
||||||
|
kernelModules = [ "amdgpu" ];
|
||||||
|
availableKernelModules = [
|
||||||
|
"nvme"
|
||||||
|
"xhci_pci"
|
||||||
|
"thunderbolt"
|
||||||
|
"uas"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
|
verbose = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
kernelPackages = lib.mkForce pkgs.linuxPackages_cachyos;
|
||||||
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
|
||||||
|
tmp.useTmpfs = true;
|
||||||
|
kernel.sysctl = {
|
||||||
|
"fs.file-max" = 9223372036854775807;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services.scx.enable = true;
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = btrfs;
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [
|
||||||
|
"compress=zstd"
|
||||||
|
"subvol=root"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/nix" = {
|
||||||
|
device = btrfs;
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [
|
||||||
|
"compress=zstd"
|
||||||
|
"subvol=nix"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
my.persist.location = "/nix/persist";
|
||||||
|
fileSystems."/nix/persist" = {
|
||||||
|
device = btrfs;
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [
|
||||||
|
"compress=zstd"
|
||||||
|
"subvol=persist"
|
||||||
|
];
|
||||||
|
neededForBoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.initrd.postDeviceCommands = lib.mkAfter ''
|
||||||
|
mkdir /btrfs_tmp
|
||||||
|
mount ${btrfs} /btrfs_tmp
|
||||||
|
mkdir -p /btrfs_tmp/old_roots
|
||||||
|
if [[ -e /btrfs_tmp/root ]]; then
|
||||||
|
timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S")
|
||||||
|
mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp"
|
||||||
|
fi
|
||||||
|
|
||||||
|
delete_subvolume_recursively() {
|
||||||
|
IFS=$'\n'
|
||||||
|
for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do
|
||||||
|
delete_subvolume_recursively "/btrfs_tmp/$i"
|
||||||
|
done
|
||||||
|
btrfs subvolume delete "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +14); do
|
||||||
|
delete_subvolume_recursively "$i"
|
||||||
|
done
|
||||||
|
|
||||||
|
btrfs subvolume create /btrfs_tmp/root
|
||||||
|
umount /btrfs_tmp
|
||||||
|
'';
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/96D3-93B0";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [
|
||||||
|
"uid=0"
|
||||||
|
"gid=0"
|
||||||
|
"fmask=0077"
|
||||||
|
"dmask=0077"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.useDHCP = lib.mkDefault false;
|
||||||
|
|
||||||
|
hardware.enableRedistributableFirmware = lib.mkDefault true;
|
||||||
|
hardware.cpu.amd.updateMicrocode = config.hardware.enableRedistributableFirmware;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkForce "x86_64-linux";
|
||||||
|
}
|
||||||
141
config/hosts/imxyy-nix-x16/home.nix
Normal file
141
config/hosts/imxyy-nix-x16/home.nix
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
my.home = {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
localsend
|
||||||
|
|
||||||
|
rclone
|
||||||
|
|
||||||
|
wpsoffice-cn
|
||||||
|
wps-office-fonts
|
||||||
|
ttf-wps-fonts
|
||||||
|
evince
|
||||||
|
|
||||||
|
anki
|
||||||
|
|
||||||
|
ayugram-desktop
|
||||||
|
telegram-desktop
|
||||||
|
signal-desktop
|
||||||
|
discord
|
||||||
|
qq
|
||||||
|
wechat
|
||||||
|
|
||||||
|
gnome-clocks
|
||||||
|
|
||||||
|
wineWowPackages.waylandFull
|
||||||
|
|
||||||
|
pavucontrol
|
||||||
|
pamixer
|
||||||
|
];
|
||||||
|
programs.zsh = {
|
||||||
|
sessionVariables = {
|
||||||
|
PATH = "/home/${username}/bin:$PATH";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
my = {
|
||||||
|
gpg.enable = true;
|
||||||
|
cli.all.enable = true;
|
||||||
|
coding.all.enable = true;
|
||||||
|
desktop.all.enable = true;
|
||||||
|
|
||||||
|
desktop.browser.librewolf.enable = lib.mkForce false;
|
||||||
|
|
||||||
|
i18n.fcitx5.enable = true;
|
||||||
|
|
||||||
|
xdg = {
|
||||||
|
enable = true;
|
||||||
|
defaultApplications =
|
||||||
|
let
|
||||||
|
browser = [ "zen-beta.desktop" ];
|
||||||
|
editor = [ "codium.desktop" ];
|
||||||
|
imageviewer = [ "org.gnome.Shotwell-Viewer.desktop" ];
|
||||||
|
in
|
||||||
|
{
|
||||||
|
"inode/directory" = [ "nemo.desktop" ];
|
||||||
|
|
||||||
|
"application/pdf" = [ "org.gnome.Evince.desktop" ];
|
||||||
|
|
||||||
|
"text/*" = editor;
|
||||||
|
"application/json" = editor;
|
||||||
|
"text/html" = editor;
|
||||||
|
"text/xml" = editor;
|
||||||
|
"application/xml" = editor;
|
||||||
|
"application/xhtml+xml" = editor;
|
||||||
|
"application/xhtml_xml" = editor;
|
||||||
|
"application/rdf+xml" = editor;
|
||||||
|
"application/rss+xml" = editor;
|
||||||
|
"application/x-extension-htm" = editor;
|
||||||
|
"application/x-extension-html" = editor;
|
||||||
|
"application/x-extension-shtml" = editor;
|
||||||
|
"application/x-extension-xht" = editor;
|
||||||
|
"application/x-extension-xhtml" = editor;
|
||||||
|
|
||||||
|
"x-scheme-handler/about" = browser;
|
||||||
|
"x-scheme-handler/ftp" = browser;
|
||||||
|
"x-scheme-handler/http" = browser;
|
||||||
|
"x-scheme-handler/https" = browser;
|
||||||
|
"x-scheme-handler/unknown" = browser;
|
||||||
|
|
||||||
|
"audio/*" = imageviewer;
|
||||||
|
"video/*" = imageviewer;
|
||||||
|
"image/*" = imageviewer;
|
||||||
|
"image/gif" = imageviewer;
|
||||||
|
"image/jpeg" = imageviewer;
|
||||||
|
"image/png" = imageviewer;
|
||||||
|
"image/webp" = imageviewer;
|
||||||
|
};
|
||||||
|
extraBookmarks =
|
||||||
|
let
|
||||||
|
homedir = config.my.home.home.homeDirectory;
|
||||||
|
in
|
||||||
|
[
|
||||||
|
"file://${homedir}/NAS NAS"
|
||||||
|
"file://${homedir}/NAS/imxyy_soope_ NAS imxyy_soope_"
|
||||||
|
"file://${homedir}/NAS/imxyy_soope_/OS NAS OS"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
persist = {
|
||||||
|
enable = true;
|
||||||
|
homeDirs = [
|
||||||
|
"Documents"
|
||||||
|
"Downloads"
|
||||||
|
"Videos"
|
||||||
|
"Music"
|
||||||
|
"Pictures"
|
||||||
|
|
||||||
|
"bin"
|
||||||
|
"workspace"
|
||||||
|
|
||||||
|
".cache"
|
||||||
|
".local/state"
|
||||||
|
".local/share/Anki2"
|
||||||
|
".local/share/shotwell"
|
||||||
|
".local/share/cheat.sh"
|
||||||
|
".local/share/Kingsoft"
|
||||||
|
|
||||||
|
".local/share/AyuGramDesktop"
|
||||||
|
".local/share/TelegramDesktop"
|
||||||
|
".config/Signal"
|
||||||
|
".config/discord"
|
||||||
|
".config/QQ"
|
||||||
|
".xwechat"
|
||||||
|
|
||||||
|
".config/Kingsoft"
|
||||||
|
".config/dconf"
|
||||||
|
".config/gh"
|
||||||
|
".config/pulse"
|
||||||
|
".config/pip"
|
||||||
|
".config/libreoffice"
|
||||||
|
".config/sunshine"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
59
config/hosts/imxyy-nix-x16/net.nix
Normal file
59
config/hosts/imxyy-nix-x16/net.nix
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
sopsRoot,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
boot.kernelParams = [
|
||||||
|
"biosdevname=0"
|
||||||
|
"net.ifnames=0"
|
||||||
|
];
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
sops.secrets.dae-imxyy-nix-x16 = {
|
||||||
|
sopsFile = sopsRoot + /dae-imxyy-nix-x16.dae;
|
||||||
|
format = "binary";
|
||||||
|
};
|
||||||
|
services.dae = {
|
||||||
|
enable = true;
|
||||||
|
configFile = config.sops.secrets.dae-imxyy-nix-x16.path;
|
||||||
|
};
|
||||||
|
systemd.services.dae.after = [ "sops-nix.service" ];
|
||||||
|
sops.secrets.mihomo = {
|
||||||
|
sopsFile = sopsRoot + /mihomo.yaml;
|
||||||
|
format = "yaml";
|
||||||
|
key = "";
|
||||||
|
};
|
||||||
|
systemd.services.mihomo.after = [ "sops-nix.service" ];
|
||||||
|
services.mihomo = {
|
||||||
|
enable = true;
|
||||||
|
configFile = config.sops.secrets.mihomo.path;
|
||||||
|
webui = pkgs.metacubexd;
|
||||||
|
};
|
||||||
|
|
||||||
|
sops.secrets.et-imxyy-nix-x16 = {
|
||||||
|
sopsFile = sopsRoot + /et-imxyy-nix-x16.toml;
|
||||||
|
format = "binary";
|
||||||
|
};
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
easytier
|
||||||
|
];
|
||||||
|
systemd.services."easytier" = {
|
||||||
|
enable = true;
|
||||||
|
script = "${pkgs.easytier}/bin/easytier-core -c ${config.sops.secrets.et-imxyy-nix-x16.path}";
|
||||||
|
serviceConfig = {
|
||||||
|
Restart = lib.mkOverride 500 "always";
|
||||||
|
RestartMaxDelaySec = lib.mkOverride 500 "1m";
|
||||||
|
RestartSec = lib.mkOverride 500 "100ms";
|
||||||
|
RestartSteps = lib.mkOverride 500 9;
|
||||||
|
User = "root";
|
||||||
|
};
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
after = [
|
||||||
|
"network.target"
|
||||||
|
"sops-nix.service"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
175
config/hosts/imxyy-nix-x16/nixos.nix
Normal file
175
config/hosts/imxyy-nix-x16/nixos.nix
Normal file
@@ -0,0 +1,175 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
username,
|
||||||
|
sopsRoot,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
security.pam.loginLimits = [
|
||||||
|
{
|
||||||
|
domain = "*";
|
||||||
|
type = "soft";
|
||||||
|
item = "nofile";
|
||||||
|
value = "524288";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.kernelParams = [
|
||||||
|
"usbcore.autosuspend=-1" # Avoid usb autosuspend (for usb bluetooth adapter)
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.loader = {
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
systemd-boot.enable = true;
|
||||||
|
grub.enable = false;
|
||||||
|
timeout = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware.graphics.enable = true;
|
||||||
|
hardware.graphics.enable32Bit = true;
|
||||||
|
|
||||||
|
systemd.services.nix-daemon = {
|
||||||
|
environment.TMPDIR = "/var/cache/nix";
|
||||||
|
serviceConfig.CacheDirectory = "nix";
|
||||||
|
};
|
||||||
|
environment.variables.NIX_REMOTE = "daemon";
|
||||||
|
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = false;
|
||||||
|
alsa.support32Bit = false;
|
||||||
|
pulse.enable = false;
|
||||||
|
audio.enable = false;
|
||||||
|
};
|
||||||
|
services.pulseaudio = {
|
||||||
|
enable = true;
|
||||||
|
support32Bit = true;
|
||||||
|
package = pkgs.pulseaudioFull;
|
||||||
|
extraConfig = ''
|
||||||
|
load-module module-switch-on-connect
|
||||||
|
unload-module module-suspend-on-idle
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
hardware.bluetooth = {
|
||||||
|
enable = true;
|
||||||
|
powerOnBoot = true;
|
||||||
|
settings = {
|
||||||
|
General = {
|
||||||
|
Enable = "Source,Sink,Media,Socket";
|
||||||
|
Disable = "HeadSet";
|
||||||
|
MultiProfile = "multiple";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
users.extraUsers.${username}.extraGroups = [ "audio" ];
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
enableDefaultPackages = false;
|
||||||
|
fontDir.enable = true;
|
||||||
|
|
||||||
|
packages = with pkgs; [
|
||||||
|
noto-fonts
|
||||||
|
noto-fonts-cjk-sans
|
||||||
|
noto-fonts-emoji
|
||||||
|
|
||||||
|
jetbrains-mono
|
||||||
|
|
||||||
|
nerd-fonts.symbols-only
|
||||||
|
];
|
||||||
|
|
||||||
|
fontconfig.defaultFonts = {
|
||||||
|
serif = [
|
||||||
|
"Noto Serif CJK SC"
|
||||||
|
"Noto Serif"
|
||||||
|
"Symbols Nerd Font"
|
||||||
|
];
|
||||||
|
sansSerif = [
|
||||||
|
"Noto Sans CJK SC"
|
||||||
|
"Noto Sans"
|
||||||
|
"Symbols Nerd Font"
|
||||||
|
];
|
||||||
|
monospace = [
|
||||||
|
"JetBrains Mono"
|
||||||
|
"Noto Sans Mono CJK SC"
|
||||||
|
"Symbols Nerd Font Mono"
|
||||||
|
];
|
||||||
|
emoji = [ "Noto Color Emoji" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
services.keyd = {
|
||||||
|
enable = true;
|
||||||
|
keyboards.default.settings = {
|
||||||
|
main = {
|
||||||
|
capslock = "overload(control, esc)";
|
||||||
|
home = "end";
|
||||||
|
};
|
||||||
|
shift = {
|
||||||
|
home = "home";
|
||||||
|
};
|
||||||
|
control = {
|
||||||
|
delete = "print";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.gvfs.enable = true;
|
||||||
|
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
# Forbid root login through SSH.
|
||||||
|
PermitRootLogin = null;
|
||||||
|
PasswordAuthentication = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.rclone
|
||||||
|
];
|
||||||
|
|
||||||
|
sops.secrets.imxyy-nix-rclone = {
|
||||||
|
sopsFile = sopsRoot + /imxyy-nix-rclone.conf;
|
||||||
|
format = "binary";
|
||||||
|
};
|
||||||
|
fileSystems = {
|
||||||
|
"/home/${username}/Nextcloud" = {
|
||||||
|
device = "Nextcloud:";
|
||||||
|
fsType = "rclone";
|
||||||
|
options = [
|
||||||
|
"nodev"
|
||||||
|
"nofail"
|
||||||
|
"allow_other"
|
||||||
|
"args2env"
|
||||||
|
"config=${config.sops.secrets.imxyy-nix-rclone.path}"
|
||||||
|
"uid=1000"
|
||||||
|
"gid=100"
|
||||||
|
"rw"
|
||||||
|
"no-check-certificate"
|
||||||
|
"vfs-cache-mode=full"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"/home/${username}/NAS" = {
|
||||||
|
device = "//10.0.0.1/share";
|
||||||
|
fsType = "cifs";
|
||||||
|
options = [
|
||||||
|
"username=nas"
|
||||||
|
"password=nasshare"
|
||||||
|
"x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s"
|
||||||
|
"nodev"
|
||||||
|
"nofail"
|
||||||
|
"uid=1000"
|
||||||
|
"gid=100"
|
||||||
|
"vers=3"
|
||||||
|
"rw"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
my.persist.nixosDirs = [ "/etc/NetworkManager/system-connections" ];
|
||||||
|
}
|
||||||
@@ -23,7 +23,7 @@ in
|
|||||||
verbose = false;
|
verbose = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
kernelPackages = lib.mkForce pkgs.linuxKernel.packages.linux_zen;
|
kernelPackages = lib.mkForce pkgs.linuxPackages_cachyos;
|
||||||
kernelModules = [ "kvm-amd" ];
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
|
||||||
tmp.useTmpfs = true;
|
tmp.useTmpfs = true;
|
||||||
@@ -36,6 +36,7 @@ in
|
|||||||
"resume_offset=6444127"
|
"resume_offset=6444127"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
services.scx.enable = true;
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = btrfs;
|
device = btrfs;
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
wpsoffice-cn
|
wpsoffice-cn
|
||||||
wps-office-fonts
|
wps-office-fonts
|
||||||
|
ttf-wps-fonts
|
||||||
evince
|
evince
|
||||||
|
|
||||||
anki
|
anki
|
||||||
@@ -21,9 +22,9 @@
|
|||||||
ayugram-desktop
|
ayugram-desktop
|
||||||
telegram-desktop
|
telegram-desktop
|
||||||
signal-desktop
|
signal-desktop
|
||||||
cinny-desktop
|
|
||||||
discord
|
discord
|
||||||
qq
|
qq
|
||||||
|
wechat
|
||||||
|
|
||||||
gnome-clocks
|
gnome-clocks
|
||||||
|
|
||||||
@@ -75,15 +76,6 @@
|
|||||||
scale = 1.25;
|
scale = 1.25;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
spawn-at-startup = [
|
|
||||||
{
|
|
||||||
command = [
|
|
||||||
"sh"
|
|
||||||
"-c"
|
|
||||||
"sleep 3; echo 'Xft.dpi: 120' | ${lib.getExe pkgs.xorg.xrdb} -merge"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -107,14 +99,14 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
defaultApplications =
|
defaultApplications =
|
||||||
let
|
let
|
||||||
browser = [ "chromium-browser.desktop" ];
|
browser = [ "zen-beta.desktop" ];
|
||||||
editor = [ "codium.desktop" ];
|
editor = [ "codium.desktop" ];
|
||||||
imageviewer = [ "org.gnome.Shotwell-Viewer.desktop" ];
|
imageviewer = [ "org.gnome.Shotwell-Viewer.desktop" ];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
"inode/directory" = [ "nemo.desktop" ];
|
"inode/directory" = [ "nemo.desktop" ];
|
||||||
|
|
||||||
"application/pdf" = [ "evince.desktop" ];
|
"application/pdf" = [ "org.gnome.Evince.desktop" ];
|
||||||
|
|
||||||
"text/*" = editor;
|
"text/*" = editor;
|
||||||
"application/json" = editor;
|
"application/json" = editor;
|
||||||
@@ -162,54 +154,32 @@
|
|||||||
".android"
|
".android"
|
||||||
"Android"
|
"Android"
|
||||||
|
|
||||||
".ssh"
|
|
||||||
|
|
||||||
"bin"
|
"bin"
|
||||||
"workspace"
|
"workspace"
|
||||||
"WineApps"
|
|
||||||
"Virt"
|
"Virt"
|
||||||
|
|
||||||
".cache"
|
".cache"
|
||||||
".local/state"
|
".local/state"
|
||||||
".local/share/Anki2"
|
".local/share/Anki2"
|
||||||
".local/share/dooit"
|
|
||||||
".local/share/nvim"
|
|
||||||
".local/share/shotwell"
|
".local/share/shotwell"
|
||||||
".local/share/Steam"
|
|
||||||
".local/share/SteamOS"
|
|
||||||
".local/share/Trash"
|
|
||||||
".local/share/cheat.sh"
|
".local/share/cheat.sh"
|
||||||
".local/share/Kingsoft"
|
".local/share/Kingsoft"
|
||||||
".local/share/oss.krtirtho.spotube"
|
|
||||||
|
|
||||||
".local/share/AyuGramDesktop"
|
".local/share/AyuGramDesktop"
|
||||||
".local/share/TelegramDesktop"
|
".local/share/TelegramDesktop"
|
||||||
".local/share/cinny"
|
|
||||||
".config/Signal"
|
".config/Signal"
|
||||||
".config/discord"
|
".config/discord"
|
||||||
".config/QQ"
|
".config/QQ"
|
||||||
|
".xwechat"
|
||||||
|
|
||||||
".config/Kingsoft"
|
".config/Kingsoft"
|
||||||
".config/dconf"
|
".config/dconf"
|
||||||
".config/gh"
|
".config/gh"
|
||||||
".config/pulse"
|
".config/pulse"
|
||||||
".config/chromium"
|
|
||||||
".config/go-musicfox/db"
|
|
||||||
".config/tmux/plugins"
|
|
||||||
".config/pip"
|
".config/pip"
|
||||||
".config/obs-studio"
|
|
||||||
".config/libreoffice"
|
".config/libreoffice"
|
||||||
".config/Moonlight Game Streaming Project"
|
|
||||||
".config/sunshine"
|
".config/sunshine"
|
||||||
];
|
];
|
||||||
nixosDirs = [
|
|
||||||
"/etc/ssh"
|
|
||||||
];
|
|
||||||
homeFiles = [
|
|
||||||
".config/mpd/mpd.db" # requires bindfs
|
|
||||||
".config/go-musicfox/cookie"
|
|
||||||
".hmcl.json"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -85,10 +85,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.${username}.openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKAEH0EVp/DisV68ZtpN8APDc31ZgphVXfUQaYhkJuLP root@efl-nix"
|
|
||||||
];
|
|
||||||
|
|
||||||
sops.secrets.dae-imxyy-nix = {
|
sops.secrets.dae-imxyy-nix = {
|
||||||
sopsFile = sopsRoot + /dae-imxyy-nix.dae;
|
sopsFile = sopsRoot + /dae-imxyy-nix.dae;
|
||||||
format = "binary";
|
format = "binary";
|
||||||
@@ -117,7 +113,7 @@
|
|||||||
environment.systemPackages = [ pkgs.easytier ];
|
environment.systemPackages = [ pkgs.easytier ];
|
||||||
systemd.services."easytier" = {
|
systemd.services."easytier" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
script = "easytier-core -c ${config.sops.secrets.et-imxyy-nix.path}";
|
script = "${pkgs.easytier}/bin/easytier-core -c ${config.sops.secrets.et-imxyy-nix.path}";
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Restart = lib.mkOverride 500 "always";
|
Restart = lib.mkOverride 500 "always";
|
||||||
RestartMaxDelaySec = lib.mkOverride 500 "1m";
|
RestartMaxDelaySec = lib.mkOverride 500 "1m";
|
||||||
@@ -130,10 +126,5 @@
|
|||||||
"network.target"
|
"network.target"
|
||||||
"sops-nix.service"
|
"sops-nix.service"
|
||||||
];
|
];
|
||||||
path = with pkgs; [
|
|
||||||
easytier
|
|
||||||
iproute2
|
|
||||||
bash
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -132,7 +132,11 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
powerOnBoot = true;
|
powerOnBoot = true;
|
||||||
settings = {
|
settings = {
|
||||||
General.Enable = "Source,Sink,Media,Socket";
|
General = {
|
||||||
|
Enable = "Source,Sink,Media,Socket";
|
||||||
|
Disable = "HeadSet";
|
||||||
|
MultiProfile = "multiple";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
users.extraUsers.${username}.extraGroups = [ "audio" ];
|
users.extraUsers.${username}.extraGroups = [ "audio" ];
|
||||||
@@ -156,19 +160,16 @@ in
|
|||||||
"Noto Serif CJK SC"
|
"Noto Serif CJK SC"
|
||||||
"Noto Serif"
|
"Noto Serif"
|
||||||
"Symbols Nerd Font"
|
"Symbols Nerd Font"
|
||||||
"Noto Color Emoji"
|
|
||||||
];
|
];
|
||||||
sansSerif = [
|
sansSerif = [
|
||||||
"Noto Sans CJK SC"
|
"Noto Sans CJK SC"
|
||||||
"Noto Sans"
|
"Noto Sans"
|
||||||
"Symbols Nerd Font"
|
"Symbols Nerd Font"
|
||||||
"Noto Color Emoji"
|
|
||||||
];
|
];
|
||||||
monospace = [
|
monospace = [
|
||||||
"JetBrains Mono"
|
"JetBrains Mono"
|
||||||
"Noto Sans Mono CJK SC"
|
"Noto Sans Mono CJK SC"
|
||||||
"Symbols Nerd Font Mono"
|
"Symbols Nerd Font Mono"
|
||||||
"Noto Color Emoji"
|
|
||||||
];
|
];
|
||||||
emoji = [ "Noto Color Emoji" ];
|
emoji = [ "Noto Color Emoji" ];
|
||||||
};
|
};
|
||||||
@@ -194,8 +195,6 @@ in
|
|||||||
|
|
||||||
services.gvfs.enable = true;
|
services.gvfs.enable = true;
|
||||||
|
|
||||||
virtualisation.waydroid.enable = true;
|
|
||||||
|
|
||||||
programs.wireshark.enable = true;
|
programs.wireshark.enable = true;
|
||||||
programs.wireshark.package = pkgs.wireshark;
|
programs.wireshark.package = pkgs.wireshark;
|
||||||
users.users.${username}.extraGroups = [ "wireshark" ];
|
users.users.${username}.extraGroups = [ "wireshark" ];
|
||||||
|
|||||||
583
flake.lock
generated
583
flake.lock
generated
@@ -37,11 +37,11 @@
|
|||||||
"base16-helix": {
|
"base16-helix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1736852337,
|
"lastModified": 1748408240,
|
||||||
"narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=",
|
"narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-helix",
|
"repo": "base16-helix",
|
||||||
"rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5",
|
"rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"go-musicfox",
|
"go-musicfox",
|
||||||
"devenv"
|
"devenv"
|
||||||
],
|
],
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728672398,
|
"lastModified": 1728672398,
|
||||||
@@ -98,6 +98,29 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"chaotic": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-schemas": "flake-schemas",
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"jovian": "jovian",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"rust-overlay": "rust-overlay"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1752141190,
|
||||||
|
"narHash": "sha256-RHNq77Z84BtLTwyRtrBffm5V9006Dqw4vh3vrvULlxM=",
|
||||||
|
"owner": "chaotic-cx",
|
||||||
|
"repo": "nyx",
|
||||||
|
"rev": "ef0794b8e94eea166407141f7e92da75f6df925a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "chaotic-cx",
|
||||||
|
"ref": "nyxpkgs-unstable",
|
||||||
|
"repo": "nyx",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"darkly": {
|
"darkly": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -105,11 +128,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747424768,
|
"lastModified": 1750940343,
|
||||||
"narHash": "sha256-pCvcwhwfGsQksBDWRClY3TALLYlascau3SIgFzDODzQ=",
|
"narHash": "sha256-qmc/jreM09MOwQ8dOa/+yyh99rU7TowSqo8L33VHfto=",
|
||||||
"owner": "Bali10050",
|
"owner": "Bali10050",
|
||||||
"repo": "Darkly",
|
"repo": "Darkly",
|
||||||
"rev": "d537f5199e9e2ef11f900e658027864f7e0e6286",
|
"rev": "77770c8d3c35f7ad39da2c57122c360096df0aac",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -124,7 +147,7 @@
|
|||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
"git-hooks": "git-hooks",
|
"git-hooks": "git-hooks",
|
||||||
"nix": "nix",
|
"nix": "nix",
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738772960,
|
"lastModified": 1738772960,
|
||||||
@@ -148,11 +171,11 @@
|
|||||||
"rust-analyzer-src": "rust-analyzer-src"
|
"rust-analyzer-src": "rust-analyzer-src"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747392669,
|
"lastModified": 1752129689,
|
||||||
"narHash": "sha256-zky3+lndxKRu98PAwVK8kXPdg+Q1NVAhaI7YGrboKYA=",
|
"narHash": "sha256-0Xq5tZbvgZvxbbxv6kRHFuZE4Tq2za016NXh32nX0+Q=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "fenix",
|
"repo": "fenix",
|
||||||
"rev": "c3c27e603b0d9b5aac8a16236586696338856fbb",
|
"rev": "70bb04a7de606a75ba0a2ee9d47b99802780b35d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -164,11 +187,11 @@
|
|||||||
"firefox-gnome-theme": {
|
"firefox-gnome-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744642301,
|
"lastModified": 1748383148,
|
||||||
"narHash": "sha256-5A6LL7T0lttn1vrKsNOKUk9V0ittdW0VEqh6AtefxJ4=",
|
"narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=",
|
||||||
"owner": "rafaelmardojai",
|
"owner": "rafaelmardojai",
|
||||||
"repo": "firefox-gnome-theme",
|
"repo": "firefox-gnome-theme",
|
||||||
"rev": "59e3de00f01e5adb851d824cf7911bd90c31083a",
|
"rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -196,26 +219,11 @@
|
|||||||
"flake-compat_2": {
|
"flake-compat_2": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733328505,
|
"lastModified": 1747046372,
|
||||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-compat_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733328505,
|
|
||||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -293,11 +301,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733312601,
|
"lastModified": 1751413152,
|
||||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -321,6 +329,20 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-schemas": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1721999734,
|
||||||
|
"narHash": "sha256-G5CxYeJVm4lcEtaO87LKzOsVnWeTcHGKbKxNamNWgOw=",
|
||||||
|
"rev": "0a5c42297d870156d9c57d8f99e476b738dcd982",
|
||||||
|
"revCount": 75,
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.5/0190ef2f-61e0-794b-ba14-e82f225e55e6/source.tar.gz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.5.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
@@ -339,24 +361,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils_2": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731533236,
|
|
||||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"fromYaml": {
|
"fromYaml": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -400,32 +404,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"git-hooks_2": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": [
|
|
||||||
"stylix",
|
|
||||||
"flake-compat"
|
|
||||||
],
|
|
||||||
"gitignore": "gitignore_2",
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1742649964,
|
|
||||||
"narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=",
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "git-hooks.nix",
|
|
||||||
"rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "git-hooks.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gitignore": {
|
"gitignore": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -449,41 +427,19 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gitignore_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix",
|
|
||||||
"git-hooks",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1709087332,
|
|
||||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "gitignore.nix",
|
|
||||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "gitignore.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gnome-shell": {
|
"gnome-shell": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1732369855,
|
"lastModified": 1748186689,
|
||||||
"narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=",
|
"narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=",
|
||||||
"owner": "GNOME",
|
"owner": "GNOME",
|
||||||
"repo": "gnome-shell",
|
"repo": "gnome-shell",
|
||||||
"rev": "dadd58f630eeea41d645ee225a63f719390829dc",
|
"rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "GNOME",
|
"owner": "GNOME",
|
||||||
"ref": "47.2",
|
"ref": "48.2",
|
||||||
"repo": "gnome-shell",
|
"repo": "gnome-shell",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -501,11 +457,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1740479287,
|
"lastModified": 1748528448,
|
||||||
"narHash": "sha256-uIyQi1XF6uKDEvDiH+V7bJtbnwhHfPGJ3f1/4uivCwQ=",
|
"narHash": "sha256-Tyn+PgBm78Ibq28/WbEz8+pYJZMdbJKsyXMCpT6TjrM=",
|
||||||
"owner": "imxyy1soope1",
|
"owner": "imxyy1soope1",
|
||||||
"repo": "go-musicfox",
|
"repo": "go-musicfox",
|
||||||
"rev": "0012d41c6004fc18b9b9605b6dfaecd0460a0b0d",
|
"rev": "1870fd3501631577ad4daef1489b03885abcb037",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -515,23 +471,44 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home-manager": {
|
"haumea": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747439237,
|
"lastModified": 1685133229,
|
||||||
"narHash": "sha256-5rCGrnkglKKj4cav1U3HC+SIUNJh08pqOK4spQv9RjA=",
|
"narHash": "sha256-FePm/Gi9PBSNwiDFq3N+DWdfxFq0UKsVVTJS3cQPn94=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "haumea",
|
||||||
"rev": "ae755329092c87369b9e9a1510a8cf1ce2b1c708",
|
"rev": "34dd58385092a23018748b50f9b23de6266dffc2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"ref": "v0.2.2",
|
||||||
|
"repo": "haumea",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"chaotic",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1751824240,
|
||||||
|
"narHash": "sha256-aDDC0CHTlL7QDKWWhdbEgVPK6KwWt+ca0QkmHYZxMzI=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "fd9e55f5fac45a26f6169310afca64d56b681935",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "master",
|
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -539,16 +516,37 @@
|
|||||||
"home-manager_2": {
|
"home-manager_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"stylix",
|
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747279714,
|
"lastModified": 1752202894,
|
||||||
"narHash": "sha256-UdxlE8yyrKiGq3bgGyJ78AdFwh+fuRAruKtyFY5Zq5I=",
|
"narHash": "sha256-knafgng4gCjZIUMyAEWjxxdols6n/swkYnbWr+oF+1w=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "954615c510c9faa3ee7fb6607ff72e55905e69f2",
|
"rev": "fab659b346c0d4252208434c3c4b3983a4b38fec",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager_3": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"zen",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1743604125,
|
||||||
|
"narHash": "sha256-ZD61DNbsBt1mQbinAaaEqKaJk2RFo9R/j+eYWeGMx7A=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "180fd43eea296e62ae68e079fcf56aba268b9a1a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -588,6 +586,28 @@
|
|||||||
"url": "https://codeberg.org/amjoseph/infuse.nix"
|
"url": "https://codeberg.org/amjoseph/infuse.nix"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"jovian": {
|
||||||
|
"inputs": {
|
||||||
|
"nix-github-actions": "nix-github-actions",
|
||||||
|
"nixpkgs": [
|
||||||
|
"chaotic",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1751529406,
|
||||||
|
"narHash": "sha256-jwKDHyUycp678zDYa5Hyfq3msO73YMXdZPxp96dU7po=",
|
||||||
|
"owner": "Jovian-Experiments",
|
||||||
|
"repo": "Jovian-NixOS",
|
||||||
|
"rev": "b2e5ce654e4f5bf8905c2e07a96dcf4966e6277d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Jovian-Experiments",
|
||||||
|
"repo": "Jovian-NixOS",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"libgit2": {
|
"libgit2": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -648,11 +668,11 @@
|
|||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747491150,
|
"lastModified": 1752078530,
|
||||||
"narHash": "sha256-UpHzUfmxpKko/4f/Nw971wfw+0EgHEJHkoJ3mGQKDkg=",
|
"narHash": "sha256-TrRmlYdhWcadWvBpDjB9Xlry4uT4ZUIO46d+o5tjtCQ=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "ea61079b4d48031087c0c994782c24c846d4b95e",
|
"rev": "d231d92313192d4d0c78d6ef04167fed9dee87cf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -664,16 +684,16 @@
|
|||||||
"niri-stable": {
|
"niri-stable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1740117926,
|
"lastModified": 1748151941,
|
||||||
"narHash": "sha256-mTTHA0RAaQcdYe+9A3Jx77cmmyLFHmRoZdd8RpWa+m8=",
|
"narHash": "sha256-z4viQZLgC2bIJ3VrzQnR+q2F3gAOEQpU1H5xHtX/2fs=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "b94a5db8790339cf9134873d8b490be69e02ac71",
|
"rev": "8ba57fcf25d2fc9565131684a839d58703f1dae7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"ref": "v25.02",
|
"ref": "v25.05.1",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -681,11 +701,11 @@
|
|||||||
"niri-unstable": {
|
"niri-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747486745,
|
"lastModified": 1750791124,
|
||||||
"narHash": "sha256-ngQ+iTHmBJkEbsjYfCWTJdV8gHhOCTkV8K0at6Y+YHI=",
|
"narHash": "sha256-F5iVU/hjoSHSSe0gllxm0PcAaseEtGNanYK5Ha3k2Tg=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "ae89cb6017668f3a81ccd92461cbbc70ab8377d0",
|
"rev": "37458d94b288945f6cfbd3c5c233f634d59f246c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -702,7 +722,7 @@
|
|||||||
],
|
],
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"libgit2": "libgit2",
|
"libgit2": "libgit2",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nixpkgs-23-11": [
|
"nixpkgs-23-11": [
|
||||||
"go-musicfox",
|
"go-musicfox",
|
||||||
"devenv"
|
"devenv"
|
||||||
@@ -731,6 +751,29 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-github-actions": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"chaotic",
|
||||||
|
"jovian",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1729697500,
|
||||||
|
"narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=",
|
||||||
|
"owner": "zhaofengli",
|
||||||
|
"repo": "nix-github-actions",
|
||||||
|
"rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "zhaofengli",
|
||||||
|
"ref": "matrix-name",
|
||||||
|
"repo": "nix-github-actions",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nix2container": {
|
"nix2container": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
@@ -761,11 +804,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746453552,
|
"lastModified": 1752199438,
|
||||||
"narHash": "sha256-r66UGha+7KVHkI7ksrcMjnw/mm9Sg4l5bQlylxHwdGU=",
|
"narHash": "sha256-xSBMmGtq8K4Qv80TMqREmESCAsRLJRHAbFH2T/2Bf1Y=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"rev": "be618645aa0adf461f778500172b6896d5ab2d01",
|
"rev": "d34d9412556d3a896e294534ccd25f53b6822e80",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -776,11 +819,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730531603,
|
"lastModified": 1751984180,
|
||||||
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
|
"narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
|
"rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -804,11 +847,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-master": {
|
"nixpkgs-master": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747493127,
|
"lastModified": 1752206449,
|
||||||
"narHash": "sha256-OQn2hKMxsujs/Qgync/7mZ4h14bX8j/7HMvonmMa0tk=",
|
"narHash": "sha256-NVAbC/s4CupABWGXF8M9mDiVw/n0YCftxwc1KatVjDk=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b7407d86ecf71a44bbdde98369f9a86011946155",
|
"rev": "1bd4d0d4a678d48b63eb18f457d74df2fcee6c69",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -820,27 +863,27 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747485343,
|
"lastModified": 1752203688,
|
||||||
"narHash": "sha256-YbsZyuRE1tobO9sv0PUwg81QryYo3L1F3R3rF9bcG38=",
|
"narHash": "sha256-uJ054F5PVGPu5SvLPMevhdY/EfK0X5DUyRtXhQYNUyo=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9b5ac7ad45298d58640540d0323ca217f32a6762",
|
"rev": "a70a12c75e13aa546c20ce0fe515de634d52c39e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "release-24.11",
|
"ref": "release-25.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747452614,
|
"lastModified": 1752124863,
|
||||||
"narHash": "sha256-hSEz6JHZTJJTeIudt0SK3UoZnfThHwKCUGvSe5/zn8g=",
|
"narHash": "sha256-5rWuf6RAlMDp/CAEuyYEz7ryxzgjxOCgUDhWEef864c=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "e067fb89ac3e59f993f257c799318132f1492f01",
|
"rev": "40de82b434526744da778ed53c742c1282d9e75e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -851,6 +894,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730531603,
|
||||||
|
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717432640,
|
"lastModified": 1717432640,
|
||||||
"narHash": "sha256-+f9c4/ZX5MWDOuB1rKoWj+lBNm0z0rs4CK47HBLxy1o=",
|
"narHash": "sha256-+f9c4/ZX5MWDOuB1rKoWj+lBNm0z0rs4CK47HBLxy1o=",
|
||||||
@@ -866,7 +925,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1716977621,
|
"lastModified": 1716977621,
|
||||||
"narHash": "sha256-Q1UQzYcMJH4RscmpTkjlgqQDX5yi1tZL0O345Ri6vXQ=",
|
"narHash": "sha256-Q1UQzYcMJH4RscmpTkjlgqQDX5yi1tZL0O345Ri6vXQ=",
|
||||||
@@ -882,13 +941,13 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747327360,
|
"lastModified": 1751984180,
|
||||||
"narHash": "sha256-LSmTbiq/nqZR9B2t4MRnWG7cb0KVNU70dB7RT4+wYK4=",
|
"narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "e06158e58f3adee28b139e9c2bcfcc41f8625b46",
|
"rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -901,15 +960,14 @@
|
|||||||
"nur": {
|
"nur": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_3",
|
"flake-parts": "flake-parts_3",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_5"
|
||||||
"treefmt-nix": "treefmt-nix"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747488149,
|
"lastModified": 1752207112,
|
||||||
"narHash": "sha256-HviZQVzJV6ew3QJY1Qq2k80bYp+1OTnzdMal98b511o=",
|
"narHash": "sha256-dnVoQSGQqEGJQzS6iHAG95c0oFrezzBinwu1bDLj9J4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "9214c6e98991705689c127e2187d4453c5a3d861",
|
"rev": "f166dc14862dfec043f9545e8291cc4402f8b866",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -927,42 +985,19 @@
|
|||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"stylix",
|
"stylix",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
|
||||||
"treefmt-nix": "treefmt-nix_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1746056780,
|
|
||||||
"narHash": "sha256-/emueQGaoT4vu0QjU9LDOG5roxRSfdY0K2KkxuzazcM=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "NUR",
|
|
||||||
"rev": "d476cd0972dd6242d76374fcc277e6735715c167",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "NUR",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"omz": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils_2",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1704103295,
|
"lastModified": 1751906969,
|
||||||
"narHash": "sha256-BAwAKajpAUC78z0IMJt6LXGV8dLdUMYXe6CxbGA0JP0=",
|
"narHash": "sha256-BSQAOdPnzdpOuCdAGSJmefSDlqmStFNScEnrWzSqKPw=",
|
||||||
"owner": "imxyy1soope1",
|
"owner": "nix-community",
|
||||||
"repo": "omz",
|
"repo": "NUR",
|
||||||
"rev": "e581a6d0d47291a3ddd7da5046bea59b29631a3f",
|
"rev": "ddb679f4131e819efe3bbc6457ba19d7ad116f25",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "imxyy1soope1",
|
"owner": "nix-community",
|
||||||
"ref": "master",
|
"repo": "NUR",
|
||||||
"repo": "omz",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -973,11 +1008,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747482026,
|
"lastModified": 1752146885,
|
||||||
"narHash": "sha256-GKLLiilmgQzNN0WY7QylXNlChVB0PAMHgxhsKBR32W0=",
|
"narHash": "sha256-ZJK989GL+bTCQSxbG8v8/7tHMCEl/FPovkeDBNyClQE=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "eebba25ccd7043c6edeefa0a07303e7247f62700",
|
"rev": "d7079b75241c6e2b67f2429996fa7679ffc052e2",
|
||||||
"revCount": 525,
|
"revCount": 616,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||||
},
|
},
|
||||||
@@ -988,10 +1023,12 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"chaotic": "chaotic",
|
||||||
"darkly": "darkly",
|
"darkly": "darkly",
|
||||||
"fenix": "fenix",
|
"fenix": "fenix",
|
||||||
"go-musicfox": "go-musicfox",
|
"go-musicfox": "go-musicfox",
|
||||||
"home-manager": "home-manager",
|
"haumea": "haumea",
|
||||||
|
"home-manager": "home-manager_2",
|
||||||
"impermanence": "impermanence",
|
"impermanence": "impermanence",
|
||||||
"infuse": "infuse",
|
"infuse": "infuse",
|
||||||
"niri": "niri",
|
"niri": "niri",
|
||||||
@@ -1003,20 +1040,20 @@
|
|||||||
"nixpkgs-stable": "nixpkgs-stable",
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"omz": "omz",
|
|
||||||
"quickshell": "quickshell",
|
"quickshell": "quickshell",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"stylix": "stylix"
|
"stylix": "stylix",
|
||||||
|
"zen": "zen"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-analyzer-src": {
|
"rust-analyzer-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747323949,
|
"lastModified": 1752086493,
|
||||||
"narHash": "sha256-G4NwzhODScKnXqt2mEQtDFOnI0wU3L1WxsiHX3cID/0=",
|
"narHash": "sha256-USpVUdiWXDfPoh+agbvoBQaBhg3ZdKZgHXo/HikMfVo=",
|
||||||
"owner": "rust-lang",
|
"owner": "rust-lang",
|
||||||
"repo": "rust-analyzer",
|
"repo": "rust-analyzer",
|
||||||
"rev": "f8e784353bde7cbf9a9046285c1caf41ac484ebe",
|
"rev": "6e3abe164b9036048dce1a3aa65a7e7e5200c0d3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1026,6 +1063,27 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"rust-overlay": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"chaotic",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1751856221,
|
||||||
|
"narHash": "sha256-/QE1eV0ckFvgRMcKjZqgdJDoXFNwSMepwRoBjaw2MCk=",
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"rev": "34cae4b56929c5b340e1c5b10d9a98a425b2a51e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"sops-nix": {
|
"sops-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -1033,11 +1091,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746485181,
|
"lastModified": 1751606940,
|
||||||
"narHash": "sha256-PxrrSFLaC7YuItShxmYbMgSuFFuwxBB+qsl9BZUnRvg=",
|
"narHash": "sha256-KrDPXobG7DFKTOteqdSVeL1bMVitDcy7otpVZWDE6MA=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "e93ee1d900ad264d65e9701a5c6f895683433386",
|
"rev": "3633fc4acf03f43b260244d94c71e9e14a2f6e0d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1053,16 +1111,13 @@
|
|||||||
"base16-helix": "base16-helix",
|
"base16-helix": "base16-helix",
|
||||||
"base16-vim": "base16-vim",
|
"base16-vim": "base16-vim",
|
||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||||
"flake-compat": "flake-compat_3",
|
|
||||||
"flake-parts": "flake-parts_4",
|
"flake-parts": "flake-parts_4",
|
||||||
"git-hooks": "git-hooks_2",
|
|
||||||
"gnome-shell": "gnome-shell",
|
"gnome-shell": "gnome-shell",
|
||||||
"home-manager": "home-manager_2",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"nur": "nur_2",
|
"nur": "nur_2",
|
||||||
"systems": "systems_3",
|
"systems": "systems_2",
|
||||||
"tinted-foot": "tinted-foot",
|
"tinted-foot": "tinted-foot",
|
||||||
"tinted-kitty": "tinted-kitty",
|
"tinted-kitty": "tinted-kitty",
|
||||||
"tinted-schemes": "tinted-schemes",
|
"tinted-schemes": "tinted-schemes",
|
||||||
@@ -1070,11 +1125,11 @@
|
|||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747441332,
|
"lastModified": 1752201883,
|
||||||
"narHash": "sha256-On+cwR/dMW9s+YWsYifIaRs18nNyK5HVFJav6HsRrU8=",
|
"narHash": "sha256-SZVbQ4YThvYU50cJ4W4GNMy7/rVOJI8qmXqbEcRNsug=",
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "101d23dfacbb2704c40639ae9b6ac1d41de7143a",
|
"rev": "d395780b9c5c36f191b990b2021c71af180a1982",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1113,21 +1168,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-foot": {
|
"tinted-foot": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -1148,28 +1188,27 @@
|
|||||||
"tinted-kitty": {
|
"tinted-kitty": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1716423189,
|
"lastModified": 1735730497,
|
||||||
"narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
|
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-kitty",
|
"repo": "tinted-kitty",
|
||||||
"rev": "eb39e141db14baef052893285df9f266df041ff8",
|
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-kitty",
|
"repo": "tinted-kitty",
|
||||||
"rev": "eb39e141db14baef052893285df9f266df041ff8",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tinted-schemes": {
|
"tinted-schemes": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744974599,
|
"lastModified": 1750770351,
|
||||||
"narHash": "sha256-Fg+rdGs5FAgfkYNCs74lnl8vkQmiZVdBsziyPhVqrlY=",
|
"narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "schemes",
|
"repo": "schemes",
|
||||||
"rev": "28c26a621123ad4ebd5bbfb34ab39421c0144bdd",
|
"rev": "5a775c6ffd6e6125947b393872cde95867d85a2a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1181,11 +1220,11 @@
|
|||||||
"tinted-tmux": {
|
"tinted-tmux": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745111349,
|
"lastModified": 1751159871,
|
||||||
"narHash": "sha256-udV+nHdpqgkJI9D0mtvvAzbqubt9jdifS/KhTTbJ45w=",
|
"narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-tmux",
|
"repo": "tinted-tmux",
|
||||||
"rev": "e009f18a01182b63559fb28f1c786eb027c3dee9",
|
"rev": "bded5e24407cec9d01bd47a317d15b9223a1546c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1197,11 +1236,11 @@
|
|||||||
"tinted-zed": {
|
"tinted-zed": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725758778,
|
"lastModified": 1751158968,
|
||||||
"narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=",
|
"narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-zed",
|
"repo": "base16-zed",
|
||||||
"rev": "122c9e5c0e6f27211361a04fae92df97940eccf9",
|
"rev": "86a470d94204f7652b906ab0d378e4231a5b3384",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1210,62 +1249,19 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"treefmt-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nur",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733222881,
|
|
||||||
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"treefmt-nix_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix",
|
|
||||||
"nur",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733222881,
|
|
||||||
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xwayland-satellite-stable": {
|
"xwayland-satellite-stable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739246919,
|
"lastModified": 1748488455,
|
||||||
"narHash": "sha256-/hBM43/Gd0/tW+egrhlWgOIISeJxEs2uAOIYVpfDKeU=",
|
"narHash": "sha256-IiLr1alzKFIy5tGGpDlabQbe6LV1c9ABvkH6T5WmyRI=",
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "44590a416d4a3e8220e19e29e0b6efe64a80315d",
|
"rev": "3ba30b149f9eb2bbf42cf4758d2158ca8cceef73",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"ref": "v0.5.1",
|
"ref": "v0.6",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -1273,11 +1269,11 @@
|
|||||||
"xwayland-satellite-unstable": {
|
"xwayland-satellite-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747111562,
|
"lastModified": 1751228685,
|
||||||
"narHash": "sha256-GAqhWoxaBIk0tgoecZPa8gTHDHxNc0JtlwWHZN2iOOo=",
|
"narHash": "sha256-MENtauGBhJ+kDeFaawvWGXaFG3Il6qQzjaP0RmtfM0k=",
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "ec9ff64c1e0cbec42710b580b7c0f759b1694e72",
|
"rev": "557ebeb616e03d5e4a8049862bbbd1f02c6f020b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1285,6 +1281,27 @@
|
|||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"zen": {
|
||||||
|
"inputs": {
|
||||||
|
"home-manager": "home-manager_3",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1752164817,
|
||||||
|
"narHash": "sha256-LJFIx27IOUowLsJn5wci9mHZ4CesJsiAivQWDjnZPCc=",
|
||||||
|
"owner": "0xc000022070",
|
||||||
|
"repo": "zen-browser-flake",
|
||||||
|
"rev": "9193992c4c2c4349b4280ec2b49648cae208fe63",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "0xc000022070",
|
||||||
|
"repo": "zen-browser-flake",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|||||||
64
flake.nix
64
flake.nix
@@ -4,10 +4,14 @@
|
|||||||
inputs = {
|
inputs = {
|
||||||
# Nixpkgs
|
# Nixpkgs
|
||||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable-small";
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable-small";
|
||||||
nixpkgs-stable.url = "github:nixos/nixpkgs/release-24.11";
|
nixpkgs-stable.url = "github:nixos/nixpkgs/release-25.05";
|
||||||
nixpkgs-master.url = "github:nixos/nixpkgs/master";
|
nixpkgs-master.url = "github:nixos/nixpkgs/master";
|
||||||
# nixpkgs.follows = "nixpkgs-stable";
|
# nixpkgs.follows = "nixpkgs-stable";
|
||||||
nixpkgs.follows = "nixpkgs-unstable";
|
nixpkgs.follows = "nixpkgs-unstable";
|
||||||
|
# nixpkgs.follows = "nixpkgs-master";
|
||||||
|
|
||||||
|
# Nyxpkgs
|
||||||
|
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
||||||
|
|
||||||
# SOPS
|
# SOPS
|
||||||
sops-nix.url = "github:Mic92/sops-nix";
|
sops-nix.url = "github:Mic92/sops-nix";
|
||||||
@@ -23,14 +27,6 @@
|
|||||||
# NUR
|
# NUR
|
||||||
nur.url = "github:nix-community/NUR";
|
nur.url = "github:nix-community/NUR";
|
||||||
|
|
||||||
# NeoVim nightly
|
|
||||||
# neovim-nightly.url = "github:nix-community/neovim-nightly-overlay";
|
|
||||||
# neovim-nightly.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
|
|
||||||
# OMZ
|
|
||||||
omz.url = "github:imxyy1soope1/omz/master";
|
|
||||||
omz.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
|
|
||||||
# Niri
|
# Niri
|
||||||
niri.url = "github:sodiboo/niri-flake";
|
niri.url = "github:sodiboo/niri-flake";
|
||||||
niri.inputs.nixpkgs.follows = "nixpkgs";
|
niri.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@@ -56,8 +52,14 @@
|
|||||||
fenix.url = "github:nix-community/fenix";
|
fenix.url = "github:nix-community/fenix";
|
||||||
fenix.inputs.nixpkgs.follows = "nixpkgs";
|
fenix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
|
zen.url = "github:0xc000022070/zen-browser-flake";
|
||||||
|
zen.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
infuse.url = "git+https://codeberg.org/amjoseph/infuse.nix";
|
infuse.url = "git+https://codeberg.org/amjoseph/infuse.nix";
|
||||||
infuse.flake = false;
|
infuse.flake = false;
|
||||||
|
|
||||||
|
haumea.url = "github:nix-community/haumea/v0.2.2";
|
||||||
|
haumea.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
@@ -78,17 +80,29 @@
|
|||||||
}) (builtins.attrNames (builtins.readDir ./config/hosts))
|
}) (builtins.attrNames (builtins.readDir ./config/hosts))
|
||||||
);
|
);
|
||||||
|
|
||||||
lib = nixpkgs.lib.extend (
|
lib = (import ./lib/stdlib-extended.nix nixpkgs.lib).extend (
|
||||||
final: prev: {
|
final: prev: {
|
||||||
inherit (inputs.home-manager.lib) hm;
|
inherit (inputs.home-manager.lib) hm;
|
||||||
inherit infuse;
|
inherit infuse;
|
||||||
my = import ./lib { lib = final; };
|
haumea = inputs.haumea.lib;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
infuse = (import inputs.infuse { inherit (nixpkgs) lib; }).v1.infuse;
|
infuse = (import inputs.infuse { inherit (nixpkgs) lib; }).v1.infuse;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
|
packages = forAllSystems (
|
||||||
|
system:
|
||||||
|
lib.haumea.load {
|
||||||
|
src = ./pkgs;
|
||||||
|
loader = [
|
||||||
|
{
|
||||||
|
matches = str: builtins.match ".*\\.nix" str != null;
|
||||||
|
loader = _: path: nixpkgs.legacyPackages.${system}.callPackage path { };
|
||||||
|
}
|
||||||
|
];
|
||||||
|
transformer = lib.haumea.transformers.liftDefault;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
# workaround for "treefmt warning"
|
# workaround for "treefmt warning"
|
||||||
formatter = forAllSystems (
|
formatter = forAllSystems (
|
||||||
@@ -110,14 +124,15 @@
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
overlays = import ./overlays { inherit inputs infuse; };
|
overlays = import ./overlays {
|
||||||
|
inherit inputs lib;
|
||||||
|
};
|
||||||
|
|
||||||
nixosConfigurations = forAllHosts (
|
nixosConfigurations = forAllHosts (
|
||||||
hostname:
|
hostname:
|
||||||
let
|
let
|
||||||
overlays = builtins.attrValues self.overlays ++ [
|
overlays = builtins.attrValues self.overlays ++ [
|
||||||
inputs.go-musicfox.overlays.default
|
inputs.go-musicfox.overlays.default
|
||||||
inputs.omz.overlays.default
|
|
||||||
inputs.niri.overlays.niri
|
inputs.niri.overlays.niri
|
||||||
inputs.fenix.overlays.default
|
inputs.fenix.overlays.default
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
@@ -129,7 +144,7 @@
|
|||||||
withJemalloc = true;
|
withJemalloc = true;
|
||||||
withQtSvg = true;
|
withQtSvg = true;
|
||||||
withWayland = true;
|
withWayland = true;
|
||||||
withPipewire = false;
|
withPipewire = true;
|
||||||
withPam = false;
|
withPam = false;
|
||||||
withX11 = false;
|
withX11 = false;
|
||||||
withHyprland = false;
|
withHyprland = false;
|
||||||
@@ -145,6 +160,7 @@
|
|||||||
inputs.sops-nix.homeManagerModules.sops
|
inputs.sops-nix.homeManagerModules.sops
|
||||||
inputs.impermanence.nixosModules.home-manager.impermanence
|
inputs.impermanence.nixosModules.home-manager.impermanence
|
||||||
inputs.stylix.homeModules.stylix
|
inputs.stylix.homeModules.stylix
|
||||||
|
inputs.zen.homeModules.beta
|
||||||
# workaround for annoying stylix
|
# workaround for annoying stylix
|
||||||
(
|
(
|
||||||
{ lib, ... }:
|
{ lib, ... }:
|
||||||
@@ -157,7 +173,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
pkgsConf.nixpkgs = {
|
pkgsConf.nixpkgs = {
|
||||||
overlays = lib.mkForce overlays;
|
inherit overlays;
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
flake.setNixPath = false;
|
flake.setNixPath = false;
|
||||||
};
|
};
|
||||||
@@ -169,13 +185,23 @@
|
|||||||
outputs
|
outputs
|
||||||
hostname
|
hostname
|
||||||
;
|
;
|
||||||
|
|
||||||
sopsRoot = ./secrets;
|
sopsRoot = ./secrets;
|
||||||
|
flake = ./.;
|
||||||
} // vars;
|
} // vars;
|
||||||
modules = [
|
modules =
|
||||||
./modules
|
(lib.umport {
|
||||||
|
paths = [ ./modules ];
|
||||||
|
exclude = [
|
||||||
|
./modules/virt/types
|
||||||
|
./modules/desktop/wm/niri/waybar
|
||||||
|
];
|
||||||
|
recursive = true;
|
||||||
|
})
|
||||||
|
++ [
|
||||||
|
(lib.mkAliasOptionModule [ "my" "home" ] [ "home-manager" "users" vars.username ])
|
||||||
./config/base.nix
|
./config/base.nix
|
||||||
./config/hosts/${hostname}
|
./config/hosts/${hostname}
|
||||||
|
inputs.chaotic.nixosModules.default
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
inputs.impermanence.nixosModules.impermanence
|
inputs.impermanence.nixosModules.impermanence
|
||||||
inputs.home-manager.nixosModules.default
|
inputs.home-manager.nixosModules.default
|
||||||
|
|||||||
@@ -9,5 +9,6 @@ in
|
|||||||
stdlib.extend (
|
stdlib.extend (
|
||||||
self: super: {
|
self: super: {
|
||||||
my = mkMyLib { lib = self; };
|
my = mkMyLib { lib = self; };
|
||||||
|
umport = import ./umport.nix { lib = self; };
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
48
lib/umport.nix
Normal file
48
lib/umport.nix
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# This function is modified from:
|
||||||
|
# https://github.com/yunfachi/nypkgs/blob/master/lib/umport.nix
|
||||||
|
#
|
||||||
|
# !!! REMOVING THIS NOTICE VIOLATES THE MIT LICENSE OF THE UMPORT PROJECT !!!
|
||||||
|
# This notice must be retained in all copies of this function, including modified versions!
|
||||||
|
# The MIT License can be found here:
|
||||||
|
# https://github.com/yunfachi/nypkgs/blob/master/LICENSE
|
||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
umport =
|
||||||
|
{
|
||||||
|
path ? null,
|
||||||
|
paths ? [ ],
|
||||||
|
include ? [ ],
|
||||||
|
exclude ? [ ],
|
||||||
|
recursive ? true,
|
||||||
|
}:
|
||||||
|
with lib;
|
||||||
|
with fileset;
|
||||||
|
let
|
||||||
|
excludedFiles = filter (path: pathIsRegularFile path) exclude;
|
||||||
|
excludedDirs = filter (path: pathIsDirectory path) exclude;
|
||||||
|
isExcluded =
|
||||||
|
path:
|
||||||
|
if elem path excludedFiles then
|
||||||
|
true
|
||||||
|
else
|
||||||
|
(filter (excludedDir: lib.path.hasPrefix excludedDir path) excludedDirs) != [ ];
|
||||||
|
in
|
||||||
|
unique (
|
||||||
|
(filter
|
||||||
|
(file: pathIsRegularFile file && hasSuffix ".nix" (builtins.toString file) && !isExcluded file)
|
||||||
|
(
|
||||||
|
concatMap (
|
||||||
|
_path:
|
||||||
|
if recursive then
|
||||||
|
toList _path
|
||||||
|
else
|
||||||
|
mapAttrsToList (
|
||||||
|
name: type: _path + (if type == "directory" then "/${name}/default.nix" else "/${name}")
|
||||||
|
) (builtins.readDir _path)
|
||||||
|
) (unique (if path == null then paths else [ path ] ++ paths))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
++ (if recursive then concatMap (path: toList path) (unique include) else unique include)
|
||||||
|
);
|
||||||
|
in
|
||||||
|
umport
|
||||||
@@ -12,6 +12,7 @@ lib.my.makeSwitch {
|
|||||||
misc.enable = true;
|
misc.enable = true;
|
||||||
monitor.all.enable = true;
|
monitor.all.enable = true;
|
||||||
shell.all.enable = true;
|
shell.all.enable = true;
|
||||||
|
vcs.all.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
imports = [
|
|
||||||
./all.nix
|
|
||||||
./media
|
|
||||||
./misc
|
|
||||||
./monitor
|
|
||||||
./shell
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
imports = [
|
|
||||||
./all.nix
|
|
||||||
./ffmpeg.nix
|
|
||||||
./mpd
|
|
||||||
./cava
|
|
||||||
./go-musicfox
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -23,6 +23,13 @@ lib.my.makeSwitch {
|
|||||||
};
|
};
|
||||||
|
|
||||||
cli.media.mpd.enable = true;
|
cli.media.mpd.enable = true;
|
||||||
|
|
||||||
|
persist.homeDirs = [
|
||||||
|
".config/go-musicfox/db"
|
||||||
|
];
|
||||||
|
persist.homeFiles = [
|
||||||
|
".config/go-musicfox/cookie"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,12 +14,15 @@ lib.my.makeSwitch {
|
|||||||
];
|
];
|
||||||
config' = {
|
config' = {
|
||||||
my.home = {
|
my.home = {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs.stable; [
|
||||||
mpd
|
mpd
|
||||||
mpc-cli
|
mpc-cli
|
||||||
];
|
];
|
||||||
services.mpris-proxy.enable = true;
|
services.mpris-proxy.enable = true;
|
||||||
xdg.configFile."mpd/mpd.conf".source = ./mpd.conf;
|
xdg.configFile."mpd/mpd.conf".source = ./mpd.conf;
|
||||||
};
|
};
|
||||||
|
my.persist.homeFiles = [
|
||||||
|
".config/mpd/mpd.db"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
85
modules/cli/misc.nix
Normal file
85
modules/cli/misc.nix
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
userfullname,
|
||||||
|
useremail,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
lib.my.makeSwitch {
|
||||||
|
inherit config;
|
||||||
|
default = true;
|
||||||
|
optionName = "misc command line tools";
|
||||||
|
optionPath = [
|
||||||
|
"cli"
|
||||||
|
"misc"
|
||||||
|
];
|
||||||
|
config' = {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
vim
|
||||||
|
wget
|
||||||
|
git
|
||||||
|
|
||||||
|
file
|
||||||
|
gnused
|
||||||
|
gnutar
|
||||||
|
|
||||||
|
zip
|
||||||
|
unzip
|
||||||
|
xz
|
||||||
|
p7zip
|
||||||
|
unrar-free
|
||||||
|
|
||||||
|
pciutils
|
||||||
|
usbutils
|
||||||
|
|
||||||
|
lsof
|
||||||
|
|
||||||
|
nmap
|
||||||
|
traceroute
|
||||||
|
tcping-go
|
||||||
|
dnsutils
|
||||||
|
|
||||||
|
killall
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.dconf.enable = true;
|
||||||
|
|
||||||
|
my.home = {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
lsd
|
||||||
|
fd
|
||||||
|
neofetch
|
||||||
|
fzf
|
||||||
|
bat
|
||||||
|
ripgrep
|
||||||
|
|
||||||
|
aria2
|
||||||
|
socat
|
||||||
|
];
|
||||||
|
programs.tmux = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = "set-option -g mouse on";
|
||||||
|
plugins = [
|
||||||
|
(pkgs.tmuxPlugins.mkTmuxPlugin {
|
||||||
|
pluginName = "tokyo-night-tmux";
|
||||||
|
rtpFilePath = "tokyo-night.tmux";
|
||||||
|
version = "legacy";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "janoamaral";
|
||||||
|
repo = "tokyo-night-tmux";
|
||||||
|
rev = "16469dfad86846138f594ceec780db27039c06cd";
|
||||||
|
hash = "sha256-EKCgYan0WayXnkSb2fDJxookdBLW0XBKi2hf/YISwJE=";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
programs.tealdeer = {
|
||||||
|
enable = true;
|
||||||
|
enableAutoUpdates = true;
|
||||||
|
settings.updates.auto_update = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
set-option -g mouse on
|
|
||||||
|
|
||||||
set -g @plugin 'tmux-plugins/tpm'
|
|
||||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
|
||||||
|
|
||||||
set -g @plugin "janoamaral/tokyo-night-tmux#legacy"
|
|
||||||
|
|
||||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
|
||||||
run '~/.config/tmux/plugins/tpm/tpm'
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
imports = [
|
|
||||||
./all.nix
|
|
||||||
./btop
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
imports = [
|
|
||||||
./all.nix
|
|
||||||
./zsh.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
190
modules/cli/shell/starship-preset.toml
Normal file
190
modules/cli/shell/starship-preset.toml
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
[aws]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[buf]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[bun]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[c]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[cpp]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[cmake]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[conda]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[crystal]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[dart]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[deno]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[directory]
|
||||||
|
read_only = " "
|
||||||
|
|
||||||
|
[docker_context]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[elixir]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[elm]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[fennel]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[fossil_branch]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[gcloud]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[git_branch]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[git_commit]
|
||||||
|
tag_symbol = ' '
|
||||||
|
|
||||||
|
[golang]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[guix_shell]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[haskell]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[haxe]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[hg_branch]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[hostname]
|
||||||
|
ssh_symbol = " "
|
||||||
|
|
||||||
|
[java]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[julia]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[kotlin]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[lua]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[memory_usage]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[meson]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[nim]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[nix_shell]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[nodejs]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[ocaml]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[os.symbols]
|
||||||
|
Alpaquita = " "
|
||||||
|
Alpine = " "
|
||||||
|
AlmaLinux = " "
|
||||||
|
Amazon = " "
|
||||||
|
Android = " "
|
||||||
|
Arch = " "
|
||||||
|
Artix = " "
|
||||||
|
CachyOS = " "
|
||||||
|
CentOS = " "
|
||||||
|
Debian = " "
|
||||||
|
DragonFly = " "
|
||||||
|
Emscripten = " "
|
||||||
|
EndeavourOS = " "
|
||||||
|
Fedora = " "
|
||||||
|
FreeBSD = " "
|
||||||
|
Garuda = " "
|
||||||
|
Gentoo = " "
|
||||||
|
HardenedBSD = " "
|
||||||
|
Illumos = " "
|
||||||
|
Kali = " "
|
||||||
|
Linux = " "
|
||||||
|
Mabox = " "
|
||||||
|
Macos = " "
|
||||||
|
Manjaro = " "
|
||||||
|
Mariner = " "
|
||||||
|
MidnightBSD = " "
|
||||||
|
Mint = " "
|
||||||
|
NetBSD = " "
|
||||||
|
NixOS = " "
|
||||||
|
Nobara = " "
|
||||||
|
OpenBSD = " "
|
||||||
|
openSUSE = " "
|
||||||
|
OracleLinux = " "
|
||||||
|
Pop = " "
|
||||||
|
Raspbian = " "
|
||||||
|
Redhat = " "
|
||||||
|
RedHatEnterprise = " "
|
||||||
|
RockyLinux = " "
|
||||||
|
Redox = " "
|
||||||
|
Solus = " "
|
||||||
|
SUSE = " "
|
||||||
|
Ubuntu = " "
|
||||||
|
Unknown = " "
|
||||||
|
Void = " "
|
||||||
|
Windows = " "
|
||||||
|
|
||||||
|
[package]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[perl]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[php]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[pijul_channel]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[pixi]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[python]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[rlang]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[ruby]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[rust]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[scala]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[swift]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[zig]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[gradle]
|
||||||
|
symbol = " "
|
||||||
@@ -14,12 +14,78 @@ lib.my.makeSwitch {
|
|||||||
"zsh"
|
"zsh"
|
||||||
];
|
];
|
||||||
config' = {
|
config' = {
|
||||||
|
my.persist.homeDirs = [ ".local/share/zoxide" ];
|
||||||
my.home =
|
my.home =
|
||||||
let
|
let
|
||||||
stateHome = config.my.home.xdg.stateHome;
|
stateHome = config.my.home.xdg.stateHome;
|
||||||
|
zsh-syntax-highlighting = pkgs.fetchFromGitHub {
|
||||||
|
owner = "zsh-users";
|
||||||
|
repo = "zsh-syntax-highlighting";
|
||||||
|
rev = "0.8.0";
|
||||||
|
hash = "sha256-iJdWopZwHpSyYl5/FQXEW7gl/SrKaYDEtTH9cGP7iPo=";
|
||||||
|
};
|
||||||
|
fzf-tab = pkgs.fetchFromGitHub {
|
||||||
|
owner = "Aloxaf";
|
||||||
|
repo = "fzf-tab";
|
||||||
|
rev = "v1.2.0";
|
||||||
|
hash = "sha256-q26XVS/LcyZPRqDNwKKA9exgBByE0muyuNb0Bbar2lY=";
|
||||||
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home.packages = [ pkgs.omz ];
|
home.packages = with pkgs; [
|
||||||
|
fzf
|
||||||
|
zoxide
|
||||||
|
];
|
||||||
|
programs.starship = {
|
||||||
|
enable = true;
|
||||||
|
settings = lib.recursiveUpdate (with builtins; fromTOML (readFile ./starship-preset.toml)) {
|
||||||
|
add_newline = false;
|
||||||
|
custom = {
|
||||||
|
jj = {
|
||||||
|
ignore_timeout = true;
|
||||||
|
description = "The current jj status";
|
||||||
|
when = "jj root";
|
||||||
|
symbol = " ";
|
||||||
|
command = ''
|
||||||
|
jj log --revisions @ --no-graph --ignore-working-copy --color always --limit 1 --template '
|
||||||
|
separate(" ",
|
||||||
|
change_id.shortest(4),
|
||||||
|
bookmarks,
|
||||||
|
"|",
|
||||||
|
concat(
|
||||||
|
if(conflict, "💥"),
|
||||||
|
if(divergent, "🚧"),
|
||||||
|
if(hidden, "👻"),
|
||||||
|
if(immutable, "🔒"),
|
||||||
|
),
|
||||||
|
raw_escape_sequence("\x1b[1;32m") ++ if(empty, "(empty)"),
|
||||||
|
raw_escape_sequence("\x1b[1;32m") ++ coalesce(
|
||||||
|
truncate_end(29, description.first_line(), "…"),
|
||||||
|
"(no description set)",
|
||||||
|
) ++ raw_escape_sequence("\x1b[0m"),
|
||||||
|
)
|
||||||
|
'
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
git_branch = {
|
||||||
|
when = true;
|
||||||
|
command = "jj root >/dev/null 2>&1 || starship module git_branch";
|
||||||
|
description = "Only show git_branch if we're not in a jj repo";
|
||||||
|
};
|
||||||
|
git_status = {
|
||||||
|
when = true;
|
||||||
|
command = "jj root >/dev/null 2>&1 || starship module git_status";
|
||||||
|
description = "Only show git_status if we're not in a jj repo";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
git_state.disabled = true;
|
||||||
|
git_commit.disabled = true;
|
||||||
|
git_metrics.disabled = true;
|
||||||
|
git_branch.disabled = true;
|
||||||
|
git_status.disabled = true;
|
||||||
|
nix_shell.disabled = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
dotDir = ".config/zsh";
|
dotDir = ".config/zsh";
|
||||||
@@ -29,14 +95,26 @@ lib.my.makeSwitch {
|
|||||||
"la"
|
"la"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
initContent = ''
|
initContent = lib.mkAfter ''
|
||||||
source ${pkgs.omz}/share/omz/omz.zsh
|
source ${fzf-tab}/fzf-tab.plugin.zsh
|
||||||
|
|
||||||
|
eval "$(zoxide init zsh)"
|
||||||
|
source ${zsh-syntax-highlighting}/zsh-syntax-highlighting.plugin.zsh
|
||||||
|
source ${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||||||
'';
|
'';
|
||||||
sessionVariables = {
|
oh-my-zsh = {
|
||||||
_ZL_DATA = "${stateHome}/zlua";
|
enable = true;
|
||||||
_FZF_HISTORY = "${stateHome}/fzf_history";
|
theme = "gentoo";
|
||||||
|
plugins = [
|
||||||
|
"git"
|
||||||
|
"git-extras"
|
||||||
|
"extract"
|
||||||
|
"sudo"
|
||||||
|
"dotenv"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
|
x = "extract";
|
||||||
ls = "lsd";
|
ls = "lsd";
|
||||||
svim = "sudoedit";
|
svim = "sudoedit";
|
||||||
nf = "neofetch";
|
nf = "neofetch";
|
||||||
|
|||||||
16
modules/cli/vcs/all.nix
Normal file
16
modules/cli/vcs/all.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{ config, lib, ... }:
|
||||||
|
lib.my.makeSwitch {
|
||||||
|
inherit config;
|
||||||
|
optionName = "all command line tools";
|
||||||
|
optionPath = [
|
||||||
|
"cli"
|
||||||
|
"vcs"
|
||||||
|
"all"
|
||||||
|
];
|
||||||
|
config' = {
|
||||||
|
my.cli.vcs = {
|
||||||
|
git.enable = true;
|
||||||
|
jj.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -7,50 +7,17 @@
|
|||||||
useremail,
|
useremail,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
lib.my.makeSwitch {
|
lib.my.makeHomeProgramConfig {
|
||||||
inherit config;
|
inherit config;
|
||||||
default = true;
|
programName = "git";
|
||||||
optionName = "misc command line tools";
|
|
||||||
optionPath = [
|
optionPath = [
|
||||||
"cli"
|
"cli"
|
||||||
"misc"
|
"vcs"
|
||||||
|
"git"
|
||||||
];
|
];
|
||||||
config' = {
|
extraConfig = {
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
vim
|
|
||||||
wget
|
|
||||||
git
|
|
||||||
|
|
||||||
file
|
|
||||||
gnused
|
|
||||||
gnutar
|
|
||||||
|
|
||||||
zip
|
|
||||||
unzip
|
|
||||||
xz
|
|
||||||
p7zip
|
|
||||||
unrar-free
|
|
||||||
|
|
||||||
pciutils
|
|
||||||
usbutils
|
|
||||||
|
|
||||||
lsof
|
|
||||||
|
|
||||||
nmap
|
|
||||||
traceroute
|
|
||||||
tcping-go
|
|
||||||
dnsutils
|
|
||||||
|
|
||||||
killall
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
programs.dconf.enable = true;
|
|
||||||
|
|
||||||
my.home = {
|
my.home = {
|
||||||
programs.home-manager.enable = true;
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
|
||||||
userName = "${userfullname}";
|
userName = "${userfullname}";
|
||||||
userEmail = "${useremail}";
|
userEmail = "${useremail}";
|
||||||
signing = {
|
signing = {
|
||||||
@@ -59,7 +26,6 @@ lib.my.makeSwitch {
|
|||||||
key = "/home/${username}/.ssh/id_ed25519";
|
key = "/home/${username}/.ssh/id_ed25519";
|
||||||
};
|
};
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
pull.rebase = true;
|
|
||||||
push.autoSetupRemote = true;
|
push.autoSetupRemote = true;
|
||||||
gpg.ssh.allowedSignersFile =
|
gpg.ssh.allowedSignersFile =
|
||||||
(pkgs.writeText "allowed_signers" ''
|
(pkgs.writeText "allowed_signers" ''
|
||||||
@@ -71,31 +37,6 @@ lib.my.makeSwitch {
|
|||||||
programs.lazygit = {
|
programs.lazygit = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
lsd
|
|
||||||
fd
|
|
||||||
neofetch
|
|
||||||
fzf
|
|
||||||
bat
|
|
||||||
ripgrep
|
|
||||||
|
|
||||||
aria2
|
|
||||||
socat
|
|
||||||
|
|
||||||
nix-output-monitor
|
|
||||||
|
|
||||||
tmux
|
|
||||||
|
|
||||||
trash-cli
|
|
||||||
|
|
||||||
cht-sh
|
|
||||||
|
|
||||||
dooit
|
|
||||||
|
|
||||||
# translate-shell
|
|
||||||
];
|
|
||||||
xdg.configFile."tmux/tmux.conf".source = ./tmux.conf;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
45
modules/cli/vcs/jj.nix
Normal file
45
modules/cli/vcs/jj.nix
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
userfullname,
|
||||||
|
useremail,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
lib.my.makeHomeProgramConfig {
|
||||||
|
inherit config;
|
||||||
|
programName = "jujutsu";
|
||||||
|
optionPath = [
|
||||||
|
"cli"
|
||||||
|
"vcs"
|
||||||
|
"jj"
|
||||||
|
];
|
||||||
|
extraConfig = {
|
||||||
|
my.home = {
|
||||||
|
programs.jujutsu = {
|
||||||
|
settings = {
|
||||||
|
user = {
|
||||||
|
name = "${userfullname}";
|
||||||
|
email = "${useremail}";
|
||||||
|
};
|
||||||
|
ui = {
|
||||||
|
graph.style = "square";
|
||||||
|
default-command = "status";
|
||||||
|
};
|
||||||
|
signing = {
|
||||||
|
backend = "ssh";
|
||||||
|
behavior = "own";
|
||||||
|
key = "/home/${username}/.ssh/id_ed25519";
|
||||||
|
backends.backends.ssh.allowed-signers =
|
||||||
|
(pkgs.writeText "allowed_signers" ''
|
||||||
|
imxyy1soope1@gmail.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOEFLUkyeaK8ZPPZdVNEmtx8zvoxi7xqS2Z6oxRBuUPO imxyy@imxyy-nix
|
||||||
|
imxyy@imxyy.top ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOEFLUkyeaK8ZPPZdVNEmtx8zvoxi7xqS2Z6oxRBuUPO imxyy@imxyy-nix
|
||||||
|
'').outPath;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
home.packages = [ pkgs.lazyjj ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
imports = [
|
|
||||||
./all.nix
|
|
||||||
./misc.nix
|
|
||||||
./langs
|
|
||||||
./editor
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -11,6 +11,7 @@ lib.my.makeSwitch {
|
|||||||
my.coding.editor = {
|
my.coding.editor = {
|
||||||
neovim.enable = true;
|
neovim.enable = true;
|
||||||
vscode.enable = true;
|
vscode.enable = true;
|
||||||
|
zed.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
imports = [
|
|
||||||
./all.nix
|
|
||||||
./neovim
|
|
||||||
./vscode
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -20,9 +20,6 @@ lib.my.makeHomeProgramConfig {
|
|||||||
recursive = true;
|
recursive = true;
|
||||||
};
|
};
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
package = pkgs.neovim-unwrapped.overrideAttrs {
|
|
||||||
treesitter-parsers = { };
|
|
||||||
};
|
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
viAlias = true;
|
viAlias = true;
|
||||||
@@ -57,5 +54,8 @@ lib.my.makeHomeProgramConfig {
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
my.persist.homeDirs = [
|
||||||
|
".local/share/nvim"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,4 +6,3 @@ require("langs.langs-setup")
|
|||||||
require("plugins.plugins-setup")
|
require("plugins.plugins-setup")
|
||||||
|
|
||||||
require("core.autostart")
|
require("core.autostart")
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ function G.switch_input_method(req)
|
|||||||
return input_status
|
return input_status
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function G.buf_kill(kill_command, bufnr, force)
|
function G.buf_kill(kill_command, bufnr, force)
|
||||||
kill_command = kill_command or "bd"
|
kill_command = kill_command or "bd"
|
||||||
|
|
||||||
@@ -61,7 +60,8 @@ function G.buf_kill(kill_command, bufnr, force)
|
|||||||
end)
|
end)
|
||||||
elseif choice == 2 then
|
elseif choice == 2 then
|
||||||
force = true
|
force = true
|
||||||
else return
|
else
|
||||||
|
return
|
||||||
end
|
end
|
||||||
elseif api.nvim_buf_get_option(bufnr, "buftype") == "terminal" then
|
elseif api.nvim_buf_get_option(bufnr, "buftype") == "terminal" then
|
||||||
choice = fn.confirm(fmt([[Close "%s"?]], bufname), "&Yes\n&No\n&Cancel")
|
choice = fn.confirm(fmt([[Close "%s"?]], bufname), "&Yes\n&No\n&Cancel")
|
||||||
|
|||||||
@@ -39,7 +39,9 @@ keymap.set("n", "<leader>ww", ":w<CR>", opt)
|
|||||||
keymap.set("n", "<leader>so", ":so<CR>", opt)
|
keymap.set("n", "<leader>so", ":so<CR>", opt)
|
||||||
keymap.set("n", "<leader>qq", ":q<CR>", opt)
|
keymap.set("n", "<leader>qq", ":q<CR>", opt)
|
||||||
keymap.set("n", "<leader>qa", ":qa<CR>", opt)
|
keymap.set("n", "<leader>qa", ":qa<CR>", opt)
|
||||||
keymap.set("n", "<leader>c", function () buf_kill("bd", nil, false) end, opt)
|
keymap.set("n", "<leader>c", function()
|
||||||
|
buf_kill("bd", nil, false)
|
||||||
|
end, opt)
|
||||||
|
|
||||||
keymap.set("n", "<C-up>", ":resize +5<CR>", opt)
|
keymap.set("n", "<C-up>", ":resize +5<CR>", opt)
|
||||||
keymap.set("n", "<C-down>", ":resize -5<CR>", opt)
|
keymap.set("n", "<C-down>", ":resize -5<CR>", opt)
|
||||||
@@ -63,9 +65,8 @@ keymap.set("n", "<leader>wr", ":WorkspacesRemove<CR>", opt)
|
|||||||
|
|
||||||
-- Neovide config
|
-- Neovide config
|
||||||
if vim.g.neovide then
|
if vim.g.neovide then
|
||||||
keymap.set("v", "<C-C>", "\"+y", opt)
|
keymap.set("v", "<C-C>", '"+y', opt)
|
||||||
keymap.set("n", "<C-V>", "\"+P", opt)
|
keymap.set("n", "<C-V>", '"+P', opt)
|
||||||
keymap.set("i", "<C-V>", "<ESC>l\"+Pli", opt)
|
keymap.set("i", "<C-V>", '<ESC>l"+Pli', opt)
|
||||||
keymap.set("c", "<C-V>", "<C-R>+", opt)
|
keymap.set("c", "<C-V>", "<C-R>+", opt)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -36,8 +36,8 @@ vim.g.autoread = true
|
|||||||
vim.g.loaded_ruby_provider = 0
|
vim.g.loaded_ruby_provider = 0
|
||||||
|
|
||||||
-- Hightlight on yank
|
-- Hightlight on yank
|
||||||
local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true })
|
local highlight_group = vim.api.nvim_create_augroup("YankHighlight", { clear = true })
|
||||||
vim.api.nvim_create_autocmd('TextYankPost', {
|
vim.api.nvim_create_autocmd("TextYankPost", {
|
||||||
callback = function()
|
callback = function()
|
||||||
vim.highlight.on_yank()
|
vim.highlight.on_yank()
|
||||||
end,
|
end,
|
||||||
@@ -62,7 +62,7 @@ vim.api.nvim_create_autocmd("InsertLeave", {
|
|||||||
callback = function()
|
callback = function()
|
||||||
Last_input_method = require("core.globals").switch_input_method(1)
|
Last_input_method = require("core.globals").switch_input_method(1)
|
||||||
end,
|
end,
|
||||||
group = "AutoInputMethod"
|
group = "AutoInputMethod",
|
||||||
})
|
})
|
||||||
vim.api.nvim_create_autocmd("CmdlineLeave", {
|
vim.api.nvim_create_autocmd("CmdlineLeave", {
|
||||||
pattern = "*",
|
pattern = "*",
|
||||||
@@ -70,7 +70,7 @@ vim.api.nvim_create_autocmd("CmdlineLeave", {
|
|||||||
callback = function()
|
callback = function()
|
||||||
require("core.globals").switch_input_method(1)
|
require("core.globals").switch_input_method(1)
|
||||||
end,
|
end,
|
||||||
group = "AutoInputMethod"
|
group = "AutoInputMethod",
|
||||||
})
|
})
|
||||||
vim.api.nvim_create_autocmd("InsertEnter", {
|
vim.api.nvim_create_autocmd("InsertEnter", {
|
||||||
pattern = "*",
|
pattern = "*",
|
||||||
@@ -78,7 +78,7 @@ vim.api.nvim_create_autocmd("InsertEnter", {
|
|||||||
callback = function()
|
callback = function()
|
||||||
require("core.globals").switch_input_method(Last_input_method)
|
require("core.globals").switch_input_method(Last_input_method)
|
||||||
end,
|
end,
|
||||||
group = "AutoInputMethod"
|
group = "AutoInputMethod",
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
@@ -89,8 +89,8 @@ vim.api.nvim_create_autocmd("FileType", {
|
|||||||
-- credit: https://github.com/sam4llis/nvim-lua-gf
|
-- credit: https://github.com/sam4llis/nvim-lua-gf
|
||||||
vim.opt_local.include = [[\v<((do|load)file|require|reload)[^''"]*[''"]\zs[^''"]+]]
|
vim.opt_local.include = [[\v<((do|load)file|require|reload)[^''"]*[''"]\zs[^''"]+]]
|
||||||
vim.opt_local.includeexpr = "substitute(v:fname,'\\.','/','g')"
|
vim.opt_local.includeexpr = "substitute(v:fname,'\\.','/','g')"
|
||||||
vim.opt_local.suffixesadd:prepend ".lua"
|
vim.opt_local.suffixesadd:prepend(".lua")
|
||||||
vim.opt_local.suffixesadd:prepend "init.lua"
|
vim.opt_local.suffixesadd:prepend("init.lua")
|
||||||
|
|
||||||
for _, path in pairs(vim.api.nvim_list_runtime_paths()) do
|
for _, path in pairs(vim.api.nvim_list_runtime_paths()) do
|
||||||
vim.opt_local.path:append(path .. "/lua")
|
vim.opt_local.path:append(path .. "/lua")
|
||||||
@@ -98,13 +98,6 @@ vim.api.nvim_create_autocmd("FileType", {
|
|||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
-- fix https://github.com/neovim/neovim/issues/21856
|
|
||||||
vim.api.nvim_create_autocmd({ "VimLeave" }, {
|
|
||||||
callback = function()
|
|
||||||
vim.fn.jobstart("", { detach = true })
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- MkDir
|
-- MkDir
|
||||||
vim.api.nvim_create_user_command("MakeDirectory", function()
|
vim.api.nvim_create_user_command("MakeDirectory", function()
|
||||||
---@diagnostic disable-next-line: missing-parameter
|
---@diagnostic disable-next-line: missing-parameter
|
||||||
@@ -116,25 +109,3 @@ vim.api.nvim_create_user_command("MakeDirectory", function()
|
|||||||
vim.notify("Directory already exists", vim.log.levels.WARN, { title = "Nvim" })
|
vim.notify("Directory already exists", vim.log.levels.WARN, { title = "Nvim" })
|
||||||
end
|
end
|
||||||
end, { desc = "Create directory if it doesn't exist" })
|
end, { desc = "Create directory if it doesn't exist" })
|
||||||
|
|
||||||
-- Neovide config
|
|
||||||
if vim.g.neovide then
|
|
||||||
local global = vim.g
|
|
||||||
vim.o.guifont = "monospace:h14"
|
|
||||||
global.neovide_padding_top = 0
|
|
||||||
global.neovide_padding_bottom = 0
|
|
||||||
global.neovide_padding_right = 0
|
|
||||||
global.neovide_padding_left = 0
|
|
||||||
global.neovide_hide_mouse_when_typing = true
|
|
||||||
global.neovide_cursor_animation_length = 0.05
|
|
||||||
global.neovide_cursor_trail_size = 0.15
|
|
||||||
global.neovide_confirm_quit = true
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd({ "VimEnter" }, {
|
|
||||||
callback = function()
|
|
||||||
-- A dumb way to clear annoying NeoVim startup screen
|
|
||||||
vim.cmd("normal ia")
|
|
||||||
vim.cmd("normal u")
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|||||||
@@ -10,4 +10,3 @@ vim.api.nvim_create_autocmd("BufWritePre", {
|
|||||||
end,
|
end,
|
||||||
group = "Go",
|
group = "Go",
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -32,4 +32,3 @@ vim.api.nvim_create_autocmd("BufLeave", {
|
|||||||
end,
|
end,
|
||||||
group = "Lua",
|
group = "Lua",
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -32,4 +32,3 @@ vim.api.nvim_create_autocmd("BufLeave", {
|
|||||||
end,
|
end,
|
||||||
group = "Markdown",
|
group = "Markdown",
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -32,4 +32,3 @@ vim.api.nvim_create_autocmd("BufLeave", {
|
|||||||
end,
|
end,
|
||||||
group = "Nix",
|
group = "Nix",
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -8,4 +8,3 @@ vim.api.nvim_create_autocmd("BufWritePost", {
|
|||||||
end,
|
end,
|
||||||
group = "Rust",
|
group = "Rust",
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -5,14 +5,14 @@ M = {
|
|||||||
javascript = { "string", "template_string" },
|
javascript = { "string", "template_string" },
|
||||||
},
|
},
|
||||||
fast_wrap = {
|
fast_wrap = {
|
||||||
map = '<M-e>',
|
map = "<M-e>",
|
||||||
chars = { '{', '[', '(', '"', "'" },
|
chars = { "{", "[", "(", '"', "'" },
|
||||||
pattern = [=[[%'%"%)%>%]%)%}%,]]=],
|
pattern = [=[[%'%"%)%>%]%)%}%,]]=],
|
||||||
end_key = '$',
|
end_key = "$",
|
||||||
keys = 'qwertyuiopzxcvbnmasdfghjkl',
|
keys = "qwertyuiopzxcvbnmasdfghjkl",
|
||||||
check_comma = true,
|
check_comma = true,
|
||||||
highlight = 'Search',
|
highlight = "Search",
|
||||||
highlight_grey='Comment'
|
highlight_grey = "Comment",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -23,4 +23,3 @@ if ok then
|
|||||||
end
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ local buf_kill = require("core.globals").buf_kill
|
|||||||
M = {
|
M = {
|
||||||
highlights = {
|
highlights = {
|
||||||
buffer_selected = {
|
buffer_selected = {
|
||||||
bold = true
|
bold = true,
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
options = {
|
options = {
|
||||||
diagnostics = "nvim_lsp",
|
diagnostics = "nvim_lsp",
|
||||||
@@ -13,19 +13,18 @@ M = {
|
|||||||
filetype = "NvimTree",
|
filetype = "NvimTree",
|
||||||
text = "File Explorer",
|
text = "File Explorer",
|
||||||
highlight = "Directory",
|
highlight = "Directory",
|
||||||
text_align = "center"
|
text_align = "center",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
close_command = function (bufnr)
|
close_command = function(bufnr)
|
||||||
buf_kill("bd", bufnr, false)
|
buf_kill("bd", bufnr, false)
|
||||||
end,
|
end,
|
||||||
right_mouse_command = function (bufnr)
|
right_mouse_command = function(bufnr)
|
||||||
buf_kill("bd", bufnr, true)
|
buf_kill("bd", bufnr, true)
|
||||||
end
|
end,
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
vim.opt.termguicolors = true
|
vim.opt.termguicolors = true
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
||||||
|
|||||||
@@ -3,21 +3,20 @@ local cmp = require("cmp")
|
|||||||
M = {
|
M = {
|
||||||
window = {
|
window = {
|
||||||
completion = {
|
completion = {
|
||||||
border = 'rounded',
|
border = "rounded",
|
||||||
scrollbar = '║',
|
scrollbar = "║",
|
||||||
},
|
},
|
||||||
documentation = {
|
documentation = {
|
||||||
border = 'rounded',
|
border = "rounded",
|
||||||
scrollbar = '║',
|
scrollbar = "║",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
formatting = {
|
formatting = {
|
||||||
format = require('lspkind').cmp_format({
|
format = require("lspkind").cmp_format({
|
||||||
mode = "symbol",
|
mode = "symbol",
|
||||||
maxwidth = 50,
|
maxwidth = 50,
|
||||||
ellipsis_char = '...',
|
ellipsis_char = "...",
|
||||||
symbol_map = { Codeium = "", }
|
}),
|
||||||
})
|
|
||||||
},
|
},
|
||||||
snippet = {
|
snippet = {
|
||||||
expand = function(args)
|
expand = function(args)
|
||||||
@@ -29,7 +28,7 @@ M = {
|
|||||||
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||||
["<Escape>"] = cmp.mapping.abort(),
|
["<Escape>"] = cmp.mapping.abort(),
|
||||||
["<Tab>"] = cmp.mapping.confirm({ select = true }),
|
["<Tab>"] = cmp.mapping.confirm({ select = true }),
|
||||||
["<Up>"] = cmp.mapping(function (fallback)
|
["<Up>"] = cmp.mapping(function(fallback)
|
||||||
if cmp.visible() then
|
if cmp.visible() then
|
||||||
cmp.select_prev_item()
|
cmp.select_prev_item()
|
||||||
else
|
else
|
||||||
@@ -37,9 +36,9 @@ M = {
|
|||||||
end
|
end
|
||||||
end, {
|
end, {
|
||||||
"i",
|
"i",
|
||||||
"s"
|
"s",
|
||||||
}),
|
}),
|
||||||
["<Down>"] = cmp.mapping(function (fallback)
|
["<Down>"] = cmp.mapping(function(fallback)
|
||||||
if cmp.visible() then
|
if cmp.visible() then
|
||||||
cmp.select_next_item()
|
cmp.select_next_item()
|
||||||
else
|
else
|
||||||
@@ -47,22 +46,19 @@ M = {
|
|||||||
end
|
end
|
||||||
end, {
|
end, {
|
||||||
"i",
|
"i",
|
||||||
"s"
|
"s",
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
sources = cmp.config.sources({
|
sources = cmp.config.sources({
|
||||||
{ name = "nvim_lsp" },
|
{ name = "nvim_lsp" },
|
||||||
{ name = "luasnip" },
|
{ name = "luasnip" },
|
||||||
-- { name = "codeium" },
|
|
||||||
{ name = "path" },
|
{ name = "path" },
|
||||||
}, {
|
}, {
|
||||||
{ name = "buffer" },
|
{ name = "buffer" },
|
||||||
})
|
}),
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
vim.o.wildmenu = true
|
vim.o.wildmenu = true
|
||||||
vim.o.pumheight = 10
|
vim.o.pumheight = 10
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
||||||
|
|||||||
@@ -1,34 +1,30 @@
|
|||||||
M = {
|
M = {
|
||||||
sources = {
|
sources = {
|
||||||
friendly_snippets = true
|
friendly_snippets = true,
|
||||||
},
|
},
|
||||||
history = true,
|
history = true,
|
||||||
updateevents = { "TextChanged", "TextChangedI" }
|
updateevents = { "TextChanged", "TextChangedI" },
|
||||||
}
|
}
|
||||||
|
|
||||||
-- vscode format
|
-- vscode format
|
||||||
require("luasnip.loaders.from_vscode").lazy_load()
|
require("luasnip.loaders.from_vscode").lazy_load()
|
||||||
require("luasnip.loaders.from_vscode").lazy_load { paths = vim.g.vscode_snippets_path or "" }
|
require("luasnip.loaders.from_vscode").lazy_load({ paths = vim.g.vscode_snippets_path or "" })
|
||||||
|
|
||||||
-- snipmate format
|
-- snipmate format
|
||||||
require("luasnip.loaders.from_snipmate").load()
|
require("luasnip.loaders.from_snipmate").load()
|
||||||
require("luasnip.loaders.from_snipmate").lazy_load { paths = vim.g.snipmate_snippets_path or "" }
|
require("luasnip.loaders.from_snipmate").lazy_load({ paths = vim.g.snipmate_snippets_path or "" })
|
||||||
|
|
||||||
-- lua format
|
-- lua format
|
||||||
require("luasnip.loaders.from_lua").load()
|
require("luasnip.loaders.from_lua").load()
|
||||||
require("luasnip.loaders.from_lua").lazy_load { paths = vim.g.lua_snippets_path or "" }
|
require("luasnip.loaders.from_lua").lazy_load({ paths = vim.g.lua_snippets_path or "" })
|
||||||
|
|
||||||
local luasnip = require("luasnip")
|
local luasnip = require("luasnip")
|
||||||
vim.api.nvim_create_autocmd("InsertLeave", {
|
vim.api.nvim_create_autocmd("InsertLeave", {
|
||||||
callback = function()
|
callback = function()
|
||||||
if
|
if luasnip.session.current_nodes[vim.api.nvim_get_current_buf()] and not luasnip.session.jump_active then
|
||||||
luasnip.session.current_nodes[vim.api.nvim_get_current_buf()]
|
|
||||||
and not luasnip.session.jump_active
|
|
||||||
then
|
|
||||||
luasnip.unlink_current()
|
luasnip.unlink_current()
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
M = {}
|
|
||||||
|
|
||||||
return M
|
|
||||||
|
|
||||||
@@ -1,19 +1,18 @@
|
|||||||
M = {
|
M = {
|
||||||
signs = {
|
signs = {
|
||||||
add = { text = '▎', color = "green" },
|
add = { text = "▎", color = "green" },
|
||||||
change = { text = '▎', color = "blue" },
|
change = { text = "▎", color = "blue" },
|
||||||
delete = { text = '_' },
|
delete = { text = "_" },
|
||||||
topdelete = { text = '‾' },
|
topdelete = { text = "‾" },
|
||||||
changedelete = { text = '~' },
|
changedelete = { text = "~" },
|
||||||
},
|
},
|
||||||
current_line_blame = true,
|
current_line_blame = true,
|
||||||
current_line_blame_opts = {
|
current_line_blame_opts = {
|
||||||
virt_text = true,
|
virt_text = true,
|
||||||
virt_text_pos = 'eol',
|
virt_text_pos = "eol",
|
||||||
delay = 0,
|
delay = 0,
|
||||||
ignore_whitespace = false,
|
ignore_whitespace = false,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
M = {
|
M = {
|
||||||
enabled = true,
|
enabled = true,
|
||||||
indent = {
|
indent = {
|
||||||
tab_char = "▎"
|
tab_char = "▎",
|
||||||
},
|
},
|
||||||
scope = {
|
scope = {
|
||||||
enabled = true,
|
enabled = true,
|
||||||
show_start = false,
|
show_start = false,
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
vim.opt.list = true
|
vim.opt.list = true
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
M = {}
|
M = {}
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
||||||
|
|||||||
@@ -20,24 +20,24 @@ local extra_config = {
|
|||||||
vim.api.nvim_get_runtime_file("", true),
|
vim.api.nvim_get_runtime_file("", true),
|
||||||
"${3rd}/luv/library",
|
"${3rd}/luv/library",
|
||||||
"${3rd}/luassert/library",
|
"${3rd}/luassert/library",
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
diagnostics = {
|
diagnostics = {
|
||||||
globals = {
|
globals = {
|
||||||
"vim"
|
"vim",
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
completion = {
|
completion = {
|
||||||
callSnippet = "Replace"
|
callSnippet = "Replace",
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
rust_analyzer = {
|
rust_analyzer = {
|
||||||
settings = {
|
settings = {
|
||||||
rust_analyzer = {
|
rust_analyzer = {
|
||||||
check = {
|
check = {
|
||||||
command = "clippy"
|
command = "clippy",
|
||||||
},
|
},
|
||||||
diagnostics = {
|
diagnostics = {
|
||||||
experimental = true,
|
experimental = true,
|
||||||
@@ -45,7 +45,7 @@ local extra_config = {
|
|||||||
formatting = {
|
formatting = {
|
||||||
command = { "rustfmt" },
|
command = { "rustfmt" },
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
nixd = {
|
nixd = {
|
||||||
@@ -59,8 +59,11 @@ local extra_config = {
|
|||||||
expr = '(builtins.getFlake ("git+file://" + toString ./.)).nixosConfigurations.imxyy-nix.options',
|
expr = '(builtins.getFlake ("git+file://" + toString ./.)).nixosConfigurations.imxyy-nix.options',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
|
},
|
||||||
|
qmlls = {
|
||||||
|
cmd = {"qmlls", "-E"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,7 +77,7 @@ local lspconfig = require("lspconfig")
|
|||||||
for _, server in ipairs(servers) do
|
for _, server in ipairs(servers) do
|
||||||
local extra = extra_config[server] or {}
|
local extra = extra_config[server] or {}
|
||||||
local config = {
|
local config = {
|
||||||
capabilities = capabilities
|
capabilities = capabilities,
|
||||||
}
|
}
|
||||||
for k, v in pairs(extra) do
|
for k, v in pairs(extra) do
|
||||||
config[k] = v
|
config[k] = v
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
M = {
|
M = {
|
||||||
-- ensure_installed = require("plugins.lsp.servers")
|
-- ensure_installed = require("plugins.lsp.servers")
|
||||||
ensure_installed = {}
|
ensure_installed = {},
|
||||||
}
|
}
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
||||||
|
|||||||
@@ -3,10 +3,9 @@ M = {
|
|||||||
icons = {
|
icons = {
|
||||||
package_installed = "✓",
|
package_installed = "✓",
|
||||||
package_pending = "➜",
|
package_pending = "➜",
|
||||||
package_uninstalled = "✗"
|
package_uninstalled = "✗",
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
||||||
|
|||||||
@@ -4,15 +4,22 @@ local opt = require("core.globals").keymap_opt
|
|||||||
vim.keymap.set("n", "K", vim.lsp.buf.hover, opt)
|
vim.keymap.set("n", "K", vim.lsp.buf.hover, opt)
|
||||||
vim.keymap.set("n", "<leader>lR", vim.lsp.buf.rename, opt)
|
vim.keymap.set("n", "<leader>lR", vim.lsp.buf.rename, opt)
|
||||||
|
|
||||||
local icons = { Error = " ", Warn = " ", Hint = " ", Info = " " }
|
local icons = {}
|
||||||
local signs = {}
|
local sev = vim.diagnostic.severity
|
||||||
|
local signs = {
|
||||||
|
[sev.ERROR] = " ",
|
||||||
|
[sev.WARN] = " ",
|
||||||
|
[sev.HINT] = " ",
|
||||||
|
[sev.INFO] = " ",
|
||||||
|
}
|
||||||
for type, icon in pairs(icons) do
|
for type, icon in pairs(icons) do
|
||||||
local hl = "DiagnosticSign" .. type
|
local hl = vim.diagnostic.severity[type]
|
||||||
signs[hl] = { text = icon, texthl = hl, numhl = hl }
|
signs[hl] = icon
|
||||||
end
|
end
|
||||||
vim.diagnostic.config({
|
vim.diagnostic.config({
|
||||||
virtual_text = { spacing = 4, prefix = "●" },
|
signs = {
|
||||||
signs = signs,
|
text = signs,
|
||||||
|
},
|
||||||
underline = true,
|
underline = true,
|
||||||
update_in_insert = true,
|
update_in_insert = true,
|
||||||
severity_sort = true,
|
severity_sort = true,
|
||||||
@@ -27,6 +34,8 @@ local diag_config1 = {
|
|||||||
severity = {
|
severity = {
|
||||||
max = vim.diagnostic.severity.WARN,
|
max = vim.diagnostic.severity.WARN,
|
||||||
},
|
},
|
||||||
|
spacing = 4,
|
||||||
|
prefix = "●",
|
||||||
},
|
},
|
||||||
virtual_lines = {
|
virtual_lines = {
|
||||||
severity = {
|
severity = {
|
||||||
@@ -35,7 +44,7 @@ local diag_config1 = {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
local diag_config2 = {
|
local diag_config2 = {
|
||||||
virtual_text = true,
|
virtual_text = { spacing = 4, prefix = "●" },
|
||||||
virtual_lines = false,
|
virtual_lines = false,
|
||||||
}
|
}
|
||||||
vim.diagnostic.config(diag_config1)
|
vim.diagnostic.config(diag_config1)
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
M = {}
|
M = {
|
||||||
|
symbols = {
|
||||||
|
icon_source = "lspkind",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>o", "<cmd>Outline<CR>",
|
vim.keymap.set("n", "<leader>o", "<cmd>Outline<CR>", { desc = "Toggle Outline" })
|
||||||
{ desc = "Toggle Outline" })
|
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|||||||
@@ -12,4 +12,3 @@ M = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,19 @@
|
|||||||
M = {
|
M = {
|
||||||
bind = true, -- This is mandatory, otherwise border config won't get registered.
|
bind = true, -- This is mandatory, otherwise border config won't get registered.
|
||||||
handler_opts = {
|
handler_opts = {
|
||||||
border = "rounded"
|
border = "rounded",
|
||||||
},
|
},
|
||||||
hint_prefix = "^ ",
|
hint_prefix = "^ ",
|
||||||
toggle_key = "<C-k>",
|
toggle_key = "<C-k>",
|
||||||
}
|
}
|
||||||
|
|
||||||
vim.keymap.set({ 'n' }, '<leader>k', require('lsp_signature').toggle_float_win,
|
vim.keymap.set(
|
||||||
{ silent = true, noremap = true, desc = 'toggle signature' })
|
{ "n" },
|
||||||
|
"<leader>k",
|
||||||
|
require("lsp_signature").toggle_float_win,
|
||||||
|
{ silent = true, noremap = true, desc = "toggle signature" }
|
||||||
|
)
|
||||||
|
|
||||||
vim.keymap.set({ 'n' }, 'K', vim.lsp.buf.signature_help,
|
vim.keymap.set({ "n" }, "K", vim.lsp.buf.signature_help, { silent = true, noremap = true, desc = "toggle signature" })
|
||||||
{ silent = true, noremap = true, desc = 'toggle signature' })
|
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
M = {
|
M = {
|
||||||
options = {
|
options = {
|
||||||
theme = "tokyonight"
|
theme = "tokyonight",
|
||||||
},
|
},
|
||||||
sections = {
|
sections = {
|
||||||
lualine_y = {
|
lualine_y = {
|
||||||
'encoding', 'fileformat', 'filetype',
|
"encoding",
|
||||||
|
"fileformat",
|
||||||
|
"filetype",
|
||||||
},
|
},
|
||||||
lualine_x = {
|
lualine_x = {
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
M = {}
|
|
||||||
|
|
||||||
vim.api.nvim_create_augroup("MarkdownPreviewAuto", {})
|
|
||||||
|
|
||||||
vim.api.nvim_create_user_command("MarkdownPreviewAutoEnable", function()
|
|
||||||
vim.api.nvim_create_autocmd("BufEnter", {
|
|
||||||
group = "MarkdownPreviewAuto",
|
|
||||||
pattern = { "*.md" },
|
|
||||||
desc = "Auto enable MarkdownPreview",
|
|
||||||
callback = function()
|
|
||||||
vim.cmd("MarkdownPreview")
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
vim.api.nvim_create_autocmd("BufLeave", {
|
|
||||||
group = "MarkdownPreviewAuto",
|
|
||||||
pattern = { "*.md" },
|
|
||||||
desc = "Auto disable MarkdownPreview",
|
|
||||||
callback = function()
|
|
||||||
vim.cmd("MarkdownPreviewStop")
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end, { desc = "Auto enable MarkdownPreview" })
|
|
||||||
|
|
||||||
vim.api.nvim_create_user_command("MarkdownPreviewAutoDisable",
|
|
||||||
function()
|
|
||||||
vim.api.nvim_clear_autocmds({ group = "MarkdownPreviewAuto" })
|
|
||||||
end, {}
|
|
||||||
)
|
|
||||||
|
|
||||||
return M
|
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
M = {}
|
|
||||||
|
|
||||||
return M
|
|
||||||
|
|
||||||
@@ -3,11 +3,11 @@ M = {
|
|||||||
diagnostics = {
|
diagnostics = {
|
||||||
enable = false,
|
enable = false,
|
||||||
debounce_delay = 50,
|
debounce_delay = 50,
|
||||||
show_on_dirs = true
|
show_on_dirs = true,
|
||||||
},
|
},
|
||||||
filters = {
|
filters = {
|
||||||
git_ignored = false
|
git_ignored = false,
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
vim.g.loaded_netrw = 1
|
vim.g.loaded_netrw = 1
|
||||||
@@ -18,4 +18,3 @@ vim.keymap.set("n", "<leader>e", ":NvimTreeToggle<CR>", opt)
|
|||||||
vim.keymap.set("n", "<leader>te", ":NvimTreeFocus<CR>", opt)
|
vim.keymap.set("n", "<leader>te", ":NvimTreeFocus<CR>", opt)
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ if not vim.loop.fs_stat(lazypath) then
|
|||||||
"clone",
|
"clone",
|
||||||
"--filter=blob:none",
|
"--filter=blob:none",
|
||||||
"https://github.com/folke/lazy.nvim.git",
|
"https://github.com/folke/lazy.nvim.git",
|
||||||
lazypath
|
lazypath,
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
vim.opt.rtp:prepend(lazypath)
|
vim.opt.rtp:prepend(lazypath)
|
||||||
@@ -18,7 +18,7 @@ local plugins = {
|
|||||||
priority = 1000,
|
priority = 1000,
|
||||||
config = function()
|
config = function()
|
||||||
vim.cmd.colorscheme("tokyonight-storm")
|
vim.cmd.colorscheme("tokyonight-storm")
|
||||||
end
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"nvim-lualine/lualine.nvim",
|
"nvim-lualine/lualine.nvim",
|
||||||
@@ -26,53 +26,50 @@ local plugins = {
|
|||||||
dependencies = { { "nvim-tree/nvim-web-devicons", lazy = true } },
|
dependencies = { { "nvim-tree/nvim-web-devicons", lazy = true } },
|
||||||
config = function()
|
config = function()
|
||||||
require("lualine").setup(require("plugins.lualine"))
|
require("lualine").setup(require("plugins.lualine"))
|
||||||
end
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"nvim-tree/nvim-tree.lua",
|
"nvim-tree/nvim-tree.lua",
|
||||||
lazy = false,
|
|
||||||
dependencies = { { "nvim-tree/nvim-web-devicons", lazy = true } },
|
dependencies = { { "nvim-tree/nvim-web-devicons", lazy = true } },
|
||||||
|
lazy = false,
|
||||||
config = function()
|
config = function()
|
||||||
require("nvim-tree").setup(require("plugins.nvim-tree"))
|
require("nvim-tree").setup(require("plugins.nvim-tree"))
|
||||||
end
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"nvim-treesitter/nvim-treesitter",
|
"nvim-treesitter/nvim-treesitter",
|
||||||
lazy = false,
|
lazy = false,
|
||||||
event = "VeryLazy",
|
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"nvim-treesitter/nvim-treesitter-textobjects",
|
"nvim-treesitter/nvim-treesitter-textobjects",
|
||||||
"nushell/tree-sitter-nu"
|
"nushell/tree-sitter-nu",
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
require("nvim-treesitter.configs").setup(require("plugins.treesitter"))
|
require("nvim-treesitter.configs").setup(require("plugins.treesitter"))
|
||||||
end,
|
end,
|
||||||
build = ":TSUpdate"
|
build = ":TSUpdate",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
url = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim",
|
url = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim",
|
||||||
lazy = false,
|
|
||||||
event = "VeryLazy",
|
event = "VeryLazy",
|
||||||
config = function()
|
config = function()
|
||||||
require("plugins.rainbow-delimiters")
|
require("plugins.rainbow-delimiters")
|
||||||
end
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"lukas-reineke/indent-blankline.nvim",
|
"lukas-reineke/indent-blankline.nvim",
|
||||||
lazy = false,
|
|
||||||
event = "VeryLazy",
|
event = "VeryLazy",
|
||||||
config = function()
|
config = function()
|
||||||
require("ibl").setup(require("plugins.indent-blankline"))
|
require("ibl").setup(require("plugins.indent-blankline"))
|
||||||
end
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"neovim/nvim-lspconfig",
|
"neovim/nvim-lspconfig",
|
||||||
dependencies = { "hrsh7th/cmp-nvim-lsp" },
|
dependencies = { "hrsh7th/cmp-nvim-lsp" },
|
||||||
lazy = false,
|
event = "VeryLazy",
|
||||||
config = function()
|
config = function()
|
||||||
require("plugins.lsp.lspconfig")
|
require("plugins.lsp.lspconfig")
|
||||||
require("plugins.lsp.others")
|
require("plugins.lsp.others")
|
||||||
end
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"folke/trouble.nvim",
|
"folke/trouble.nvim",
|
||||||
@@ -110,15 +107,13 @@ local plugins = {
|
|||||||
desc = "Quickfix List (Trouble)",
|
desc = "Quickfix List (Trouble)",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
opts = {}
|
opts = {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"MysticalDevil/inlay-hints.nvim",
|
"MysticalDevil/inlay-hints.nvim",
|
||||||
event = "LspAttach",
|
event = "LspAttach",
|
||||||
dependencies = { "neovim/nvim-lspconfig" },
|
dependencies = { "neovim/nvim-lspconfig" },
|
||||||
config = function()
|
opts = {}
|
||||||
require("inlay-hints").setup()
|
|
||||||
end
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hedyhli/outline.nvim",
|
"hedyhli/outline.nvim",
|
||||||
@@ -129,12 +124,12 @@ local plugins = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"L3MON4D3/LuaSnip",
|
"L3MON4D3/LuaSnip",
|
||||||
lazy = false,
|
event = "InsertEnter",
|
||||||
dependencies = { { "rafamadriz/friendly-snippets", lazy = true } },
|
dependencies = { { "rafamadriz/friendly-snippets", lazy = true } },
|
||||||
build = "make install_jsregexp",
|
build = "make install_jsregexp",
|
||||||
config = function()
|
config = function()
|
||||||
require("luasnip").setup(require("plugins.cmp.luasnip"))
|
require("luasnip").setup(require("plugins.cmp.luasnip"))
|
||||||
end
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hrsh7th/nvim-cmp",
|
"hrsh7th/nvim-cmp",
|
||||||
@@ -144,106 +139,78 @@ local plugins = {
|
|||||||
"saadparwaiz1/cmp_luasnip",
|
"saadparwaiz1/cmp_luasnip",
|
||||||
"rafamadriz/friendly-snippets",
|
"rafamadriz/friendly-snippets",
|
||||||
"hrsh7th/cmp-path",
|
"hrsh7th/cmp-path",
|
||||||
"onsails/lspkind.nvim"
|
"onsails/lspkind.nvim",
|
||||||
},
|
},
|
||||||
lazy = false,
|
event = "InsertEnter",
|
||||||
config = function()
|
config = function()
|
||||||
require("cmp").setup(require("plugins.cmp.cmp"))
|
require("cmp").setup(require("plugins.cmp.cmp"))
|
||||||
end
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"numToStr/Comment.nvim",
|
"numToStr/Comment.nvim",
|
||||||
lazy = false,
|
|
||||||
event = "VeryLazy",
|
event = "VeryLazy",
|
||||||
config = function()
|
opts = {}
|
||||||
require("Comment").setup(require("plugins.comment"))
|
|
||||||
end
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"windwp/nvim-autopairs",
|
"windwp/nvim-autopairs",
|
||||||
lazy = false,
|
event = "InsertEnter",
|
||||||
event = "VeryLazy",
|
|
||||||
dependencies = { "hrsh7th/nvim-cmp" },
|
dependencies = { "hrsh7th/nvim-cmp" },
|
||||||
config = function()
|
config = function()
|
||||||
require("nvim-autopairs").setup(require("plugins.autopairs"))
|
require("nvim-autopairs").setup(require("plugins.autopairs"))
|
||||||
end
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"akinsho/bufferline.nvim",
|
"akinsho/bufferline.nvim",
|
||||||
lazy = false,
|
|
||||||
config = function()
|
config = function()
|
||||||
require("bufferline").setup(require("plugins.bufferline"))
|
require("bufferline").setup(require("plugins.bufferline"))
|
||||||
end
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"lewis6991/gitsigns.nvim",
|
"lewis6991/gitsigns.nvim",
|
||||||
lazy = false,
|
|
||||||
event = "VeryLazy",
|
event = "VeryLazy",
|
||||||
config = function()
|
config = function()
|
||||||
require("gitsigns").setup(require("plugins.gitsigns"))
|
require("gitsigns").setup(require("plugins.gitsigns"))
|
||||||
end
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"nvim-telescope/telescope.nvim",
|
"nvim-telescope/telescope.nvim",
|
||||||
tag = "0.1.2",
|
|
||||||
dependencies = { "nvim-lua/plenary.nvim", "BurntSushi/ripgrep" },
|
dependencies = { "nvim-lua/plenary.nvim", "BurntSushi/ripgrep" },
|
||||||
config = function()
|
config = function()
|
||||||
require("telescope").setup(require("plugins.telescope"))
|
require("telescope").setup(require("plugins.telescope"))
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ggandor/leap.nvim",
|
||||||
|
dependencies = { "tpope/vim-repeat" },
|
||||||
|
config = function()
|
||||||
|
require("leap").set_default_mappings()
|
||||||
|
-- Exclude whitespace and the middle of alphabetic words from preview:
|
||||||
|
-- foobar[baaz] = quux
|
||||||
|
-- ^----^^^--^^-^-^--^
|
||||||
|
require('leap').opts.preview_filter = function(ch0, ch1, ch2)
|
||||||
|
return not (
|
||||||
|
ch1:match('%s') or
|
||||||
|
ch0:match('%a') and ch1:match('%a') and ch2:match('%a')
|
||||||
|
)
|
||||||
|
end
|
||||||
|
require('leap.user').set_repeat_keys('<enter>', '<backspace>')
|
||||||
end
|
end
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"alexghergh/nvim-tmux-navigation",
|
"alexghergh/nvim-tmux-navigation",
|
||||||
lazy = false,
|
|
||||||
event = "VeryLazy",
|
event = "VeryLazy",
|
||||||
config = function()
|
config = function()
|
||||||
require("nvim-tmux-navigation").setup(require("plugins.tmuxnav"))
|
require("nvim-tmux-navigation").setup(require("plugins.tmuxnav"))
|
||||||
end
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"natecraddock/sessions.nvim",
|
|
||||||
lazy = false,
|
|
||||||
event = "VeryLazy",
|
|
||||||
config = function()
|
|
||||||
require("sessions").setup(require("plugins.sessions"))
|
|
||||||
end
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"natecraddock/workspaces.nvim",
|
|
||||||
lazy = false,
|
|
||||||
event = "VeryLazy",
|
|
||||||
dependencies = { "nvim-telescope/telescope.nvim", "natecraddock/sessions.nvim" },
|
|
||||||
config = function()
|
|
||||||
require("workspaces").setup(require("plugins.workspaces"))
|
|
||||||
require("telescope").load_extension("workspaces")
|
|
||||||
end
|
|
||||||
},
|
|
||||||
--[[ {
|
|
||||||
"iamcco/markdown-preview.nvim",
|
|
||||||
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop", "MarkdownPreviewAutoEnable", "MarkdownPreviewAutoDisable" },
|
|
||||||
ft = { "markdown" },
|
|
||||||
build = function()
|
|
||||||
vim.fn["mkdp#util#install"]()
|
|
||||||
end,
|
end,
|
||||||
config = function()
|
},
|
||||||
require("plugins.markdown-preview")
|
|
||||||
end
|
|
||||||
}, ]]
|
|
||||||
--[[ {
|
|
||||||
"dhruvasagar/vim-table-mode",
|
|
||||||
lazy = true,
|
|
||||||
event = "BufEnter *.md",
|
|
||||||
config = function()
|
|
||||||
require("plugins.table-mode")
|
|
||||||
end
|
|
||||||
}, ]]
|
|
||||||
{
|
{
|
||||||
"lukas-reineke/headlines.nvim",
|
"MeanderingProgrammer/render-markdown.nvim",
|
||||||
dependencies = "nvim-treesitter/nvim-treesitter",
|
dependencies = { "nvim-treesitter/nvim-treesitter", "nvim-tree/nvim-web-devicons" },
|
||||||
config = true, -- or `opts = {}`
|
event = "BufEnter *.md",
|
||||||
|
opts = {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"folke/noice.nvim",
|
"folke/noice.nvim",
|
||||||
lazy = false,
|
|
||||||
event = "VeryLazy",
|
event = "VeryLazy",
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"MunifTanjim/nui.nvim",
|
"MunifTanjim/nui.nvim",
|
||||||
@@ -254,49 +221,41 @@ local plugins = {
|
|||||||
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
||||||
["vim.lsp.util.stylize_markdown"] = true,
|
["vim.lsp.util.stylize_markdown"] = true,
|
||||||
["cmp.entry.get_documentation"] = true,
|
["cmp.entry.get_documentation"] = true,
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"voldikss/vim-floaterm",
|
"voldikss/vim-floaterm",
|
||||||
lazy = false,
|
|
||||||
event = "VeryLazy",
|
event = "VeryLazy",
|
||||||
config = function()
|
config = function()
|
||||||
require("plugins.floaterm")
|
require("plugins.floaterm")
|
||||||
end
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"folke/todo-comments.nvim",
|
"folke/todo-comments.nvim",
|
||||||
lazy = false,
|
|
||||||
event = "VeryLazy",
|
event = "VeryLazy",
|
||||||
opts = {},
|
opts = {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ojroques/nvim-osc52",
|
"ojroques/nvim-osc52",
|
||||||
event = "BufEnter",
|
event = "VeryLazy",
|
||||||
config = function()
|
config = function()
|
||||||
require("osc52").setup({
|
require("osc52").setup({
|
||||||
tmux_passthrough = true
|
tmux_passthrough = true,
|
||||||
})
|
})
|
||||||
local function copy()
|
local function copy()
|
||||||
if vim.v.event.operator == "y" and vim.v.event.regname == "+" then
|
if vim.v.event.operator == "y" and vim.v.event.regname == "+" then
|
||||||
require("osc52").copy_register("+")
|
require("osc52").copy_register("+")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
vim.api.nvim_create_autocmd("TextYankPost", {callback = copy})
|
vim.api.nvim_create_autocmd("TextYankPost", { callback = copy })
|
||||||
end
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"pest-parser/pest.vim",
|
"pest-parser/pest.vim",
|
||||||
event = "VeryLazy",
|
ft = "pest",
|
||||||
opts = {}
|
opts = {},
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
local opts = {
|
require("lazy").setup(plugins, {})
|
||||||
rocks = {
|
|
||||||
enabled = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
require("lazy").setup(plugins, opts)
|
|
||||||
|
|||||||
@@ -1,21 +1,20 @@
|
|||||||
local rainbow_delimiters = require("rainbow-delimiters")
|
local rainbow_delimiters = require("rainbow-delimiters")
|
||||||
vim.g.rainbow_delimiters = {
|
vim.g.rainbow_delimiters = {
|
||||||
strategy = {
|
strategy = {
|
||||||
[''] = rainbow_delimiters.strategy['global'],
|
[""] = rainbow_delimiters.strategy["global"],
|
||||||
vim = rainbow_delimiters.strategy['local'],
|
vim = rainbow_delimiters.strategy["local"],
|
||||||
},
|
},
|
||||||
query = {
|
query = {
|
||||||
[''] = 'rainbow-delimiters',
|
[""] = "rainbow-delimiters",
|
||||||
lua = 'rainbow-blocks',
|
lua = "rainbow-blocks",
|
||||||
},
|
},
|
||||||
highlight = {
|
highlight = {
|
||||||
'RainbowDelimiterRed',
|
"RainbowDelimiterRed",
|
||||||
'RainbowDelimiterYellow',
|
"RainbowDelimiterYellow",
|
||||||
'RainbowDelimiterBlue',
|
"RainbowDelimiterBlue",
|
||||||
'RainbowDelimiterOrange',
|
"RainbowDelimiterOrange",
|
||||||
'RainbowDelimiterGreen',
|
"RainbowDelimiterGreen",
|
||||||
'RainbowDelimiterViolet',
|
"RainbowDelimiterViolet",
|
||||||
'RainbowDelimiterCyan',
|
"RainbowDelimiterCyan",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
M = {
|
|
||||||
events = { "VimLeavePre" },
|
|
||||||
indent = {
|
|
||||||
tab_char = "▏"
|
|
||||||
},
|
|
||||||
session_filepath = vim.fn.stdpath("data") .. "/session",
|
|
||||||
}
|
|
||||||
|
|
||||||
return M
|
|
||||||
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
M = {}
|
|
||||||
|
|
||||||
vim.g.table_mode_corner = "|"
|
|
||||||
|
|
||||||
vim.api.nvim_create_augroup("TableModeAuto", {})
|
|
||||||
|
|
||||||
vim.api.nvim_create_user_command("TableModeAutoEnable", function()
|
|
||||||
vim.api.nvim_clear_autocmds({ group = "TableModeAuto" })
|
|
||||||
vim.api.nvim_create_autocmd("BufEnter", {
|
|
||||||
group = "TableModeAuto",
|
|
||||||
pattern = { "*.md" },
|
|
||||||
desc = "Auto enable TableMode",
|
|
||||||
callback = function()
|
|
||||||
vim.cmd("TableModeEnable")
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
vim.api.nvim_create_autocmd("BufWrite", {
|
|
||||||
group = "TableModeAuto",
|
|
||||||
pattern = { "*.md" },
|
|
||||||
desc = "Auto enable TableMode",
|
|
||||||
callback = function()
|
|
||||||
vim.cmd("TableModeRealign")
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end, { desc = "Auto enable TableMode" })
|
|
||||||
|
|
||||||
vim.api.nvim_create_user_command("TableModeAutoDisable",
|
|
||||||
function()
|
|
||||||
vim.api.nvim_clear_autocmds({ group = "TableModeAuto" })
|
|
||||||
end, {}
|
|
||||||
)
|
|
||||||
|
|
||||||
return M
|
|
||||||
|
|
||||||
@@ -3,13 +3,13 @@ M = {
|
|||||||
winblend = 50,
|
winblend = 50,
|
||||||
path_display = {
|
path_display = {
|
||||||
"smart",
|
"smart",
|
||||||
shorten = 3
|
shorten = 3,
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
pickers = {
|
pickers = {
|
||||||
lsp_definitions = {
|
lsp_definitions = {
|
||||||
theme = "cursor",
|
theme = "cursor",
|
||||||
layout_config = { width = 0.6, height = 0.3},
|
layout_config = { width = 0.6, height = 0.3 },
|
||||||
},
|
},
|
||||||
lsp_references = {
|
lsp_references = {
|
||||||
theme = "cursor",
|
theme = "cursor",
|
||||||
@@ -17,29 +17,28 @@ M = {
|
|||||||
},
|
},
|
||||||
current_buffer_fuzzy_find = {
|
current_buffer_fuzzy_find = {
|
||||||
theme = "dropdown",
|
theme = "dropdown",
|
||||||
layout_config = { height = 0.7, width = 0.55, preview_cutoff = 0 ,prompt_position = "top" }
|
layout_config = { height = 0.7, width = 0.55, preview_cutoff = 0, prompt_position = "top" },
|
||||||
},
|
},
|
||||||
lsp_document_symbols = {
|
lsp_document_symbols = {
|
||||||
theme = "ivy",
|
theme = "ivy",
|
||||||
layout_config = { height = 0.25 }
|
layout_config = { height = 0.25 },
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
local opt = require("core.globals").keymap_opt
|
local opt = require("core.globals").keymap_opt
|
||||||
local keymap = vim.keymap
|
local keymap = vim.keymap
|
||||||
local builtin = require('telescope.builtin')
|
local builtin = require("telescope.builtin")
|
||||||
|
|
||||||
keymap.set('n', '<leader>ff', builtin.find_files, opt)
|
keymap.set("n", "<leader>ff", builtin.find_files, opt)
|
||||||
keymap.set('n', '<leader>gf', builtin.git_files, opt)
|
keymap.set("n", "<leader>gf", builtin.git_files, opt)
|
||||||
keymap.set('n', '<leader>fg', builtin.live_grep, opt)
|
keymap.set("n", "<leader>fg", builtin.live_grep, opt)
|
||||||
keymap.set('n', '<leader>fb', builtin.buffers, opt)
|
keymap.set("n", "<leader>fb", builtin.buffers, opt)
|
||||||
keymap.set('n', '<leader>fh', builtin.help_tags, opt)
|
keymap.set("n", "<leader>fh", builtin.help_tags, opt)
|
||||||
-- keymap.set('n', '<leader>lD', builtin.diagnostics, opt)
|
-- keymap.set('n', '<leader>lD', builtin.diagnostics, opt)
|
||||||
keymap.set('n', '<leader>ld', builtin.lsp_definitions, opt)
|
keymap.set("n", "<leader>ld", builtin.lsp_definitions, opt)
|
||||||
keymap.set('n', '<leader>lr', builtin.lsp_references, opt)
|
keymap.set("n", "<leader>lr", builtin.lsp_references, opt)
|
||||||
keymap.set('n', '<leader>ls', builtin.lsp_document_symbols, opt)
|
keymap.set("n", "<leader>ls", builtin.lsp_document_symbols, opt)
|
||||||
keymap.set('n', '<leader>/', builtin.current_buffer_fuzzy_find, opt)
|
keymap.set("n", "<leader>/", builtin.current_buffer_fuzzy_find, opt)
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
||||||
|
|||||||
@@ -11,4 +11,3 @@ keymap.set("n", "<C-\\>", tmuxnav.NvimTmuxNavigateLastActive)
|
|||||||
keymap.set("n", "<C-Space>", tmuxnav.NvimTmuxNavigateNext)
|
keymap.set("n", "<C-Space>", tmuxnav.NvimTmuxNavigateNext)
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
||||||
|
|||||||
@@ -6,15 +6,14 @@ M = {
|
|||||||
ignore_install = {},
|
ignore_install = {},
|
||||||
|
|
||||||
highlight = { enable = true },
|
highlight = { enable = true },
|
||||||
indent = { enable = true }
|
indent = { enable = true },
|
||||||
}
|
}
|
||||||
|
|
||||||
vim.filetype.add({
|
vim.filetype.add({
|
||||||
pattern = {
|
pattern = {
|
||||||
[".*/hypr/.*%.conf"] = "hyprlang",
|
[".*/hypr/.*%.conf"] = "hyprlang",
|
||||||
[".*%.hl"] = "hyprlang"
|
[".*%.hl"] = "hyprlang",
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
M = {
|
|
||||||
hooks = {
|
|
||||||
open = function ()
|
|
||||||
require("core.globals").close_empty_buffer()
|
|
||||||
vim.cmd("enew")
|
|
||||||
vim.cmd("bufdo bd")
|
|
||||||
require("sessions").load(nil, { silent = true })
|
|
||||||
vim.cmd("NvimTreeFocus")
|
|
||||||
end
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
return M
|
|
||||||
|
|
||||||
20
modules/coding/editor/zed/default.nix
Normal file
20
modules/coding/editor/zed/default.nix
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
lib.my.makeHomeProgramConfig {
|
||||||
|
inherit config;
|
||||||
|
programName = "zed-editor";
|
||||||
|
optionPath = [
|
||||||
|
"coding"
|
||||||
|
"editor"
|
||||||
|
"zed"
|
||||||
|
];
|
||||||
|
extraConfig = {
|
||||||
|
my.persist.homeDirs = [
|
||||||
|
".config/zed"
|
||||||
|
".local/share/zed"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,205 +0,0 @@
|
|||||||
#compdef gh
|
|
||||||
|
|
||||||
# zsh completion for gh -*- shell-script -*-
|
|
||||||
|
|
||||||
__gh_debug()
|
|
||||||
{
|
|
||||||
local file="$BASH_COMP_DEBUG_FILE"
|
|
||||||
if [[ -n ${file} ]]; then
|
|
||||||
echo "$*" >> "${file}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
_gh()
|
|
||||||
{
|
|
||||||
local shellCompDirectiveError=1
|
|
||||||
local shellCompDirectiveNoSpace=2
|
|
||||||
local shellCompDirectiveNoFileComp=4
|
|
||||||
local shellCompDirectiveFilterFileExt=8
|
|
||||||
local shellCompDirectiveFilterDirs=16
|
|
||||||
|
|
||||||
local lastParam lastChar flagPrefix requestComp out directive comp lastComp noSpace
|
|
||||||
local -a completions
|
|
||||||
|
|
||||||
__gh_debug "\n========= starting completion logic =========="
|
|
||||||
__gh_debug "CURRENT: ${CURRENT}, words[*]: ${words[*]}"
|
|
||||||
|
|
||||||
# The user could have moved the cursor backwards on the command-line.
|
|
||||||
# We need to trigger completion from the $CURRENT location, so we need
|
|
||||||
# to truncate the command-line ($words) up to the $CURRENT location.
|
|
||||||
# (We cannot use $CURSOR as its value does not work when a command is an alias.)
|
|
||||||
words=("${=words[1,CURRENT]}")
|
|
||||||
__gh_debug "Truncated words[*]: ${words[*]},"
|
|
||||||
|
|
||||||
lastParam=${words[-1]}
|
|
||||||
lastChar=${lastParam[-1]}
|
|
||||||
__gh_debug "lastParam: ${lastParam}, lastChar: ${lastChar}"
|
|
||||||
|
|
||||||
# For zsh, when completing a flag with an = (e.g., gh -n=<TAB>)
|
|
||||||
# completions must be prefixed with the flag
|
|
||||||
setopt local_options BASH_REMATCH
|
|
||||||
if [[ "${lastParam}" =~ '-.*=' ]]; then
|
|
||||||
# We are dealing with a flag with an =
|
|
||||||
flagPrefix="-P ${BASH_REMATCH}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Prepare the command to obtain completions
|
|
||||||
requestComp="${words[1]} __complete ${words[2,-1]}"
|
|
||||||
if [ "${lastChar}" = "" ]; then
|
|
||||||
# If the last parameter is complete (there is a space following it)
|
|
||||||
# We add an extra empty parameter so we can indicate this to the go completion code.
|
|
||||||
__gh_debug "Adding extra empty parameter"
|
|
||||||
requestComp="${requestComp} \"\""
|
|
||||||
fi
|
|
||||||
|
|
||||||
__gh_debug "About to call: eval ${requestComp}"
|
|
||||||
|
|
||||||
# Use eval to handle any environment variables and such
|
|
||||||
out=$(eval ${requestComp} 2>/dev/null)
|
|
||||||
__gh_debug "completion output: ${out}"
|
|
||||||
|
|
||||||
# Extract the directive integer following a : from the last line
|
|
||||||
local lastLine
|
|
||||||
while IFS='\n' read -r line; do
|
|
||||||
lastLine=${line}
|
|
||||||
done < <(printf "%s\n" "${out[@]}")
|
|
||||||
__gh_debug "last line: ${lastLine}"
|
|
||||||
|
|
||||||
if [ "${lastLine[1]}" = : ]; then
|
|
||||||
directive=${lastLine[2,-1]}
|
|
||||||
# Remove the directive including the : and the newline
|
|
||||||
local suffix
|
|
||||||
(( suffix=${#lastLine}+2))
|
|
||||||
out=${out[1,-$suffix]}
|
|
||||||
else
|
|
||||||
# There is no directive specified. Leave $out as is.
|
|
||||||
__gh_debug "No directive found. Setting do default"
|
|
||||||
directive=0
|
|
||||||
fi
|
|
||||||
|
|
||||||
__gh_debug "directive: ${directive}"
|
|
||||||
__gh_debug "completions: ${out}"
|
|
||||||
__gh_debug "flagPrefix: ${flagPrefix}"
|
|
||||||
|
|
||||||
if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then
|
|
||||||
__gh_debug "Completion received error. Ignoring completions."
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
local activeHelpMarker="_activeHelp_ "
|
|
||||||
local endIndex=${#activeHelpMarker}
|
|
||||||
local startIndex=$((${#activeHelpMarker}+1))
|
|
||||||
local hasActiveHelp=0
|
|
||||||
while IFS='\n' read -r comp; do
|
|
||||||
# Check if this is an activeHelp statement (i.e., prefixed with $activeHelpMarker)
|
|
||||||
if [ "${comp[1,$endIndex]}" = "$activeHelpMarker" ];then
|
|
||||||
__gh_debug "ActiveHelp found: $comp"
|
|
||||||
comp="${comp[$startIndex,-1]}"
|
|
||||||
if [ -n "$comp" ]; then
|
|
||||||
compadd -x "${comp}"
|
|
||||||
__gh_debug "ActiveHelp will need delimiter"
|
|
||||||
hasActiveHelp=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -n "$comp" ]; then
|
|
||||||
# If requested, completions are returned with a description.
|
|
||||||
# The description is preceded by a TAB character.
|
|
||||||
# For zsh's _describe, we need to use a : instead of a TAB.
|
|
||||||
# We first need to escape any : as part of the completion itself.
|
|
||||||
comp=${comp//:/\\:}
|
|
||||||
|
|
||||||
local tab="$(printf '\t')"
|
|
||||||
comp=${comp//$tab/:}
|
|
||||||
|
|
||||||
__gh_debug "Adding completion: ${comp}"
|
|
||||||
completions+=${comp}
|
|
||||||
lastComp=$comp
|
|
||||||
fi
|
|
||||||
done < <(printf "%s\n" "${out[@]}")
|
|
||||||
|
|
||||||
# Add a delimiter after the activeHelp statements, but only if:
|
|
||||||
# - there are completions following the activeHelp statements, or
|
|
||||||
# - file completion will be performed (so there will be choices after the activeHelp)
|
|
||||||
if [ $hasActiveHelp -eq 1 ]; then
|
|
||||||
if [ ${#completions} -ne 0 ] || [ $((directive & shellCompDirectiveNoFileComp)) -eq 0 ]; then
|
|
||||||
__gh_debug "Adding activeHelp delimiter"
|
|
||||||
compadd -x "--"
|
|
||||||
hasActiveHelp=0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then
|
|
||||||
__gh_debug "Activating nospace."
|
|
||||||
noSpace="-S ''"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then
|
|
||||||
# File extension filtering
|
|
||||||
local filteringCmd
|
|
||||||
filteringCmd='_files'
|
|
||||||
for filter in ${completions[@]}; do
|
|
||||||
if [ ${filter[1]} != '*' ]; then
|
|
||||||
# zsh requires a glob pattern to do file filtering
|
|
||||||
filter="\*.$filter"
|
|
||||||
fi
|
|
||||||
filteringCmd+=" -g $filter"
|
|
||||||
done
|
|
||||||
filteringCmd+=" ${flagPrefix}"
|
|
||||||
|
|
||||||
__gh_debug "File filtering command: $filteringCmd"
|
|
||||||
_arguments '*:filename:'"$filteringCmd"
|
|
||||||
elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then
|
|
||||||
# File completion for directories only
|
|
||||||
local subdir
|
|
||||||
subdir="${completions[1]}"
|
|
||||||
if [ -n "$subdir" ]; then
|
|
||||||
__gh_debug "Listing directories in $subdir"
|
|
||||||
pushd "${subdir}" >/dev/null 2>&1
|
|
||||||
else
|
|
||||||
__gh_debug "Listing directories in ."
|
|
||||||
fi
|
|
||||||
|
|
||||||
local result
|
|
||||||
_arguments '*:dirname:_files -/'" ${flagPrefix}"
|
|
||||||
result=$?
|
|
||||||
if [ -n "$subdir" ]; then
|
|
||||||
popd >/dev/null 2>&1
|
|
||||||
fi
|
|
||||||
return $result
|
|
||||||
else
|
|
||||||
__gh_debug "Calling _describe"
|
|
||||||
if eval _describe "completions" completions $flagPrefix $noSpace; then
|
|
||||||
__gh_debug "_describe found some completions"
|
|
||||||
|
|
||||||
# Return the success of having called _describe
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
__gh_debug "_describe did not find completions."
|
|
||||||
__gh_debug "Checking if we should do file completion."
|
|
||||||
if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then
|
|
||||||
__gh_debug "deactivating file completion"
|
|
||||||
|
|
||||||
# We must return an error code here to let zsh know that there were no
|
|
||||||
# completions found by _describe; this is what will trigger other
|
|
||||||
# matching algorithms to attempt to find completions.
|
|
||||||
# For example zsh can match letters in the middle of words.
|
|
||||||
return 1
|
|
||||||
else
|
|
||||||
# Perform file completion
|
|
||||||
__gh_debug "Activating file completion"
|
|
||||||
|
|
||||||
# We must return the result of this command, so it must be the
|
|
||||||
# last command, or else we must store its result to return it.
|
|
||||||
_arguments '*:filename:_files'" ${flagPrefix}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# don't run the completion function when being source-ed or eval-ed
|
|
||||||
if [ "$funcstack[1]" = "_gh" ]; then
|
|
||||||
_gh
|
|
||||||
fi
|
|
||||||
@@ -15,6 +15,7 @@ lib.my.makeSwitch {
|
|||||||
python.enable = true;
|
python.enable = true;
|
||||||
rust.enable = true;
|
rust.enable = true;
|
||||||
lua.enable = true;
|
lua.enable = true;
|
||||||
|
qml.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
imports = [
|
|
||||||
./all.nix
|
|
||||||
./c.nix
|
|
||||||
./go.nix
|
|
||||||
./js.nix
|
|
||||||
./rust.nix
|
|
||||||
./python.nix
|
|
||||||
./lua.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -24,6 +24,9 @@ lib.my.makeSwitch {
|
|||||||
prefix = ''${HOME}/.npm-global
|
prefix = ''${HOME}/.npm-global
|
||||||
registry = https://registry.npmmirror.com
|
registry = https://registry.npmmirror.com
|
||||||
'';
|
'';
|
||||||
|
programs.zsh.initContent = lib.mkAfter ''
|
||||||
|
export PATH=$PATH:$HOME/.npm-global/bin
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
my.persist.homeDirs = [
|
my.persist.homeDirs = [
|
||||||
".npm"
|
".npm"
|
||||||
|
|||||||
20
modules/coding/langs/qml.nix
Normal file
20
modules/coding/langs/qml.nix
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
lib.my.makeSwitch {
|
||||||
|
inherit config;
|
||||||
|
optionName = "QML";
|
||||||
|
optionPath = [
|
||||||
|
"coding"
|
||||||
|
"langs"
|
||||||
|
"qml"
|
||||||
|
];
|
||||||
|
config' = {
|
||||||
|
my.home.home.packages = with pkgs; [
|
||||||
|
kdePackages.qtdeclarative
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -17,9 +17,6 @@ lib.my.makeSwitch {
|
|||||||
gnumake
|
gnumake
|
||||||
github-cli # gh
|
github-cli # gh
|
||||||
];
|
];
|
||||||
programs.zsh.initContent = ''
|
|
||||||
source ${./github-cli-comp}
|
|
||||||
'';
|
|
||||||
programs.direnv.enable = true;
|
programs.direnv.enable = true;
|
||||||
};
|
};
|
||||||
my.persist.homeDirs = [
|
my.persist.homeDirs = [
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./cli
|
|
||||||
./coding
|
|
||||||
./virt
|
|
||||||
./desktop
|
|
||||||
./i18n
|
|
||||||
./nix.nix
|
|
||||||
./sops.nix
|
|
||||||
./gpg.nix
|
|
||||||
./time.nix
|
|
||||||
./user.nix
|
|
||||||
./xdg.nix
|
|
||||||
./persist.nix
|
|
||||||
./getty-autologin.nix
|
|
||||||
|
|
||||||
(lib.mkAliasOptionModule [ "my" "home" ] [ "home-manager" "users" username ])
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -17,6 +17,7 @@ lib.my.makeSwitch {
|
|||||||
wm.all.enable = true;
|
wm.all.enable = true;
|
||||||
style.enable = true;
|
style.enable = true;
|
||||||
quickshell.enable = true;
|
quickshell.enable = true;
|
||||||
|
wine.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ lib.my.makeSwitch {
|
|||||||
firefox.enable = true;
|
firefox.enable = true;
|
||||||
librewolf.enable = true;
|
librewolf.enable = true;
|
||||||
chromium.enable = true;
|
chromium.enable = true;
|
||||||
|
zen.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ lib.my.makeHomeProgramConfig {
|
|||||||
id = "pinabllndpmfdcknifcfcmdgdngjcfii"; # Firefox Dark Theme
|
id = "pinabllndpmfdcknifcfcmdgdngjcfii"; # Firefox Dark Theme
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
id = "bpoadfkcbjbfhfodiogcnhhhpibjhbnh"; # Immersive Translate
|
id = "bdiifdefkgmcblbcghdlonllpjhhjgof"; # KISS Translator
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
id = "fnaicdffflnofjppbagibeoednhnbjhg"; # Floccus Bookmarks Sync
|
id = "fnaicdffflnofjppbagibeoednhnbjhg"; # Floccus Bookmarks Sync
|
||||||
@@ -50,5 +50,8 @@ lib.my.makeHomeProgramConfig {
|
|||||||
"--wayland-text-input-version=3"
|
"--wayland-text-input-version=3"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
my.persist.homeDirs = [
|
||||||
|
".config/chromium"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
imports = [
|
|
||||||
./all.nix
|
|
||||||
./firefox.nix
|
|
||||||
./librewolf.nix
|
|
||||||
./chromium.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
29
modules/desktop/browser/zen.nix
Normal file
29
modules/desktop/browser/zen.nix
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
lib.my.makeHomeProgramConfig {
|
||||||
|
inherit config;
|
||||||
|
programName = "zen-browser";
|
||||||
|
optionPath = [
|
||||||
|
"desktop"
|
||||||
|
"browser"
|
||||||
|
"zen"
|
||||||
|
];
|
||||||
|
extraConfig = {
|
||||||
|
my.home.programs.zen-browser = {
|
||||||
|
enable = true;
|
||||||
|
nativeMessagingHosts = [ pkgs.firefoxpwa ];
|
||||||
|
policies = {
|
||||||
|
# find more options here: https://mozilla.github.io/policy-templates/
|
||||||
|
DisableAppUpdate = true;
|
||||||
|
DisableTelemetry = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
my.persist.homeDirs = [
|
||||||
|
".zen"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
imports = [
|
|
||||||
./all.nix
|
|
||||||
./browser
|
|
||||||
./gaming
|
|
||||||
./media
|
|
||||||
./notify
|
|
||||||
./screencast
|
|
||||||
./terminal
|
|
||||||
./wm
|
|
||||||
./style
|
|
||||||
./quickshell
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
imports = [
|
|
||||||
./all.nix
|
|
||||||
./minecraft.nix
|
|
||||||
./steam.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -23,5 +23,8 @@ lib.my.makeSwitch {
|
|||||||
".minecraft"
|
".minecraft"
|
||||||
".local/share/hmcl"
|
".local/share/hmcl"
|
||||||
];
|
];
|
||||||
|
my.persist.homeFiles = [
|
||||||
|
".hmcl.json"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,5 +20,8 @@ lib.my.makeSwitch {
|
|||||||
gamescope
|
gamescope
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
my.persist.homeDirs = [
|
||||||
|
".local/share/Steam"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user