Compare commits
268 Commits
gitea
...
647830080a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
647830080a | ||
|
|
f22ef9939c | ||
|
|
42a4a2fe0e | ||
|
|
0340fbfacd | ||
|
|
dee4b516b0 | ||
|
|
0821124f4f | ||
|
|
395c676fc6 | ||
|
|
f67d54c66b | ||
|
|
baa8a43692 | ||
|
|
b6b6115b4e | ||
|
|
167f3936dc | ||
|
|
4ef43805ae | ||
|
|
bb773f0dee | ||
|
|
35ad7c04e9 | ||
|
|
31ef18fc34 | ||
|
|
9cb47d96d9 | ||
|
|
9ade97edb9 | ||
|
|
872082819b | ||
|
|
cf66ef2ea9 | ||
|
|
9368c387dc | ||
|
|
da268cd46a | ||
|
|
dd3b850221 | ||
|
|
2ecb7486bb | ||
|
|
bbe16598ad | ||
|
|
c64ade92b7 | ||
|
|
82c2d4c85c | ||
|
|
66f543b966 | ||
|
|
000d37ebed | ||
|
|
17bd864d5c | ||
|
|
0d1a9d0554 | ||
|
|
f3b953e87b | ||
|
|
1ee84d5dd8 | ||
|
|
1b530779aa | ||
|
|
7978dc1987 | ||
|
|
2384158d1c | ||
|
|
58d0b12e1f | ||
|
|
ba66d8bbef | ||
|
|
0f95741b5a | ||
|
|
88eadf2d64 | ||
|
|
46bdbb10f9 | ||
|
|
381489b567 | ||
|
|
0929c6287d | ||
|
|
950ffac450 | ||
|
|
3bc47393b3 | ||
|
|
9d9b2cf84d | ||
|
|
c1710f928f | ||
|
|
9c0094949e | ||
|
|
8e3ec6c603 | ||
|
|
78f6fb64d0 | ||
|
|
244e40a746 | ||
|
|
7b9f009a27 | ||
|
|
4fdc4becf0 | ||
|
|
6d2f90486f | ||
|
|
d6d4a1f3b5 | ||
|
|
04dcba2d3f | ||
|
|
d2d1ce7830 | ||
|
|
fbd045d53e | ||
|
|
027dee164d | ||
|
|
e651b39126 | ||
|
|
5a242c60a5 | ||
|
|
be9f5c23e8 | ||
|
|
c5a0f61faa | ||
|
|
786648990f | ||
|
|
30f5ee6a3a | ||
|
|
7544b0dbac | ||
|
|
68eb400210 | ||
|
|
7952492672 | ||
|
|
fa3348c5c2 | ||
|
|
8a47706856 | ||
|
|
cc9026297e | ||
|
|
bf30ac72d1 | ||
|
|
10344ce639 | ||
|
|
a76fe844c6 | ||
|
|
feb6d269de | ||
|
|
76e83f6498 | ||
|
|
46ad89fe0d | ||
|
|
c186666394 | ||
|
|
6b8d1d277b | ||
|
|
2c358380e4 | ||
|
|
935beadb3b | ||
|
|
5775bc88d6 | ||
|
|
3285d23223 | ||
|
|
a8629627ea | ||
|
|
68c749474e | ||
|
|
e0b43bcbe5 | ||
|
|
10e1941c5a | ||
|
|
2d697c079d | ||
|
|
ed18e8bd51 | ||
|
|
a9670b5896 | ||
|
|
b5e66bbf43 | ||
|
|
e1f74665c1 | ||
|
|
c8903a6b56 | ||
|
|
b1258be64b | ||
|
|
7b08304f78 | ||
|
|
d439996d0c | ||
|
|
c566e4f40a | ||
|
|
272ae1cd55 | ||
|
|
c4052ec34d | ||
|
|
f4f80ffbde | ||
|
|
2de110149f | ||
|
|
b0ab87bbab | ||
|
|
edde9bd52b | ||
|
|
bf56cc88bf | ||
|
|
393d7f4fc4 | ||
|
|
2ecb4ce65a | ||
|
|
88e73a3ea8 | ||
|
|
8be84ff0a9 | ||
|
|
9d3418bec2 | ||
|
|
68cb4377b7 | ||
|
|
ce140cf4f2 | ||
|
|
a60e90ab8f | ||
|
|
89adbab83b | ||
|
|
09837534ea | ||
|
|
a769f9eb1f | ||
|
|
031215cb4f | ||
|
|
b36e420e89 | ||
|
|
0a52deb024 | ||
|
|
d3b5bb0d60 | ||
|
|
5a1c9eeacb | ||
|
|
b9d8a339d2 | ||
|
|
9fe46133da | ||
|
|
f35172fde1 | ||
|
|
6b79aca0be | ||
|
|
9788b83d82 | ||
|
|
366644f5d2 | ||
|
|
3891119804 | ||
|
|
e8284be564 | ||
|
|
6c6dd819a8 | ||
|
|
014fca20a9 | ||
|
|
2b51508030 | ||
|
|
7e8f5f6751 | ||
|
|
61a788961d | ||
|
|
8a8780ff71 | ||
|
|
921f8fc6a7 | ||
|
|
977837f81e | ||
|
|
17bbc58503 | ||
|
|
61fa0dd7fd | ||
|
|
f08777fdab | ||
|
|
7a6f6aac82 | ||
|
|
86ce0ac9d4 | ||
|
|
e08b0e8184 | ||
|
|
02c48e8eaa | ||
|
|
0876ec355e | ||
|
|
28dd018961 | ||
|
|
ce363cafe1 | ||
|
|
67202e47e3 | ||
|
|
d7d9b8e39c | ||
|
|
1a52cafa66 | ||
|
|
b3a419de26 | ||
|
|
0b3931ff86 | ||
|
|
2b854183ac | ||
|
|
18013b83df | ||
|
|
6b4a76dd4a | ||
|
|
c15bf8c58e | ||
|
|
60a839663a | ||
|
|
ee72de3539 | ||
|
|
73281b62d9 | ||
|
|
e5e7164a93 | ||
|
|
3ed506a924 | ||
|
|
33503c4485 | ||
|
|
5c8e50aa9f | ||
|
|
c9106e8484 | ||
|
|
62b40404c7 | ||
|
|
07a320147d | ||
|
|
34cdfc4def | ||
|
|
545b61a79f | ||
|
|
feb2f93360 | ||
|
|
8fb93e5f2b | ||
|
|
e5e3eaaff4 | ||
|
|
4bc88c8d13 | ||
|
|
a5c8d284ee | ||
|
|
c2f151e03e | ||
|
|
b0b643f164 | ||
|
|
99c07ec5fb | ||
|
|
3f553d27e1 | ||
|
|
a6a17574b8 | ||
|
|
78359c710f | ||
|
|
2206e5472b | ||
|
|
9c96585401 | ||
|
|
ac36fa13ac | ||
|
|
b4586e8661 | ||
|
|
5a6199a8a9 | ||
|
|
5e34285db2 | ||
|
|
9612646c55 | ||
|
|
7324904db9 | ||
|
|
132c169e24 | ||
|
|
207961e397 | ||
|
|
73339cfc50 | ||
|
|
94559de7ae | ||
|
|
89fa46aa6d | ||
|
|
0fbb54a04a | ||
|
|
9619164eb4 | ||
|
|
343fc2ac4e | ||
|
|
9c98199ee3 | ||
|
|
3652cdfca9 | ||
|
|
2699268b81 | ||
|
|
e4d0326a74 | ||
|
|
8525adecf4 | ||
|
|
c381580cca | ||
|
|
aea641cd9c | ||
|
|
2179dbf1d8 | ||
|
|
6f5f70f439 | ||
|
|
d40175d4a5 | ||
|
|
34eba60193 | ||
|
|
57230a32c3 | ||
|
|
d9146432e4 | ||
|
|
447e6edd56 | ||
|
|
aa58ca79bb | ||
|
|
a2692f6837 | ||
|
|
c031de7fec | ||
|
|
918342fdf3 | ||
|
|
d8f623f1a0 | ||
|
|
6a4460d089 | ||
|
|
e61954442f | ||
|
|
f5aa965369 | ||
|
|
eb812dc9e0 | ||
|
|
6d4d118685 | ||
|
|
94a78942f8 | ||
|
|
5c2437cee1 | ||
|
|
fa8875c0ee | ||
|
|
2040ce3ea0 | ||
|
|
d9822a7a91 | ||
|
|
d2e0b9d2d3 | ||
|
|
ccdd036935 | ||
|
|
5d36be3804 | ||
|
|
2640b00b05 | ||
|
|
9087100c42 | ||
|
|
5c9a92c68e | ||
|
|
1fd894a3b3 | ||
|
|
09316011ab | ||
|
|
fdce6c3d57 | ||
|
|
1be03c39ad | ||
|
|
a0c098ea1f | ||
|
|
9a4e3d7a78 | ||
|
|
1005cc522d | ||
|
|
729e7e5f0e | ||
|
|
79cbdc9f69 | ||
|
|
c6ca7c95f4 | ||
|
|
e878158b71 | ||
|
|
ed5f0784d1 | ||
|
|
051648954a | ||
|
|
f5538e69a5 | ||
|
|
a82660b049 | ||
|
|
f828268b14 | ||
|
|
02c7814ce4 | ||
|
|
e36ffd828b | ||
|
|
219a19a3a8 | ||
|
|
683913e0fe | ||
|
|
837e64c377 | ||
|
|
f8497f5538 | ||
|
|
9c2a69aa03 | ||
|
|
a8c3a12089 | ||
|
|
b8199c24ef | ||
|
|
971cea5418 | ||
|
|
d12b9ddf2f | ||
|
|
e4ec830aaa | ||
|
|
ebb1da3fc2 | ||
|
|
80e06b3f49 | ||
|
|
605381b553 | ||
|
|
298d31e21a | ||
|
|
947b824796 | ||
|
|
edbe4e7f66 | ||
|
|
dbccb827ad | ||
|
|
f5af726382 | ||
|
|
e95332cedb | ||
|
|
6a7d8fe4be | ||
|
|
37eb70db63 | ||
|
|
77e9aa4ddd |
0
.gitattributes
vendored
Executable file → Normal file
0
.gitattributes
vendored
Executable file → Normal file
0
.gitignore
vendored
Executable file → Normal file
0
.gitignore
vendored
Executable file → Normal file
15
.ignore
Normal file
15
.ignore
Normal file
@@ -0,0 +1,15 @@
|
||||
flake.lock
|
||||
*.remmina
|
||||
*.pem
|
||||
*.env
|
||||
*.key
|
||||
*.ovpn
|
||||
sops-secrets.yaml
|
||||
*.png
|
||||
*.jpg
|
||||
*.webp
|
||||
*.gif
|
||||
*.mp3
|
||||
*.mp4
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
keys:
|
||||
- &users:
|
||||
- &nx2backup age1sgzc2jh8af30a3cp6g7l4hyzusqrn3x3xw7frghc4akvjaplwa3stfemxc
|
||||
- &nx2 22FB2CC03DC5292AB81CF67D0AF27B383170E634
|
||||
- &nx2_key_13 age1x2lpsennl74n0f5jl60uv2ffjcuqymzf9ap3frlz2quyv0x3hq3scnewwq
|
||||
- &hosts:
|
||||
- &north age1vkqn2nars5qmpr35tac0x9vshphrq6nnzjfyxwusgn27kt3zualssv0u8e
|
||||
- &xps age1jvf2lyrt2dw9jfnwgvnhmj9fmvyq8vvtepqjpkyycc5dqkkd4edqhxsgv6
|
||||
@@ -13,6 +13,6 @@ creation_rules:
|
||||
- *north
|
||||
- *xps
|
||||
- *ace
|
||||
- *nx2backup
|
||||
- *nx2_key_13
|
||||
pgp:
|
||||
- *nx2
|
||||
|
||||
122
configuration.nix
Executable file → Normal file
122
configuration.nix
Executable file → Normal file
@@ -1,126 +1,68 @@
|
||||
{ pkgs, inputs, lib, host, ... }:
|
||||
{
|
||||
imports = ([
|
||||
{ ... }@all: with all; {
|
||||
imports = [
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
./system-modules/adb.nix
|
||||
./system-modules/auto-mount.nix
|
||||
./system-modules/hardware-configuration.nix
|
||||
./system-modules/fuse.nix
|
||||
./system-modules/nvidia.nix
|
||||
./system-modules/users.nix
|
||||
./system-modules/sound.nix
|
||||
./system-modules/fonts.nix
|
||||
./system-modules/boot.nix
|
||||
./system-modules/gc.nix
|
||||
./system-modules/tz.nix
|
||||
./system-modules/bluetooth.nix
|
||||
./system-modules/boot.nix
|
||||
./system-modules/cache.nix
|
||||
./system-modules/calendar.nix
|
||||
./system-modules/dm.nix
|
||||
./system-modules/docker.nix
|
||||
./system-modules/fcitx5.nix
|
||||
./system-modules/fonts.nix
|
||||
./system-modules/fuse.nix
|
||||
./system-modules/games.nix
|
||||
./system-modules/gc.nix
|
||||
./system-modules/gpg.nix
|
||||
./system-modules/hardware-configuration.nix
|
||||
./system-modules/health_reminder.nix
|
||||
./system-modules/hsmw.nix
|
||||
./system-modules/kanata.nix
|
||||
./system-modules/terminal.nix
|
||||
./system-modules/kodi.nix
|
||||
./system-modules/networking.nix
|
||||
./system-modules/nixd.nix
|
||||
./system-modules/nvidia.nix
|
||||
./system-modules/obs.nix
|
||||
./system-modules/ollama.nix
|
||||
./system-modules/qmk.nix
|
||||
./system-modules/scanning.nix
|
||||
./system-modules/sops.nix
|
||||
./system-modules/sound.nix
|
||||
./system-modules/sshd.nix
|
||||
./system-modules/base-packages.nix
|
||||
./system-modules/input.nix
|
||||
./system-modules/syncthing.nix
|
||||
./system-modules/tuda.nix
|
||||
./system-modules/gui.nix
|
||||
./system-modules/editor.nix
|
||||
./system-modules/printing.nix
|
||||
./system-modules/security.nix
|
||||
./system-modules/users.nix
|
||||
./system-modules/virtualisation.nix
|
||||
./system-modules/ydotool.nix
|
||||
]) ++ (if (host == "NxACE") then [
|
||||
] ++ (if (hyper.host == "NxACE") then [
|
||||
./system-modules/nx2site.nix
|
||||
./system-modules/hugo.nix
|
||||
./system-modules/postgres.nix
|
||||
./system-modules/nx2site/proxy.nix
|
||||
# ./system-modules/nx2site/gitea.nix
|
||||
# ./system-modules/nx2site/vaultwarden.nix
|
||||
] else []);
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
console.font = "Lat2-Terminus16";
|
||||
console.keyMap = "de";
|
||||
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
xkb = {
|
||||
layout = "de";
|
||||
options = "eurosign:e,caps:escape";
|
||||
};
|
||||
# lightdm in lightdm.nix
|
||||
};
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
# rtkit is optional but recommended
|
||||
security.rtkit.enable = true;
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
services.libinput.enable = true;
|
||||
hardware.uinput.enable = true;
|
||||
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
package = pkgs.bluez5-experimental;
|
||||
settings.Policy.AutoEnable = "true";
|
||||
settings.General.Enable = "Source,Sink,Media,Socket";
|
||||
};
|
||||
services.blueman.enable = true;
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; ([
|
||||
git
|
||||
git-crypt
|
||||
lazygit # home-manager module is bugged
|
||||
wget
|
||||
curlHTTP3
|
||||
zip
|
||||
unzip
|
||||
p7zip
|
||||
unar
|
||||
nano
|
||||
htop
|
||||
direnv
|
||||
openssl
|
||||
blueman
|
||||
dmidecode
|
||||
file
|
||||
# ]) ++ (with pkgs-unstable; [
|
||||
# # sendme
|
||||
./system-modules/nx2site/audiobookshelf.nix
|
||||
./system-modules/nx2site/gitea.nix
|
||||
./system-modules/nx2site/open-web-calendar.nix
|
||||
./system-modules/nx2site/radicale.nix
|
||||
./system-modules/nx2site/vaultwarden.nix
|
||||
./system-modules/nx2site/paperless.nix
|
||||
./system-modules/calendar/publish.nix
|
||||
./system-modules/calendar/lec.nix
|
||||
./system-modules/calendar/lr.nix
|
||||
./system-modules/calendar/dicos.nix
|
||||
] else [
|
||||
]);
|
||||
|
||||
environment.variables = {
|
||||
EDITOR = "hx";
|
||||
VISUAL = "hx";
|
||||
};
|
||||
|
||||
|
||||
programs.hyprland = {
|
||||
# config is done with home-manager
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
|
||||
system.stateVersion = "24.05";
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
systemd.extraConfig = "DefaultLimitNOFILE=2048";
|
||||
system.stateVersion = hyper.pkgs-version;
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
|
||||
programs.bash.shellInit = ''
|
||||
source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||
'';
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
"discord"
|
||||
"spotify"
|
||||
"obsidian"
|
||||
"steam"
|
||||
"steam-unwrapped"
|
||||
"zoom-us"
|
||||
"zoom"
|
||||
|
||||
@@ -35,6 +37,8 @@
|
||||
"libnvjitlink"
|
||||
"libcusparse"
|
||||
"libnpp"
|
||||
|
||||
"vscode-extension-mhutchie-git-graph"
|
||||
];
|
||||
|
||||
inecure = [
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"base": {
|
||||
"foreground": "#eedce2",
|
||||
"background": "#221016"
|
||||
"foreground": "#fefefe",
|
||||
"background": "#020202"
|
||||
},
|
||||
"to_alter": {
|
||||
"accent": "#ac5271",
|
||||
"secondary": "#f20c5b",
|
||||
"tertiary": "#d5a287",
|
||||
"special": "#51ac8d",
|
||||
"weird": "#0cf2a3"
|
||||
"accent": "#aaaaff",
|
||||
"secondary": "#aaeeff",
|
||||
"tertiary": "#aaffaa",
|
||||
"special": "#aaffaa",
|
||||
"weird": "#ffffaa"
|
||||
}
|
||||
}
|
||||
@@ -6,15 +6,14 @@ pkgs: rec {
|
||||
rounding = 3;
|
||||
gap-size = 5;
|
||||
border-width = 2;
|
||||
color =
|
||||
let
|
||||
color = let
|
||||
dark = (-0.5);
|
||||
bright = (0.5);
|
||||
alter-set = let f = lib.alter-luminace-hex; in color-name: color-value: { base = color-value; dark = f color-value dark; bright = f color-value bright; };
|
||||
alter = let f = lib.alter-luminace-hex; in color-value: { base = color-value; dark = f color-value dark; bright = f color-value bright; };
|
||||
# ccolor = builtins.mapAttrs alter-set (builtins.fromJSON (builtins.readFile ./colors.json));
|
||||
ccolor = builtins.mapAttrs alter-set {
|
||||
black = "#111111"; # "#111111" "#001100";
|
||||
black = "#040404"; # "#111111" "#001100";
|
||||
white = "#dddddd"; # "#dddddd" "#66dd66";
|
||||
blue = "#4444dd"; # "#3333dd" "#003300";
|
||||
cyan = "#44dddd"; # "#11dddd" "#00dd55";
|
||||
@@ -26,7 +25,7 @@ pkgs: rec {
|
||||
facolor = builtins.mapAttrs alter-set (builtins.fromJSON (builtins.readFile ./colors.json)).to_alter;
|
||||
fbcolor = (builtins.fromJSON (builtins.readFile ./colors.json)).base;
|
||||
fcolor = facolor // fbcolor;
|
||||
xcolor = with ccolor; with fcolor; rec {
|
||||
xcolor = with ccolor; with fcolor; {
|
||||
background = "#000000";
|
||||
# foreground = "#dddddd";
|
||||
# accent = blue;
|
||||
@@ -42,17 +41,14 @@ pkgs: rec {
|
||||
in ccolor // fcolor // xcolor;
|
||||
font = {
|
||||
code = {
|
||||
name = "JetBrainsMono-NF";
|
||||
name2 = "JetBrainsMono Nerd Font";
|
||||
package = (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; });
|
||||
# name = "CascadiaCove-NF";
|
||||
# package = (pkgs.nerdfonts.override { fonts = [ "CascadiaCode" ]; });
|
||||
name = "JetBrainsMono Nerd Font";
|
||||
package = pkgs.nerd-fonts.jetbrains-mono;
|
||||
};
|
||||
base = {
|
||||
# name = "NewComputerModern08";
|
||||
# package = pkgs.newcomputermodern;
|
||||
name = "Atkinson Hyperlegible";
|
||||
package = pkgs.atkinson-hyperlegible;
|
||||
package = pkgs.atkinson-hyperlegible-next;
|
||||
};
|
||||
};
|
||||
cursor = {
|
||||
|
||||
573
flake.lock
generated
Executable file → Normal file
573
flake.lock
generated
Executable file → Normal file
@@ -1,26 +1,5 @@
|
||||
{
|
||||
"nodes": {
|
||||
"Hyprspace": {
|
||||
"inputs": {
|
||||
"hyprland": [
|
||||
"hyprland"
|
||||
],
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728710667,
|
||||
"narHash": "sha256-9HR9EePhzweUAUPUccByNYxKQzfFAnxfu2BXTLqOLZQ=",
|
||||
"owner": "KZDKM",
|
||||
"repo": "Hyprspace",
|
||||
"rev": "e8406a7708bceb3b5bedf56b67490dbe3d27e6f8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "KZDKM",
|
||||
"repo": "Hyprspace",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"aquamarine": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
@@ -41,11 +20,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728902391,
|
||||
"narHash": "sha256-44bnoY0nAvbBQ/lVjmn511yL39Sv7SknV0BDxn34P3Q=",
|
||||
"lastModified": 1752743471,
|
||||
"narHash": "sha256-4izhj1j7J4mE8LgljCXSIUDculqOsxxhdoC81VhqizM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "9874e08eec85b5542ca22494e127b0cdce46b786",
|
||||
"rev": "e31b575d19e7cf8a8f4398e2f9cffe27a1332506",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -55,30 +34,12 @@
|
||||
}
|
||||
},
|
||||
"crane": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"lanzaboote",
|
||||
"flake-compat"
|
||||
],
|
||||
"flake-utils": [
|
||||
"lanzaboote",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"lanzaboote",
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": [
|
||||
"lanzaboote",
|
||||
"rust-overlay"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1681177078,
|
||||
"narHash": "sha256-ZNIjBDou2GOabcpctiQykEQVkI8BDwk7TyvlWlI4myE=",
|
||||
"lastModified": 1731098351,
|
||||
"narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "0c9f468ff00576577d83f5019a66c557ede5acf6",
|
||||
"rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -106,11 +67,27 @@
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1747046372,
|
||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -120,24 +97,6 @@
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727826117,
|
||||
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"lanzaboote",
|
||||
@@ -145,11 +104,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1680392223,
|
||||
"narHash": "sha256-n3g7QFr85lDODKt250rkZj2IFS3i4/8HBU2yKHO3tqw=",
|
||||
"lastModified": 1730504689,
|
||||
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "dcc36e45d054d7bb554c9cdab69093debd91a0b5",
|
||||
"rev": "506278e768c2a08bec68eb62932193e341f55c90",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -163,29 +122,11 @@
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1681202837,
|
||||
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -225,11 +166,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1660459072,
|
||||
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -245,16 +186,16 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726989464,
|
||||
"narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=",
|
||||
"lastModified": 1753592768,
|
||||
"narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176",
|
||||
"rev": "fc3add429f21450359369af74c2375cb34a2d204",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-24.05",
|
||||
"ref": "release-25.05",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -275,11 +216,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728669738,
|
||||
"narHash": "sha256-EDNAU9AYcx8OupUzbTbWE1d3HYdeG0wO6Msg3iL1muk=",
|
||||
"lastModified": 1749155331,
|
||||
"narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"rev": "0264e698149fcb857a66a53018157b41f8d97bb0",
|
||||
"rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -288,25 +229,56 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprgraphics": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1752149140,
|
||||
"narHash": "sha256-gbh1HL98Fdqu0jJIWN4OJQN7Kkth7+rbkFpSZLm/62A=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"rev": "340494a38b5ec453dfc542c6226481f736cc8a9a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland": {
|
||||
"inputs": {
|
||||
"aquamarine": "aquamarine",
|
||||
"hyprcursor": "hyprcursor",
|
||||
"hyprgraphics": "hyprgraphics",
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"hyprland-qtutils": "hyprland-qtutils",
|
||||
"hyprlang": "hyprlang",
|
||||
"hyprutils": "hyprutils",
|
||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"pre-commit-hooks": "pre-commit-hooks",
|
||||
"systems": "systems_2",
|
||||
"systems": "systems",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729629261,
|
||||
"narHash": "sha256-IJtor2qFpsZkCm4UMnCHOSosW9GXKZVOm7DILtJJgoM=",
|
||||
"lastModified": 1753634783,
|
||||
"narHash": "sha256-Rl/voNjvcQH6E1vi4wNt5AY6CWaYkqfnkpm9GxrqKGg=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "29997ef4ba8ef0a80390e80199998d1390177454",
|
||||
"revCount": 5366,
|
||||
"rev": "c63d0003a1e5155248695f19778f815a8ad34c67",
|
||||
"revCount": 6317,
|
||||
"submodules": true,
|
||||
"type": "git",
|
||||
"url": "https://github.com/hyprwm/Hyprland"
|
||||
@@ -334,11 +306,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729596320,
|
||||
"narHash": "sha256-sBPr6O2Ad916f+L7biAjmJVx4TLDITC4joKgeOT47V8=",
|
||||
"lastModified": 1753028264,
|
||||
"narHash": "sha256-GbfsRZWW5uBAOeddLkmrYV2XmAbI0etVUTBXFH5thcw=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-plugins",
|
||||
"rev": "4d7f0b5d8b952f31f7d2e29af22ab0a55ca5c219",
|
||||
"rev": "14f9a444793d6dd78c29033acf9c3c974ded708d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -359,11 +331,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728345020,
|
||||
"narHash": "sha256-xGbkc7U/Roe0/Cv3iKlzijIaFBNguasI31ynL2IlEoM=",
|
||||
"lastModified": 1749046714,
|
||||
"narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "a7c183800e74f337753de186522b9017a07a8cee",
|
||||
"rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -372,6 +344,74 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-qt-support": {
|
||||
"inputs": {
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749154592,
|
||||
"narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qt-support",
|
||||
"rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qt-support",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-qtutils": {
|
||||
"inputs": {
|
||||
"hyprland-qt-support": "hyprland-qt-support",
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"hyprlang",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750371812,
|
||||
"narHash": "sha256-D868K1dVEACw17elVxRgXC6hOxY+54wIEjURztDWLk8=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qtutils",
|
||||
"rev": "b13c7481e37856f322177010bdf75fccacd1adc8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qtutils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprlang": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
@@ -388,11 +428,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728168612,
|
||||
"narHash": "sha256-AnB1KfiXINmuiW7BALYrKqcjCnsLZPifhb/7BsfPbns=",
|
||||
"lastModified": 1750371198,
|
||||
"narHash": "sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "f054f2e44d6a0b74607a6bc0f52dba337a3db38e",
|
||||
"rev": "cee01452bca58d6cadb3224e21e370de8bc20f0b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -401,23 +441,24 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprswitch": {
|
||||
"hyprspace": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
"hyprland": [
|
||||
"hyprland"
|
||||
],
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725107917,
|
||||
"narHash": "sha256-6on3nwb3gB4t+P/2IExgGhVLVgAkF6ZiE5x+qcQHEXU=",
|
||||
"owner": "h3rmt",
|
||||
"repo": "hyprswitch",
|
||||
"rev": "f478c394ad6db5ba268f80052f1eb2366366b21e",
|
||||
"lastModified": 1753590784,
|
||||
"narHash": "sha256-Q30DFlPwD1ZK52TD4wSnqDO5gk9Kvifr923siI8AdVQ=",
|
||||
"owner": "KZDKM",
|
||||
"repo": "Hyprspace",
|
||||
"rev": "a847f1d6a7326395d17fe9b6b4ab63a10eb152eb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "h3rmt",
|
||||
"ref": "release",
|
||||
"repo": "hyprswitch",
|
||||
"owner": "KZDKM",
|
||||
"repo": "Hyprspace",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -433,11 +474,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728941256,
|
||||
"narHash": "sha256-WRypmcZ2Bw94lLmcmxYokVOHPJSZ7T06V49QZ4tkZeQ=",
|
||||
"lastModified": 1752252310,
|
||||
"narHash": "sha256-06i1pIh6wb+sDeDmWlzuPwIdaFMxLlj1J9I5B9XqSeo=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "fd4be8b9ca932f7384e454bcd923c5451ef2aa85",
|
||||
"rev": "bcabcbada90ed2aacb435dc09b91001819a6dc82",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -458,11 +499,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726874836,
|
||||
"narHash": "sha256-VKR0sf0PSNCB0wPHVKSAn41mCNVCnegWmgkrneKDhHM=",
|
||||
"lastModified": 1751897909,
|
||||
"narHash": "sha256-FnhBENxihITZldThvbO7883PdXC/2dzW4eiNvtoV5Ao=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"rev": "500c81a9e1a76760371049a8d99e008ea77aa59e",
|
||||
"rev": "fcca0c61f988a9d092cbb33e906775014c61579d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -475,34 +516,53 @@
|
||||
"inputs": {
|
||||
"crane": "crane",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682802423,
|
||||
"narHash": "sha256-Fb5TeRTdvUlo/5Yi2d+FC8a6KoRLk2h1VE0/peMhWPs=",
|
||||
"lastModified": 1737639419,
|
||||
"narHash": "sha256-AEEDktApTEZ5PZXNDkry2YV2k6t0dTgLPEmAZbnigXU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "lanzaboote",
|
||||
"rev": "64b903ca87d18cef2752c19c098af275c6e51d63",
|
||||
"rev": "a65905a09e2c43ff63be8c0e86a93712361f871e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "v0.3.0",
|
||||
"ref": "v0.4.2",
|
||||
"repo": "lanzaboote",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-wsl": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_3",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753642709,
|
||||
"narHash": "sha256-J/xPmOfKRX/4UtBIVa5qkKuwN6FrHQBmo5bIPmcPeck=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NixOS-WSL",
|
||||
"rev": "e1e0999d45ba66d2d66ac061c27ce680814d14b1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "main",
|
||||
"repo": "NixOS-WSL",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1728888510,
|
||||
"narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=",
|
||||
"lastModified": 1752687322,
|
||||
"narHash": "sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c",
|
||||
"rev": "6e987485eb2c77e5dcc5af4e3c70843711ef9251",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -514,11 +574,11 @@
|
||||
},
|
||||
"nixpkgs-latest": {
|
||||
"locked": {
|
||||
"lastModified": 1729631290,
|
||||
"narHash": "sha256-zVL79jvDihxcnq9FKkAoILYWxGmxCw1DGdBnpv/B+3s=",
|
||||
"lastModified": 1753644334,
|
||||
"narHash": "sha256-b7OuvvF9XEe5ms/7Uaq3g4fkmbLhQeP2b+weAjnciXE=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1f9d2cf67508efd9b5e81cdf7af556bbbfe02377",
|
||||
"rev": "6a56b14976d469a9f943400698244a4c1a4c1608",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -528,25 +588,13 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1727825735,
|
||||
"narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1720386169,
|
||||
"narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=",
|
||||
"lastModified": 1730741070,
|
||||
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "194846768975b7ad2c4988bdb82572c00222c0d7",
|
||||
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -556,45 +604,13 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1678872516,
|
||||
"narHash": "sha256-/E1YwtMtFAu2KUQKV/1+KFuReYPANM2Rzehk84VxVoc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-22.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable_3": {
|
||||
"locked": {
|
||||
"lastModified": 1729357638,
|
||||
"narHash": "sha256-66RHecx+zohbZwJVEPF7uuwHeqf8rykZTMCTqIrOew4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "bb8c2cf7ea0dd2e18a52746b2c3a5b0c73b93c22",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "release-24.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1729413321,
|
||||
"narHash": "sha256-I4tuhRpZFa6Fu6dcH9Dlo5LlH17peT79vx1y1SpeKt0=",
|
||||
"lastModified": 1753429684,
|
||||
"narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1997e4aa514312c1af7e2bda7fad1644e778ff26",
|
||||
"rev": "7fd36ee82c0275fb545775cc5e4d30542899511d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -605,26 +621,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1711588226,
|
||||
"narHash": "sha256-nd7goEu+nH/WZ/uCxvbWzSYqzZZn25kWTeKfANOhCjU=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "7232f19f7fb710e3554cafaa9d8e93cff8273b59",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1682741954,
|
||||
"narHash": "sha256-RPZxzRu8XU0YD2WeYUFYzJy5yAvWUsxkuK+zWw+6WVk=",
|
||||
"lastModified": 1731919951,
|
||||
"narHash": "sha256-vOM6ETpl1yu9KLi/icTmLJIPbbdJCdAVYUXZceO/Ce4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "373e9eb4c42b2fc0611d794de5ea715a35d72393",
|
||||
"rev": "04386ac325a813047fc314d4b4d838a5b1e3c7fe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -634,28 +635,44 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1729449015,
|
||||
"narHash": "sha256-Gf04dXB0n4q0A9G5nTGH3zuMGr6jtJppqdeljxua1fo=",
|
||||
"lastModified": 1751792365,
|
||||
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "89172919243df199fe237ba0f776c3e3e3d72367",
|
||||
"rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1753345091,
|
||||
"narHash": "sha256-CdX2Rtvp5I8HGu9swBmYuq+ILwRxpXdJwlpg8jvN4tU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3ff0e34b1383648053bba8ed03f201d3466f90c9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-24.05",
|
||||
"ref": "nixos-25.05",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1729265718,
|
||||
"narHash": "sha256-4HQI+6LsO3kpWTYuVGIzhJs1cetFcwT7quWCk/6rqeo=",
|
||||
"lastModified": 1752596105,
|
||||
"narHash": "sha256-lFNVsu/mHLq3q11MuGkMhUUoSXEdQjCHvpReaGP1S2k=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ccc0c2126893dd20963580b6478d1a10a4512185",
|
||||
"rev": "dab3a6e781554f965bde3def0aa2fda4eb8f1708",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -665,22 +682,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1727348695,
|
||||
"narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
@@ -688,15 +689,14 @@
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728778939,
|
||||
"narHash": "sha256-WybK5E3hpGxtCYtBwpRj1E9JoiVxe+8kX83snTNaFHE=",
|
||||
"lastModified": 1750779888,
|
||||
"narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "ff68f91754be6f3427e4986d7949e6273659be1d",
|
||||
"rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -711,23 +711,19 @@
|
||||
"lanzaboote",
|
||||
"flake-compat"
|
||||
],
|
||||
"flake-utils": [
|
||||
"lanzaboote",
|
||||
"flake-utils"
|
||||
],
|
||||
"gitignore": "gitignore_2",
|
||||
"nixpkgs": [
|
||||
"lanzaboote",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable_2"
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1681413034,
|
||||
"narHash": "sha256-/t7OjNQcNkeWeSq/CFLYVBfm+IEnkjoSm9iKvArnUUI=",
|
||||
"lastModified": 1731363552,
|
||||
"narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "d3de8f69ca88fb6f8b09e5b598be5ac98d28ede5",
|
||||
"rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -738,37 +734,32 @@
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"Hyprspace": "Hyprspace",
|
||||
"home-manager": "home-manager",
|
||||
"hyprland": "hyprland",
|
||||
"hyprland-plugins": "hyprland-plugins",
|
||||
"hyprswitch": "hyprswitch",
|
||||
"hyprspace": "hyprspace",
|
||||
"lanzaboote": "lanzaboote",
|
||||
"nixos-wsl": "nixos-wsl",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixpkgs-latest": "nixpkgs-latest",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"sops-nix": "sops-nix",
|
||||
"yazi": "yazi",
|
||||
"zen-browser": "zen-browser"
|
||||
"yazi": "yazi"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"lanzaboote",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"lanzaboote",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682129965,
|
||||
"narHash": "sha256-1KRPIorEL6pLpJR04FwAqqnt4Tzcm4MqD84yhlD+XSk=",
|
||||
"lastModified": 1731897198,
|
||||
"narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "2c417c0460b788328220120c698630947547ee83",
|
||||
"rev": "0be641045af6d8666c11c2c40e45ffc9667839b5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -785,11 +776,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729391507,
|
||||
"narHash": "sha256-as0I9xieJUHf7kiK2a9znDsVZQTFWhM1pLivII43Gi0=",
|
||||
"lastModified": 1752633862,
|
||||
"narHash": "sha256-Bj7ozT1+5P7NmvDcuAXJvj56txcXuAhk3Vd9FdWFQzk=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "784981a9feeba406de38c1c9a3decf966d853cca",
|
||||
"rev": "8668ca94858206ac3db0860a9dec471de0d995f8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -802,15 +793,14 @@
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable_3"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729587807,
|
||||
"narHash": "sha256-YOc4033a/j1TbdLfkaSOSX2SrvlmuM+enIFoveNTCz4=",
|
||||
"lastModified": 1752544651,
|
||||
"narHash": "sha256-GllP7cmQu7zLZTs9z0J2gIL42IZHa9CBEXwBY9szT0U=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "26642e8f193f547e72d38cd4c0c4e45b49236d27",
|
||||
"rev": "2c8def626f54708a9c38a5861866660395bb3461",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -864,21 +854,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_4": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xdph": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": [
|
||||
@@ -907,11 +882,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728166987,
|
||||
"narHash": "sha256-w6dVTguAn9zJ+7aPOhBQgDz8bn6YZ7b56cY8Kg5HJRI=",
|
||||
"lastModified": 1751300244,
|
||||
"narHash": "sha256-PFuv1TZVYvQhha0ac53E3YgdtmLShrN0t4T6xqHl0jE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "fb9c8d665af0588bb087f97d0f673ddf0d501787",
|
||||
"rev": "6115f3fdcb2c1a57b4a80a69f3c797e47607b90a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -922,16 +897,16 @@
|
||||
},
|
||||
"yazi": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729473414,
|
||||
"narHash": "sha256-ffiEVFCUMnShcSa4hvCbT1EQeu7c2lVOk6OdaxjiUmU=",
|
||||
"lastModified": 1753610773,
|
||||
"narHash": "sha256-M5SPkMK1ySSXEXEMJEcSgrHZlaBhIJeYMbFdO6q5IFc=",
|
||||
"owner": "sxyazi",
|
||||
"repo": "yazi",
|
||||
"rev": "0e118b5b3a5baacf7fe62971e2bfe2b0ad972bab",
|
||||
"rev": "0e3cd8545c07e79d7cf1f58632c87cc14faa16d6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -939,24 +914,6 @@
|
||||
"repo": "yazi",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zen-browser": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727721329,
|
||||
"narHash": "sha256-QYlWZwUSwrM7BuO+dXclZIwoPvBIuJr6GpFKv9XKFPI=",
|
||||
"owner": "MarceColl",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "e6ab73f405e9a2896cce5956c549a9cc359e5fcc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "MarceColl",
|
||||
"repo": "zen-browser-flake",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
||||
90
flake.nix
Executable file → Normal file
90
flake.nix
Executable file → Normal file
@@ -2,70 +2,96 @@
|
||||
description = "Multisystem NixOS Flake of Lennart J. Kurzweg";
|
||||
|
||||
inputs = {
|
||||
nixpkgs = { url = "nixpkgs/nixos-24.05"; };
|
||||
nixpkgs = { url = "nixpkgs/nixos-25.05"; };
|
||||
nixpkgs-unstable = { url = "nixpkgs/nixos-unstable"; };
|
||||
nixpkgs-latest = { url = "github:nixos/nixpkgs?ref=master"; };
|
||||
home-manager = { url = "github:nix-community/home-manager/release-24.05"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||
|
||||
home-manager = { url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||
|
||||
nixos-wsl = { url = "github:nix-community/NixOS-WSL/main"; };
|
||||
|
||||
sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||
lanzaboote = { url = "github:nix-community/lanzaboote/v0.3.0"; };
|
||||
lanzaboote = { url = "github:nix-community/lanzaboote/v0.4.2"; };
|
||||
|
||||
hyprland = { url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; };
|
||||
hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; };
|
||||
Hyprspace = { url = "github:KZDKM/Hyprspace"; inputs.hyprland.follows = "hyprland"; };
|
||||
hyprswitch = { url = "github:h3rmt/hyprswitch/release"; };
|
||||
hyprspace = { url = "github:KZDKM/Hyprspace"; inputs.hyprland.follows = "hyprland"; };
|
||||
|
||||
# firefox-addons = { url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||
yazi.url = "github:sxyazi/yazi";
|
||||
zen-browser.url = "github:MarceColl/zen-browser-flake";
|
||||
yazi = { url = "github:sxyazi/yazi"; };
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, nixpkgs-unstable, nixpkgs-latest, home-manager, ... }@inputs: let
|
||||
outputs = { ... }@inputs: with inputs; let
|
||||
|
||||
system = "x86_64-linux";
|
||||
config = { allowUnfreePredicate = pkg: builtins.elem (pkgs.lib.getName pkg) (import ./flake-modules/allowed.nix).unfree; };
|
||||
|
||||
hyper-base = rec {
|
||||
inherit system;
|
||||
user = "nx2";
|
||||
domain = "nx2.site";
|
||||
home = "/home/${user}/";
|
||||
webroot = "/var/lib/hugo/nx2site/public";
|
||||
pkgs-version = "25.05";
|
||||
};
|
||||
|
||||
config = { allowUnfree = true; allowUnfreePredicate = pkg: builtins.elem (pkgs.lib.getName pkg) (import ./flake-modules/allowed.nix).unfree; };
|
||||
pkgs = import nixpkgs {
|
||||
inherit system config;
|
||||
overlays = [
|
||||
(final: prev: {
|
||||
unstable = import nixpkgs-unstable { inherit system config; };
|
||||
latest = import nixpkgs-latest { inherit system config; };
|
||||
version = "25.05";
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
pkgs = import nixpkgs { inherit system config; };
|
||||
pkgs-unstable = import nixpkgs-unstable { inherit system config; };
|
||||
pkgs-latest = import nixpkgs-latest { inherit system config; };
|
||||
|
||||
nvidia-set = import ./flake-modules/nvidia.nix;
|
||||
nvidia-base = import ./flake-modules/nvidia.nix;
|
||||
secrets = import ./git-crypt/secrets.nix;
|
||||
rice = import ./flake-modules/rice.nix pkgs;
|
||||
in {
|
||||
nixosConfigurations = let
|
||||
make-nixos-system = host: nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
make-nixos-system = host: nvidia-settings: nixpkgs.lib.nixosSystem {
|
||||
inherit pkgs;
|
||||
modules = [ ./configuration.nix ];
|
||||
specialArgs = let
|
||||
nvidia = nvidia-set // {
|
||||
enable = if (host == "NxXPS" || host == "NxNORTH") then true else false;
|
||||
prime = if (host == "NxXPS") then true else false;
|
||||
hyper = hyper-base // { inherit host; nvidia = (nvidia-base // nvidia-settings); };
|
||||
in { inherit inputs hyper rice secrets; };
|
||||
};
|
||||
in { inherit inputs user host domain pkgs-unstable pkgs-latest secrets rice nvidia; };
|
||||
make-nixos-wsl-system = host: nixpkgs.lib.nixosSystem {
|
||||
inherit pkgs;
|
||||
modules = [ ./nixos-wsl.nix ];
|
||||
specialArgs = let
|
||||
hyper = hyper-base // { inherit host; };
|
||||
in { inherit inputs hyper rice; };
|
||||
};
|
||||
in {
|
||||
NxXPS = make-nixos-system "NxXPS";
|
||||
NxNORTH = make-nixos-system "NxNORTH";
|
||||
NxACE = make-nixos-system "NxACE";
|
||||
NxXPS = make-nixos-system "NxXPS" { enable = true; prime = true; };
|
||||
NxNORTH = make-nixos-system "NxNORTH" { enable = true; prime = false; };
|
||||
NxACE = make-nixos-system "NxACE" { enable = false; };
|
||||
NxWSL = make-nixos-wsl-system "NxWSL";
|
||||
};
|
||||
|
||||
homeConfigurations = let
|
||||
make-home-configuration = host: user: home-manager.lib.homeManagerConfiguration {
|
||||
make-home-configuration = host: user: nvidia-settings: home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
modules = [ ./home.nix ];
|
||||
extraSpecialArgs = let
|
||||
nvidia = nvidia-set // {
|
||||
enable = if (host == "NxXPS" || host == "NxNORTH") then true else false;
|
||||
prime = if (host == "NxXPS") then true else false;
|
||||
hyper = hyper-base // { inherit host; nvidia = nvidia-base // nvidia-settings; };
|
||||
in { inherit pkgs inputs hyper rice secrets; };
|
||||
};
|
||||
in { inherit inputs system user host domain pkgs-unstable pkgs-latest rice secrets nvidia; };
|
||||
make-shell-configuration = host: user: home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
modules = [ ./shell-only.nix ];
|
||||
extraSpecialArgs = let
|
||||
hyper = hyper-base // { inherit host; };
|
||||
in { inherit pkgs inputs hyper rice secrets; };
|
||||
};
|
||||
in {
|
||||
"${user}@NxXPS" = make-home-configuration "NxXPS" user;
|
||||
"${user}@NxNORTH" = make-home-configuration "NxNORTH" user;
|
||||
"${user}@NxACE" = make-home-configuration "NxACE" user;
|
||||
"${hyper-base.user}@NxXPS" = make-home-configuration "NxXPS" hyper-base.user { enable = true; prime = true; };
|
||||
"${hyper-base.user}@NxNORTH" = make-home-configuration "NxNORTH" hyper-base.user { enable = true; prime = false; };
|
||||
"${hyper-base.user}@NxACE" = make-home-configuration "NxACE" hyper-base.user { enable = false; };
|
||||
|
||||
"${hyper-base.user}@NxWSL" = make-shell-configuration "NxWSL" hyper-base.user;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
0
git-crypt/easyroam-hsmw/easyroam_client_cert.pem
Executable file → Normal file
0
git-crypt/easyroam-hsmw/easyroam_client_cert.pem
Executable file → Normal file
0
git-crypt/easyroam-hsmw/easyroam_client_key.pem
Executable file → Normal file
0
git-crypt/easyroam-hsmw/easyroam_client_key.pem
Executable file → Normal file
0
git-crypt/easyroam-hsmw/easyroam_root_ca.pem
Executable file → Normal file
0
git-crypt/easyroam-hsmw/easyroam_root_ca.pem
Executable file → Normal file
0
git-crypt/pnx-vpn/ljk-pnx-ca.pem
Executable file → Normal file
0
git-crypt/pnx-vpn/ljk-pnx-ca.pem
Executable file → Normal file
0
git-crypt/pnx-vpn/ljk-pnx-cert.key
Executable file → Normal file
0
git-crypt/pnx-vpn/ljk-pnx-cert.key
Executable file → Normal file
0
git-crypt/pnx-vpn/ljk-pnx-cert.pem
Executable file → Normal file
0
git-crypt/pnx-vpn/ljk-pnx-cert.pem
Executable file → Normal file
0
git-crypt/pnx-vpn/ljk-pnx.ovpn
Executable file → Normal file
0
git-crypt/pnx-vpn/ljk-pnx.ovpn
Executable file → Normal file
BIN
git-crypt/secrets.nix
Executable file → Normal file
BIN
git-crypt/secrets.nix
Executable file → Normal file
Binary file not shown.
0
git-crypt/vpn-hsmw/USERTrust-ECC-Certification-Authority.pem
Executable file → Normal file
0
git-crypt/vpn-hsmw/USERTrust-ECC-Certification-Authority.pem
Executable file → Normal file
0
git-crypt/vpn-hsmw/USERTrust-RSA-Certification-Authority.pem
Executable file → Normal file
0
git-crypt/vpn-hsmw/USERTrust-RSA-Certification-Authority.pem
Executable file → Normal file
819
home-modules/assets/nx2.flf
Normal file
819
home-modules/assets/nx2.flf
Normal file
@@ -0,0 +1,819 @@
|
||||
flf2a$ 8 8 17 -1 2
|
||||
nx2.flf by nx2
|
||||
July 10. 2025
|
||||
$$@
|
||||
$$@
|
||||
$$@
|
||||
$$@
|
||||
$$@
|
||||
$$@
|
||||
$$@
|
||||
$$@@
|
||||
db$@
|
||||
88$@
|
||||
88$@
|
||||
°°$@
|
||||
..$@
|
||||
YP$@
|
||||
$@
|
||||
$@@
|
||||
.o. .o.$@
|
||||
'8' '8'$@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
db db $@
|
||||
C88888D$@
|
||||
88 88 $@
|
||||
C88888D$@
|
||||
YP YP $@
|
||||
$@
|
||||
$@@
|
||||
8 $@
|
||||
.d888b.$@
|
||||
88 8 °°$@
|
||||
'Y888b.$@
|
||||
.. 8 8D$@
|
||||
'Y888P'$@
|
||||
8 $@
|
||||
$@@
|
||||
d8b dD$@
|
||||
°8° d8'$@
|
||||
d8' $@
|
||||
d8' $@
|
||||
d8'.8.$@
|
||||
d8' Y8P$@
|
||||
$@
|
||||
$@@
|
||||
.d888b. $@
|
||||
8P 8D $@
|
||||
'Vb d8' $@
|
||||
d88C dD$@
|
||||
C8' d8D $@
|
||||
'888P Yb$@
|
||||
$@
|
||||
$@@
|
||||
Cb$@
|
||||
'D$@
|
||||
'$@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
$@@
|
||||
dD$@
|
||||
d8' $@
|
||||
d8 $@
|
||||
88 $@
|
||||
V8 $@
|
||||
V8. $@
|
||||
VD$@
|
||||
$@@
|
||||
Cb. $@
|
||||
'8b $@
|
||||
8b$@
|
||||
88$@
|
||||
8P$@
|
||||
.8P $@
|
||||
CP' $@
|
||||
$@@
|
||||
$@
|
||||
$@
|
||||
d.8.b $@
|
||||
X8K $@
|
||||
Y'8'P $@
|
||||
$@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
db $@
|
||||
88 $@
|
||||
C888888D$@
|
||||
88 $@
|
||||
VP $@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
db$@
|
||||
Y8$@
|
||||
.V$@
|
||||
$@@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
C8888D$@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
db$@
|
||||
VP$@
|
||||
$@
|
||||
$@@
|
||||
dD$@
|
||||
d8'$@
|
||||
d8' $@
|
||||
d8' $@
|
||||
d8' $@
|
||||
C8' $@
|
||||
$@
|
||||
$@@
|
||||
.d88b. $@
|
||||
.8P 88.$@
|
||||
88 d'88$@
|
||||
88 d' 88$@
|
||||
'88' d8'$@
|
||||
'Y88P' $@
|
||||
$@
|
||||
$@@
|
||||
d8b $@
|
||||
dP88 $@
|
||||
dP'88 $@
|
||||
88 $@
|
||||
88 $@
|
||||
Y8888P$@
|
||||
$@
|
||||
$@@
|
||||
.d888b.$@
|
||||
VP '8D$@
|
||||
odD'$@
|
||||
.88' $@
|
||||
j88. $@
|
||||
888888D$@
|
||||
$@
|
||||
$@@
|
||||
.d888b.$@
|
||||
VP '8D$@
|
||||
oooY'$@
|
||||
°°Yb.$@
|
||||
db 8D$@
|
||||
'Y888P'$@
|
||||
$@
|
||||
$@@
|
||||
j8b $@
|
||||
j888 $@
|
||||
j8'88 $@
|
||||
j8' 88 $@
|
||||
V88888D$@
|
||||
VP $@
|
||||
$@
|
||||
$@@
|
||||
d88888b$@
|
||||
8D $@
|
||||
Y888bo.$@
|
||||
'88$@
|
||||
do. .88$@
|
||||
'Y888P'$@
|
||||
$@
|
||||
$@@
|
||||
dD $@
|
||||
d8' $@
|
||||
d8' $@
|
||||
d8888b.$@
|
||||
88' '8D$@
|
||||
'8888P $@
|
||||
$@
|
||||
$@@
|
||||
d88888b$@
|
||||
VP d8'$@
|
||||
d8' $@
|
||||
d8' $@
|
||||
d8' $@
|
||||
d8' $@
|
||||
$@
|
||||
$@@
|
||||
.d888b.$@
|
||||
88 8D$@
|
||||
'VoooY'$@
|
||||
.d°°°b.$@
|
||||
88 8D$@
|
||||
'Y888P'$@
|
||||
$@
|
||||
$@@
|
||||
.d888b.$@
|
||||
88' '8D$@
|
||||
'V8o88'$@
|
||||
d8' $@
|
||||
d8' $@
|
||||
d8' $@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
db$@
|
||||
VP$@
|
||||
$@
|
||||
db$@
|
||||
VP$@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
db$@
|
||||
VP$@
|
||||
$@
|
||||
db$@
|
||||
V8$@
|
||||
P$@
|
||||
$@@
|
||||
$@
|
||||
$@
|
||||
.d9$@
|
||||
.dP' $@
|
||||
'Yb. $@
|
||||
'Yb$@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
C8888D$@
|
||||
$@
|
||||
C8888D$@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
$@
|
||||
0b. $@
|
||||
'Yb.$@
|
||||
.dP'$@
|
||||
0Y' $@
|
||||
$@
|
||||
$@@
|
||||
.d888b.$@
|
||||
VP '8D$@
|
||||
odD'$@
|
||||
8P' $@
|
||||
.. $@
|
||||
VP $@
|
||||
$@
|
||||
$@@
|
||||
.o888bo. $@
|
||||
d8°' '°Y8 $@
|
||||
d8' .o88b 88$@
|
||||
8P dP d8 8P$@
|
||||
8b 'V88P'8P $@
|
||||
Yo. ...$@
|
||||
'°Y8888P°' $@
|
||||
$@@
|
||||
d8b $@
|
||||
dP'Yb $@
|
||||
d8. .8b $@
|
||||
d8888888b $@
|
||||
d8' '8b$@
|
||||
YP YP$@
|
||||
$@
|
||||
$@@
|
||||
d8888b.$@
|
||||
88 '8D$@
|
||||
88oooY'$@
|
||||
88°°Yb.$@
|
||||
88 8D$@
|
||||
Y8888P'$@
|
||||
$@
|
||||
$@@
|
||||
.od88bo. $@
|
||||
.8P°' '°YD$@
|
||||
88 $@
|
||||
88 $@
|
||||
'8b. .dD$@
|
||||
'°Y88P°' $@
|
||||
$@
|
||||
$@@
|
||||
d8888bo. $@
|
||||
88 '8b$@
|
||||
88 88$@
|
||||
88 88$@
|
||||
88 .8P$@
|
||||
Y8888P°' $@
|
||||
$@
|
||||
$@@
|
||||
d888888b$@
|
||||
88' $@
|
||||
88oooo. $@
|
||||
88°°°°' $@
|
||||
88. $@
|
||||
Y888888P$@
|
||||
$@
|
||||
$@@
|
||||
d888888b$@
|
||||
88' $@
|
||||
88oooo. $@
|
||||
88°°°°' $@
|
||||
88 $@
|
||||
YP $@
|
||||
$@
|
||||
$@@
|
||||
.od88bo. $@
|
||||
.8P°' '°YD$@
|
||||
88 $@
|
||||
88 d88b$@
|
||||
'8b. .8D$@
|
||||
'°Y88P°'V$@
|
||||
$@
|
||||
$@@
|
||||
db db$@
|
||||
88 88$@
|
||||
88ooo88$@
|
||||
88°°°88$@
|
||||
88 88$@
|
||||
YP YP$@
|
||||
$@
|
||||
$@@
|
||||
d8888b$@
|
||||
'88' $@
|
||||
88 $@
|
||||
88 $@
|
||||
.88. $@
|
||||
Y8888P$@
|
||||
$@
|
||||
$@@
|
||||
d88b$@
|
||||
'8P'$@
|
||||
88 $@
|
||||
88 $@
|
||||
db..88 $@
|
||||
'Y88P' $@
|
||||
$@
|
||||
$@@
|
||||
db dD$@
|
||||
88 .8P'$@
|
||||
88o8P $@
|
||||
88°8b $@
|
||||
88 '88.$@
|
||||
YP YD$@
|
||||
$@
|
||||
$@@
|
||||
db $@
|
||||
88 $@
|
||||
88 $@
|
||||
88 $@
|
||||
88....$@
|
||||
Y8888D$@
|
||||
$@
|
||||
$@@
|
||||
d8b d8b$@
|
||||
88Y8bd8P88$@
|
||||
88 'YP' 88$@
|
||||
88 88$@
|
||||
88 88$@
|
||||
YP YP$@
|
||||
$@
|
||||
$@@
|
||||
d8b db$@
|
||||
888b 88$@
|
||||
88Y8b 88$@
|
||||
88 Y8b88$@
|
||||
88 Y888$@
|
||||
YP Y8P$@
|
||||
$@
|
||||
$@@
|
||||
.od88bo. $@
|
||||
.8P' 'Y8.$@
|
||||
88 88$@
|
||||
88 88$@
|
||||
'8b. .d8'$@
|
||||
'°Y88P°' $@
|
||||
$@
|
||||
$@@
|
||||
d88888b.$@
|
||||
88' '8b$@
|
||||
88. .8P$@
|
||||
888888P'$@
|
||||
88 $@
|
||||
YP $@
|
||||
$@
|
||||
$@@
|
||||
.od88bo. $@
|
||||
.8P' 'Y8.$@
|
||||
88 88$@
|
||||
88 '8o 88$@
|
||||
'8b. '8dP'$@
|
||||
'°Y88P°8o $@
|
||||
$@
|
||||
$@@
|
||||
d88888b.$@
|
||||
88' '8b$@
|
||||
88. .8P$@
|
||||
888888P'$@
|
||||
88 Y8b $@
|
||||
YP Y8b$@
|
||||
$@
|
||||
$@@
|
||||
.d8888.$@
|
||||
88' YP$@
|
||||
'8bo. $@
|
||||
'Y8b.$@
|
||||
db 8D$@
|
||||
'8888Y'$@
|
||||
$@
|
||||
$@@
|
||||
d888888b$@
|
||||
'°°88°°'$@
|
||||
88 $@
|
||||
88 $@
|
||||
88 $@
|
||||
YP $@
|
||||
$@
|
||||
$@@
|
||||
db db$@
|
||||
88 88$@
|
||||
88 88$@
|
||||
88 88$@
|
||||
Y8. .8P$@
|
||||
°8888° $@
|
||||
$@
|
||||
$@@
|
||||
db db$@
|
||||
88 88$@
|
||||
Y8 8P$@
|
||||
'8b d8'$@
|
||||
'8bd8' $@
|
||||
YP $@
|
||||
$@
|
||||
$@@
|
||||
db db$@
|
||||
88 88$@
|
||||
88 88$@
|
||||
Y8 db 8P$@
|
||||
'8bd88bd8'$@
|
||||
'8P°°8P' $@
|
||||
$@
|
||||
$@@
|
||||
db db$@
|
||||
'8b d8'$@
|
||||
'8bd8' $@
|
||||
.dPYb. $@
|
||||
.8P Y8.$@
|
||||
YP YP$@
|
||||
$@
|
||||
$@@
|
||||
db db$@
|
||||
'8b d8'$@
|
||||
'8bd8' $@
|
||||
88 $@
|
||||
88 $@
|
||||
YP $@
|
||||
$@
|
||||
$@@
|
||||
d88888D$@
|
||||
YP d8'$@
|
||||
d8' $@
|
||||
d8' $@
|
||||
d8' db$@
|
||||
d88888P$@
|
||||
$@
|
||||
$@@
|
||||
d88D$@
|
||||
88 $@
|
||||
88 $@
|
||||
88 $@
|
||||
88 $@
|
||||
88 $@
|
||||
L88D$@
|
||||
$@@
|
||||
Cb $@
|
||||
'8b $@
|
||||
'8b $@
|
||||
'8b $@
|
||||
'8b $@
|
||||
'8D$@
|
||||
$@
|
||||
$@@
|
||||
C88D$@
|
||||
88$@
|
||||
88$@
|
||||
88$@
|
||||
88$@
|
||||
88$@
|
||||
C888$@
|
||||
$@@
|
||||
db $@
|
||||
.dPVb. $@
|
||||
dP' 'Vb$@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
C88888D$@
|
||||
$@
|
||||
$@@
|
||||
dD$@
|
||||
C'$@
|
||||
'$@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
.d8888bd8$@
|
||||
d8°' '°88$@
|
||||
88 88$@
|
||||
88o. .o88$@
|
||||
'Y8888P'8$@
|
||||
$@
|
||||
$@@
|
||||
db $@
|
||||
88od888b. $@
|
||||
88°' '°88$@
|
||||
88 88$@
|
||||
88o. .o88$@
|
||||
Y'Y8888P' $@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
.od88bo.$@
|
||||
.8P' 'YP$@
|
||||
88 $@
|
||||
'8b. .db$@
|
||||
'°Y88P°'$@
|
||||
$@
|
||||
$@@
|
||||
db$@
|
||||
.d888bo88$@
|
||||
d8°' '°88$@
|
||||
88 88$@
|
||||
88o. .o88$@
|
||||
'Y8888P'V$@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
.od88bo.$@
|
||||
.8P' '88$@
|
||||
88'°°°°°'$@
|
||||
'8b. .oo$@
|
||||
'°Y88P°'$@
|
||||
$@
|
||||
$@@
|
||||
.d888b.$@
|
||||
d8' '8b$@
|
||||
888b $@
|
||||
88 $@
|
||||
d8 $@
|
||||
YP $@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
.d8888bd0$@
|
||||
d8°' '°88$@
|
||||
88 88$@
|
||||
88o. .o88$@
|
||||
'Y8888P'8$@
|
||||
do. .oP$@
|
||||
'Y8888P' $@@
|
||||
db $@
|
||||
88od888b. $@
|
||||
88°' '°88$@
|
||||
88 88$@
|
||||
88 88$@
|
||||
YP YP$@
|
||||
$@
|
||||
$@@
|
||||
** $@
|
||||
ooo $@
|
||||
88 $@
|
||||
88 $@
|
||||
88 $@
|
||||
088D$@
|
||||
$@
|
||||
$@@
|
||||
**$@
|
||||
ooo$@
|
||||
88$@
|
||||
88$@
|
||||
88$@
|
||||
8D$@
|
||||
.88$@
|
||||
d8P $@@
|
||||
db $@
|
||||
88 .oo$@
|
||||
88.d8' $@
|
||||
888K $@
|
||||
88'Y8. $@
|
||||
YP 'YD$@
|
||||
$@
|
||||
$@@
|
||||
db $@
|
||||
88 $@
|
||||
88 $@
|
||||
88 $@
|
||||
88..$@
|
||||
'Y8D$@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
8.d8b.d8b.$@
|
||||
88 '88 '88$@
|
||||
88 88 88$@
|
||||
88 88 88$@
|
||||
YP YP YP$@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
8bod888b. $@
|
||||
88°' '°88$@
|
||||
88 88$@
|
||||
88 88$@
|
||||
YP YP$@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
.d8888b. $@
|
||||
d8°' '°8b$@
|
||||
88 88$@
|
||||
Y8o. .o8P$@
|
||||
'Y8888P' $@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
.d8888b. $@
|
||||
d8°' '°88$@
|
||||
88 88$@
|
||||
88o. .o88$@
|
||||
88'8888P' $@
|
||||
88 $@
|
||||
YP $@@
|
||||
$@
|
||||
.d8888b. $@
|
||||
d8°' '°88$@
|
||||
88 88$@
|
||||
Y8o. .o88$@
|
||||
'Y8888'88$@
|
||||
88$@
|
||||
YP$@@
|
||||
$@
|
||||
8.d88D$@
|
||||
88' $@
|
||||
88 $@
|
||||
88 $@
|
||||
YP $@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
.d888b.$@
|
||||
88 °°$@
|
||||
'Y888b.$@
|
||||
.. 8D$@
|
||||
'Y888P'$@
|
||||
$@
|
||||
$@@
|
||||
db $@
|
||||
88oo$@
|
||||
88''$@
|
||||
88 $@
|
||||
88..$@
|
||||
'Y8D$@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
db db$@
|
||||
88 88$@
|
||||
88 88$@
|
||||
Y8o. .o88$@
|
||||
'Y8888P'8$@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
db db$@
|
||||
Y8 8P$@
|
||||
'8b d8'$@
|
||||
'8bd8' $@
|
||||
YP $@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
db db$@
|
||||
88 88$@
|
||||
Y8 db 8P$@
|
||||
'8bd88bd8'$@
|
||||
'8P°°8P' $@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
db db$@
|
||||
'Y8..8P'$@
|
||||
)88( $@
|
||||
.8P''Y8.$@
|
||||
YP YP$@
|
||||
$@
|
||||
$@@
|
||||
$@
|
||||
88 88$@
|
||||
d8 88$@
|
||||
88 88$@
|
||||
Y8o. .o88$@
|
||||
'Y8888'88$@
|
||||
do. .oP$@
|
||||
'Y8888P' $@@
|
||||
$@
|
||||
d88888D$@
|
||||
YP .8P'$@
|
||||
.8P' $@
|
||||
.8P db$@
|
||||
d88888P$@
|
||||
$@
|
||||
$@@
|
||||
.o8P$@
|
||||
8' $@
|
||||
.dP $@
|
||||
C8K $@
|
||||
'Yb $@
|
||||
8. $@
|
||||
'°8b$@
|
||||
$@@
|
||||
db$@
|
||||
88$@
|
||||
88$@
|
||||
88$@
|
||||
88$@
|
||||
88$@
|
||||
YP$@
|
||||
$@@
|
||||
88o. $@
|
||||
'8 $@
|
||||
Vb. $@
|
||||
X8D$@
|
||||
dP' $@
|
||||
.8 $@
|
||||
C8°' $@
|
||||
$@@
|
||||
$@
|
||||
$@
|
||||
.d8b. .db$@
|
||||
dP' 'Y8P' $@
|
||||
$@
|
||||
$@
|
||||
$@
|
||||
$@@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@
|
||||
@@
|
||||
0
home-modules/assets/pnx/pnx_rdp_srv-phoe3-vmdms_192-168-1-104.remmina
Executable file → Normal file
0
home-modules/assets/pnx/pnx_rdp_srv-phoe3-vmdms_192-168-1-104.remmina
Executable file → Normal file
0
home-modules/assets/pnx/pnx_rdp_srv-phoenix-3_192-168-1-108.remmina
Executable file → Normal file
0
home-modules/assets/pnx/pnx_rdp_srv-phoenix-3_192-168-1-108.remmina
Executable file → Normal file
0
home-modules/assets/pnx/pnx_rdp_srv-phoenix2_192-168-1-101.remmina
Executable file → Normal file
0
home-modules/assets/pnx/pnx_rdp_srv-phoenix2_192-168-1-101.remmina
Executable file → Normal file
0
home-modules/assets/pnx/pnx_rdp_srv-remote_192-168-1-21.remmina
Executable file → Normal file
0
home-modules/assets/pnx/pnx_rdp_srv-remote_192-168-1-21.remmina
Executable file → Normal file
0
home-modules/bash.nix
Executable file → Normal file
0
home-modules/bash.nix
Executable file → Normal file
29
home-modules/bitwarden.nix
Executable file → Normal file
29
home-modules/bitwarden.nix
Executable file → Normal file
@@ -1,33 +1,6 @@
|
||||
{ config, pkgs, lib, host, secrets, ... }:
|
||||
lib.mkIf (host != "NxACE")
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
bitwarden
|
||||
bitwarden-cli
|
||||
];
|
||||
|
||||
# home.file.".config/Bitwarden CLI/data.json".text = ''
|
||||
# {
|
||||
# "stateVersion": 9,
|
||||
# "global": {
|
||||
# "theme": "system",
|
||||
# "window": {},
|
||||
# "environmentUrls": {
|
||||
# "base": "https://pw.nx2.site",
|
||||
# "api": null,
|
||||
# "identity": null,
|
||||
# "webVault": null,
|
||||
# "icons": null,
|
||||
# "notifications": null,
|
||||
# "events": null,
|
||||
# "keyConnector": null
|
||||
# },
|
||||
# "region": "Self-hosted",
|
||||
# "installedVersion": "2023.12.0"
|
||||
# }
|
||||
# }
|
||||
# '';
|
||||
|
||||
# home.sessionVariables.BW_SESSION = secrets.bitwarden.env.bw-session;
|
||||
|
||||
}
|
||||
|
||||
58
home-modules/calendar-campuszeit-fix.nix
Normal file
58
home-modules/calendar-campuszeit-fix.nix
Normal file
@@ -0,0 +1,58 @@
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = let
|
||||
u = pkgs.writers.writePython3Bin "nx_fix_campuszeit_python" {
|
||||
flakeIgnore = [ "E302" "E305" "E226" "E501" ];
|
||||
} /* python */ ''
|
||||
import os
|
||||
import sys
|
||||
|
||||
def replace_campus_timezone(directory):
|
||||
if not os.path.isdir(directory):
|
||||
print(f"Error: {directory} is not a valid directory.")
|
||||
return
|
||||
|
||||
for filename in os.listdir(directory):
|
||||
filepath = os.path.join(directory, filename)
|
||||
if not os.path.isfile(filepath):
|
||||
continue
|
||||
|
||||
with open(filepath, 'r', encoding='utf-8') as f:
|
||||
content = f.read()
|
||||
|
||||
if 'TZID:Europe/Berlin' in content or 'TZID="Europe/Berlin"' in content:
|
||||
# Remove VTIMEZONE block for CampusNetZeit (optional depending on needs)
|
||||
# Use a regex if multiple VTIMEZONE blocks may exist
|
||||
start_idx = content.find('BEGIN:VTIMEZONE')
|
||||
end_idx = content.find('END:VTIMEZONE', start_idx)
|
||||
if start_idx != -1 and end_idx != -1:
|
||||
content = content[:start_idx] + content[end_idx + len('END:VTIMEZONE\n'):]
|
||||
|
||||
# Replace all TZID references
|
||||
content = content.replace('TZID:Europe/Berlin', 'TZID:Europe/Berlin')
|
||||
content = content.replace('TZID="Europe/Berlin"', 'TZID="Europe/Berlin"')
|
||||
|
||||
with open(filepath, 'w', encoding='utf-8') as f:
|
||||
f.write(content)
|
||||
|
||||
print(f"Updated time zone in: {filename}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) != 2:
|
||||
print("Usage: python replace_timezone.py <directory>")
|
||||
else:
|
||||
replace_campus_timezone(sys.argv[1])
|
||||
'';
|
||||
in [
|
||||
(pkgs.writeShellApplication {
|
||||
name = "nx_fix_campuszeit";
|
||||
text = /*bash*/ ''
|
||||
echo CHANGING OWNERSHIP OF "$(realpath "$1")" RECURSIVELY
|
||||
read -r -p "Continue?"
|
||||
sudo chown -R ${hyper.user} "$1"
|
||||
${u}/bin/nx_fix_campuszeit_python "$1"
|
||||
sudo chown -R radicale "$1"
|
||||
'';
|
||||
})
|
||||
];
|
||||
}
|
||||
112
home-modules/calendar.nix
Normal file
112
home-modules/calendar.nix
Normal file
@@ -0,0 +1,112 @@
|
||||
{ pkgs, ... }@all: with all; let
|
||||
calendars = with hyper; [
|
||||
{
|
||||
name = "Preservation";
|
||||
primary = true;
|
||||
url = "https://dav.${domain}/${user}/preservation/";
|
||||
color = "#dddddd";
|
||||
}
|
||||
{
|
||||
name = "Effort";
|
||||
url = "https://dav.${domain}/${user}/effort/";
|
||||
color = "#dd2222";
|
||||
}
|
||||
{
|
||||
name = "Experience";
|
||||
url = "https://dav.${domain}/${user}/experience/";
|
||||
color = "#2222dd";
|
||||
}
|
||||
{
|
||||
name = "Exposure";
|
||||
url = "https://dav.${domain}/${user}/exposure/";
|
||||
color = "#22aa22";
|
||||
}
|
||||
{
|
||||
name = "Engagement";
|
||||
url = "https://dav.${domain}/${user}/engagement/";
|
||||
color = "#8800CC";
|
||||
}
|
||||
{
|
||||
name = "Sleep as Android";
|
||||
url = secrets.calendar.sleep-as-android-url;
|
||||
color = "#111111";
|
||||
read-only = true;
|
||||
type = "ics";
|
||||
}
|
||||
{
|
||||
name = "LEC";
|
||||
url = "https://${domain}/lec.ics";
|
||||
color = "#A87000";
|
||||
read-only = true;
|
||||
type = "ics";
|
||||
}
|
||||
{
|
||||
name = "LR";
|
||||
url = "https://${domain}/lr.ics";
|
||||
color = "#005040";
|
||||
read-only = true;
|
||||
type = "ics";
|
||||
}
|
||||
{
|
||||
name = "Feiertage Hessen";
|
||||
url = "https://ics.tools/Feiertage/hessen.ics";
|
||||
color = "#303030";
|
||||
read-only = true;
|
||||
type = "ics";
|
||||
}
|
||||
# {
|
||||
# name = "Handball Männer";
|
||||
# url = "http://i.cal.to/ical/108/dhb/handball-nationalmannschaft/c687e97f.bc7c3eb6-11a0e356.ics";
|
||||
# color = "#880023";
|
||||
# read-only = true;
|
||||
# type = "ics";
|
||||
# }
|
||||
];
|
||||
default_set = {
|
||||
# name =
|
||||
# url =
|
||||
color = "#777777";
|
||||
read-only = false;
|
||||
primary = false;
|
||||
type = "caldav";
|
||||
};
|
||||
in {
|
||||
|
||||
home.packages = with pkgs; [
|
||||
gnome-calendar
|
||||
thunderbird
|
||||
];
|
||||
|
||||
accounts.calendar.accounts = let
|
||||
transform_caledar_set = calendar_set: with calendar_set; { # transform set for accounts.calendar.accounts endpoint
|
||||
inherit primary;
|
||||
remote = {
|
||||
inherit url name;
|
||||
userName = hyper.user; # my globally set username
|
||||
};
|
||||
};
|
||||
in lib.attrsets.mergeAttrsList (
|
||||
map (calendar: {
|
||||
"${calendar.name}" = transform_caledar_set ( default_set // calendar );
|
||||
}) calendars
|
||||
);
|
||||
|
||||
programs.thunderbird.settings = let
|
||||
to_safe_name = name: (builtins.replaceStrings ["."] ["-"]) name;
|
||||
in (lib.attrsets.mergeAttrsList (
|
||||
map (calendar: with ( default_set // calendar ); {
|
||||
"calendar.registry.${to_safe_name calendar.name}.cache.enabled" = true;
|
||||
"calendar.registry.${to_safe_name calendar.name}.calendar-main-default" = primary;
|
||||
"calendar.registry.${to_safe_name calendar.name}.calendar-main-in-composite" = true;
|
||||
"calendar.registry.${to_safe_name calendar.name}.color" = color;
|
||||
"calendar.registry.${to_safe_name calendar.name}.name" = name;
|
||||
"calendar.registry.${to_safe_name calendar.name}.type" = type;
|
||||
"calendar.registry.${to_safe_name calendar.name}.uri" = url;
|
||||
"calendar.registry.${to_safe_name calendar.name}.username" = hyper.user;
|
||||
"calendar.registry.${to_safe_name calendar.name}.readOnly" = read-only;
|
||||
}) calendars
|
||||
) // {
|
||||
"calendar.list.sortOrder" = lib.fold (calendar: acc: calendar.name + " " + acc) "" calendars;
|
||||
"calendar.week.start" = 1;
|
||||
});
|
||||
}
|
||||
876
home-modules/chatterino.nix
Executable file → Normal file
876
home-modules/chatterino.nix
Executable file → Normal file
@@ -1,51 +1,35 @@
|
||||
{ pkgs, lib, rice, user, secrets, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
let
|
||||
channels = [
|
||||
"Caedrel"
|
||||
"NoWay4u_Sir"
|
||||
"zackrawrr"
|
||||
|
||||
"agurin"
|
||||
"asmongold"
|
||||
"Broeki"
|
||||
"Broxah"
|
||||
# "agurin"
|
||||
# "asmongold"
|
||||
# "Caedrel"
|
||||
"chrissyofficial"
|
||||
"EintrachtSpandau"
|
||||
# "EintrachtSpandau"
|
||||
"GamesDoneQuick"
|
||||
"Odoamne"
|
||||
"iwdominate"
|
||||
"imls"
|
||||
"gdolphn"
|
||||
"GRONKH"
|
||||
"handofblood"
|
||||
"HisWattson"
|
||||
"imls"
|
||||
"iskall85"
|
||||
"Jankos"
|
||||
"Karni"
|
||||
"KuruHS"
|
||||
"kutcherlol"
|
||||
"LCK"
|
||||
"LCS"
|
||||
# "KuruHS"
|
||||
"LEC"
|
||||
"lol_nemesis"
|
||||
"loltyler1"
|
||||
"LPL"
|
||||
"maxim"
|
||||
"NASA"
|
||||
"NNOPrime"
|
||||
# "NoWay4u_Sir"
|
||||
# "NASA"
|
||||
"NoWay4u_Sir"
|
||||
"OfficialMikeShinoda"
|
||||
"ow_esports"
|
||||
"PrimeGaming"
|
||||
"PrimeLeague"
|
||||
"Rekkles"
|
||||
"riotgames"
|
||||
"Sola"
|
||||
"thebausffs"
|
||||
"ThePrimeagen"
|
||||
"Tolkin"
|
||||
"Trick2g"
|
||||
"TSM_ImperialHal"
|
||||
"Xisuma"
|
||||
# "zackrawrr"
|
||||
# "TSM_ImperialHal"
|
||||
"velja_lol"
|
||||
# "Xisuma"
|
||||
"zackrawrr"
|
||||
];
|
||||
tabber = channel-name: {
|
||||
highlightsEnabled = true;
|
||||
@@ -62,10 +46,16 @@ let
|
||||
};
|
||||
};
|
||||
in {
|
||||
sops.secrets."streamlink/twitch-oauth" = { path = "%r/secrets/streamlink/twich-oauth"; };
|
||||
|
||||
home = {
|
||||
packages = with pkgs; [ chatterino2 ];
|
||||
packages = with pkgs; [
|
||||
chatterino2
|
||||
streamlink
|
||||
mpv
|
||||
];
|
||||
file = {
|
||||
".local/share/chatterino/Settings/settings.json".text = with secrets.chatterino; ''
|
||||
".local/share/chatterino/Settings/settings.json".text = with secrets.chatterino; /* json */ ''
|
||||
{
|
||||
"accounts": {
|
||||
"current": "${username}",
|
||||
@@ -87,20 +77,27 @@ in {
|
||||
"separateMessages": true,
|
||||
"showTimestamps": false,
|
||||
"timestampFormat": "h =mm",
|
||||
"usernameDisplayMode": 1
|
||||
"usernameDisplayMode": 1,
|
||||
"findAllUsernames": true
|
||||
},
|
||||
"showReplyButton": false,
|
||||
"showTabCloseButton": false,
|
||||
"showTabLiveButton": false,
|
||||
"splitheader": {
|
||||
"showGame": true,
|
||||
"showTitle": true,
|
||||
"showUptime": true,
|
||||
"showViewerCount": true
|
||||
},
|
||||
"tabVisibility": 1,
|
||||
"theme": {
|
||||
"name": "Black"
|
||||
}
|
||||
"tabStyle": "compact",
|
||||
"tabVisibility": 0,
|
||||
"theme": { "name": "nxtheme.json" }
|
||||
},
|
||||
"behaviour": {
|
||||
"autocopletion": {
|
||||
"ShowUsernameCompeltionMenu": false,
|
||||
"userCompletinOnlyWithAt": true
|
||||
},
|
||||
"pauseOnHoverDuration": 5.0,
|
||||
"showJoins": false,
|
||||
"usernameRightClickBehavior": 0,
|
||||
@@ -112,615 +109,89 @@ in {
|
||||
},
|
||||
"highlighting": {
|
||||
"badges": [
|
||||
{
|
||||
"alert": false,
|
||||
"color": "#7f7f3f49",
|
||||
"displayName": "Broadcaster",
|
||||
"name": "broadcaster",
|
||||
"showInMentions": false,
|
||||
"sound": false,
|
||||
"soundUrl": ""
|
||||
},
|
||||
{
|
||||
"alert": false,
|
||||
"color": "#7f7f3f49",
|
||||
"displayName": "Admin",
|
||||
"name": "admin",
|
||||
"showInMentions": false,
|
||||
"sound": false,
|
||||
"soundUrl": ""
|
||||
},
|
||||
{
|
||||
"alert": false,
|
||||
"color": "#7f7f3f49",
|
||||
"displayName": "Staff",
|
||||
"name": "staff",
|
||||
"showInMentions": false,
|
||||
"sound": false,
|
||||
"soundUrl": ""
|
||||
},
|
||||
{
|
||||
"alert": false,
|
||||
"displayName": "Moderator",
|
||||
"name": "moderator",
|
||||
"showInMentions": false,
|
||||
"sound": false,
|
||||
"soundUrl": ""
|
||||
},
|
||||
{
|
||||
"alert": false,
|
||||
"color": "#7f7f3578",
|
||||
"displayName": "VIP",
|
||||
"name": "vip",
|
||||
"showInMentions": false,
|
||||
"sound": false,
|
||||
"soundUrl": ""
|
||||
}
|
||||
{ "alert": false, "color": "#7f7f3f49", "displayName": "Broadcaster", "name": "broadcaster", "showInMentions": false, "sound": false, "soundUrl": "" },
|
||||
{ "alert": false, "color": "#7f7f3f49", "displayName": "Admin", "name": "admin", "showInMentions": false, "sound": false, "soundUrl": "" },
|
||||
{ "alert": false, "color": "#7f7f3f49", "displayName": "Staff", "name": "staff", "showInMentions": false, "sound": false, "soundUrl": "" },
|
||||
{ "alert": false, "color": "#7f7f3f49", "displayName": "Moderator", "name": "moderator", "showInMentions": false, "sound": false, "soundUrl": "" },
|
||||
{ "alert": false, "color": "#7f7f3578", "displayName": "VIP", "name": "vip", "showInMentions": false, "sound": false, "soundUrl": "" }
|
||||
],
|
||||
"selfMessageHighlight": {
|
||||
"color": "#73008cff",
|
||||
"enabled": true
|
||||
}
|
||||
"selfMessageHighlight": { "color": "#73008cff", "enabled": true }
|
||||
},
|
||||
"hotkeys": {
|
||||
"addedDefaults": [
|
||||
"change channel",
|
||||
"close popup window",
|
||||
"create clip",
|
||||
"delete",
|
||||
"emote picker",
|
||||
"focus down",
|
||||
"focus left",
|
||||
"focus right",
|
||||
"focus up",
|
||||
"go to end of input",
|
||||
"go to end of input with selection",
|
||||
"go to start of input",
|
||||
"go to start of input with selection",
|
||||
"new popup window",
|
||||
"new popup window from tab",
|
||||
"new split",
|
||||
"new tab",
|
||||
"next message",
|
||||
"open debug popup",
|
||||
"open quick switcher",
|
||||
"open settings",
|
||||
"popup accept",
|
||||
"popup focus search box",
|
||||
"popup reject",
|
||||
"popup scroll down",
|
||||
"popup scroll up",
|
||||
"popup select last tab",
|
||||
"popup select next tab",
|
||||
"popup select previous tab",
|
||||
"popup select tab #1",
|
||||
"popup select tab #2",
|
||||
"popup select tab #3",
|
||||
"popup select tab #4",
|
||||
"popup select tab #5",
|
||||
"popup select tab #6",
|
||||
"popup select tab #7",
|
||||
"popup select tab #8",
|
||||
"previous message",
|
||||
"reconnect",
|
||||
"reload emotes",
|
||||
"remove tab",
|
||||
"reopen split",
|
||||
"scroll page down",
|
||||
"scroll page up",
|
||||
"scroll to bottom",
|
||||
"scroll to top",
|
||||
"select last tab",
|
||||
"select next tab",
|
||||
"select previous tab",
|
||||
"select tab #1",
|
||||
"select tab #2",
|
||||
"select tab #3",
|
||||
"select tab #4",
|
||||
"select tab #5",
|
||||
"select tab #6",
|
||||
"select tab #7",
|
||||
"select tab #8",
|
||||
"send message",
|
||||
"send message and keep text",
|
||||
"show global search",
|
||||
"show search",
|
||||
"toggle live tabs only",
|
||||
"toggle local r9k",
|
||||
"toggle tab visibility",
|
||||
"zoom in",
|
||||
"zoom out",
|
||||
"zoom reset"
|
||||
],
|
||||
"change channel": {
|
||||
"action": "changeChannel",
|
||||
"arguments": [],
|
||||
"category": "split",
|
||||
"keySequence": "Ctrl+R"
|
||||
},
|
||||
"close popup window": {
|
||||
"action": "delete",
|
||||
"arguments": [],
|
||||
"category": "popupWindow",
|
||||
"keySequence": "Esc"
|
||||
},
|
||||
"create clip": {
|
||||
"action": "createClip",
|
||||
"arguments": [],
|
||||
"category": "split",
|
||||
"keySequence": "Alt+X"
|
||||
},
|
||||
"delete": {
|
||||
"action": "delete",
|
||||
"arguments": [],
|
||||
"category": "split",
|
||||
"keySequence": "Ctrl+W"
|
||||
},
|
||||
"emote picker": {
|
||||
"action": "openEmotesPopup",
|
||||
"arguments": [],
|
||||
"category": "splitInput",
|
||||
"keySequence": "Ctrl+E"
|
||||
},
|
||||
"focus down": {
|
||||
"action": "focus",
|
||||
"arguments": [
|
||||
"down"
|
||||
],
|
||||
"category": "split",
|
||||
"keySequence": "Alt+Down"
|
||||
},
|
||||
"focus left": {
|
||||
"action": "focus",
|
||||
"arguments": [
|
||||
"left"
|
||||
],
|
||||
"category": "split",
|
||||
"keySequence": "Alt+Left"
|
||||
},
|
||||
"focus right": {
|
||||
"action": "focus",
|
||||
"arguments": [
|
||||
"right"
|
||||
],
|
||||
"category": "split",
|
||||
"keySequence": "Alt+Right"
|
||||
},
|
||||
"focus up": {
|
||||
"action": "focus",
|
||||
"arguments": [
|
||||
"up"
|
||||
],
|
||||
"category": "split",
|
||||
"keySequence": "Alt+Up"
|
||||
},
|
||||
"go to end of input": {
|
||||
"action": "cursorToEnd",
|
||||
"arguments": [
|
||||
"withoutSelection"
|
||||
],
|
||||
"category": "splitInput",
|
||||
"keySequence": "End"
|
||||
},
|
||||
"go to end of input with selection": {
|
||||
"action": "cursorToEnd",
|
||||
"arguments": [
|
||||
"withSelection"
|
||||
],
|
||||
"category": "splitInput",
|
||||
"keySequence": "Shift+End"
|
||||
},
|
||||
"go to start of input": {
|
||||
"action": "cursorToStart",
|
||||
"arguments": [
|
||||
"withoutSelection"
|
||||
],
|
||||
"category": "splitInput",
|
||||
"keySequence": "Home"
|
||||
},
|
||||
"go to start of input with selection": {
|
||||
"action": "cursorToStart",
|
||||
"arguments": [
|
||||
"withSelection"
|
||||
],
|
||||
"category": "splitInput",
|
||||
"keySequence": "Shift+Home"
|
||||
},
|
||||
"new popup window": {
|
||||
"action": "popup",
|
||||
"arguments": [
|
||||
"split"
|
||||
],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+N"
|
||||
},
|
||||
"new popup window from tab": {
|
||||
"action": "popup",
|
||||
"arguments": [
|
||||
"window"
|
||||
],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+Shift+N"
|
||||
},
|
||||
"new split": {
|
||||
"action": "newSplit",
|
||||
"arguments": [],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+T"
|
||||
},
|
||||
"new tab": {
|
||||
"action": "newTab",
|
||||
"arguments": [],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+Shift+T"
|
||||
},
|
||||
"next message": {
|
||||
"action": "nextMessage",
|
||||
"arguments": [],
|
||||
"category": "splitInput",
|
||||
"keySequence": "Down"
|
||||
},
|
||||
"open debug popup": {
|
||||
"action": "debug",
|
||||
"arguments": [],
|
||||
"category": "split",
|
||||
"keySequence": "F10"
|
||||
},
|
||||
"open quick switcher": {
|
||||
"action": "openQuickSwitcher",
|
||||
"arguments": [],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+K"
|
||||
},
|
||||
"open settings": {
|
||||
"action": "openSettings",
|
||||
"arguments": [],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+P"
|
||||
},
|
||||
"popup accept": {
|
||||
"action": "accept",
|
||||
"arguments": [],
|
||||
"category": "popupWindow",
|
||||
"keySequence": "Return"
|
||||
},
|
||||
"popup focus search box": {
|
||||
"action": "search",
|
||||
"arguments": [],
|
||||
"category": "popupWindow",
|
||||
"keySequence": "Ctrl+F"
|
||||
},
|
||||
"popup reject": {
|
||||
"action": "reject",
|
||||
"arguments": [],
|
||||
"category": "popupWindow",
|
||||
"keySequence": "Esc"
|
||||
},
|
||||
"popup scroll down": {
|
||||
"action": "scrollPage",
|
||||
"arguments": [
|
||||
"down"
|
||||
],
|
||||
"category": "popupWindow",
|
||||
"keySequence": "PgDown"
|
||||
},
|
||||
"popup scroll up": {
|
||||
"action": "scrollPage",
|
||||
"arguments": [
|
||||
"up"
|
||||
],
|
||||
"category": "popupWindow",
|
||||
"keySequence": "PgUp"
|
||||
},
|
||||
"popup select last tab": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"last"
|
||||
],
|
||||
"category": "popupWindow",
|
||||
"keySequence": "Ctrl+9"
|
||||
},
|
||||
"popup select next tab": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"next"
|
||||
],
|
||||
"category": "popupWindow",
|
||||
"keySequence": "Ctrl+Tab"
|
||||
},
|
||||
"popup select previous tab": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"previous"
|
||||
],
|
||||
"category": "popupWindow",
|
||||
"keySequence": "Ctrl+Shift+Tab"
|
||||
},
|
||||
"popup select tab #1": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"0"
|
||||
],
|
||||
"category": "popupWindow",
|
||||
"keySequence": "Ctrl+1"
|
||||
},
|
||||
"popup select tab #2": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"1"
|
||||
],
|
||||
"category": "popupWindow",
|
||||
"keySequence": "Ctrl+2"
|
||||
},
|
||||
"popup select tab #3": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"2"
|
||||
],
|
||||
"category": "popupWindow",
|
||||
"keySequence": "Ctrl+3"
|
||||
},
|
||||
"popup select tab #4": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"3"
|
||||
],
|
||||
"category": "popupWindow",
|
||||
"keySequence": "Ctrl+4"
|
||||
},
|
||||
"popup select tab #5": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"4"
|
||||
],
|
||||
"category": "popupWindow",
|
||||
"keySequence": "Ctrl+5"
|
||||
},
|
||||
"popup select tab #6": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"5"
|
||||
],
|
||||
"category": "popupWindow",
|
||||
"keySequence": "Ctrl+6"
|
||||
},
|
||||
"popup select tab #7": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"6"
|
||||
],
|
||||
"category": "popupWindow",
|
||||
"keySequence": "Ctrl+7"
|
||||
},
|
||||
"popup select tab #8": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"7"
|
||||
],
|
||||
"category": "popupWindow",
|
||||
"keySequence": "Ctrl+8"
|
||||
},
|
||||
"previous message": {
|
||||
"action": "previousMessage",
|
||||
"arguments": [],
|
||||
"category": "splitInput",
|
||||
"keySequence": "Up"
|
||||
},
|
||||
"reconnect": {
|
||||
"action": "reconnect",
|
||||
"arguments": [],
|
||||
"category": "split",
|
||||
"keySequence": "Ctrl+F5"
|
||||
},
|
||||
"reload emotes": {
|
||||
"action": "reloadEmotes",
|
||||
"arguments": [],
|
||||
"category": "split",
|
||||
"keySequence": "F5"
|
||||
},
|
||||
"remove tab": {
|
||||
"action": "removeTab",
|
||||
"arguments": [],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+Shift+W"
|
||||
},
|
||||
"reopen split": {
|
||||
"action": "reopenSplit",
|
||||
"arguments": [],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+G"
|
||||
},
|
||||
"scroll page down": {
|
||||
"action": "scrollPage",
|
||||
"arguments": [
|
||||
"down"
|
||||
],
|
||||
"category": "split",
|
||||
"keySequence": "PgDown"
|
||||
},
|
||||
"scroll page up": {
|
||||
"action": "scrollPage",
|
||||
"arguments": [
|
||||
"up"
|
||||
],
|
||||
"category": "split",
|
||||
"keySequence": "PgUp"
|
||||
},
|
||||
"scroll to bottom": {
|
||||
"action": "scrollToBottom",
|
||||
"arguments": [],
|
||||
"category": "split",
|
||||
"keySequence": "Ctrl+End"
|
||||
},
|
||||
"scroll to top": {
|
||||
"action": "scrollToTop",
|
||||
"arguments": [],
|
||||
"category": "split",
|
||||
"keySequence": "Ctrl+Home"
|
||||
},
|
||||
"select last tab": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"last"
|
||||
],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+9"
|
||||
},
|
||||
"select next tab": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"next"
|
||||
],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+Tab"
|
||||
},
|
||||
"select previous tab": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"previous"
|
||||
],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+Shift+Tab"
|
||||
},
|
||||
"select tab #1": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"0"
|
||||
],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+1"
|
||||
},
|
||||
"select tab #2": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"1"
|
||||
],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+2"
|
||||
},
|
||||
"select tab #3": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"2"
|
||||
],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+3"
|
||||
},
|
||||
"select tab #4": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"3"
|
||||
],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+4"
|
||||
},
|
||||
"select tab #5": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"4"
|
||||
],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+5"
|
||||
},
|
||||
"select tab #6": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"5"
|
||||
],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+6"
|
||||
},
|
||||
"select tab #7": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"6"
|
||||
],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+7"
|
||||
},
|
||||
"select tab #8": {
|
||||
"action": "openTab",
|
||||
"arguments": [
|
||||
"7"
|
||||
],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+8"
|
||||
},
|
||||
"send message": {
|
||||
"action": "sendMessage",
|
||||
"arguments": [],
|
||||
"category": "splitInput",
|
||||
"keySequence": "Return"
|
||||
},
|
||||
"send message and keep text": {
|
||||
"action": "sendMessage",
|
||||
"arguments": [
|
||||
"keepInput"
|
||||
],
|
||||
"category": "splitInput",
|
||||
"keySequence": "Ctrl+Return"
|
||||
},
|
||||
"show global search": {
|
||||
"action": "showGlobalSearch",
|
||||
"arguments": [],
|
||||
"category": "split",
|
||||
"keySequence": "Ctrl+Shift+F"
|
||||
},
|
||||
"show search": {
|
||||
"action": "showSearch",
|
||||
"arguments": [],
|
||||
"category": "split",
|
||||
"keySequence": "Ctrl+F"
|
||||
},
|
||||
"toggle live tabs only": {
|
||||
"action": "setTabVisibility",
|
||||
"arguments": [
|
||||
"toggleLiveOnly"
|
||||
],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+Shift+L"
|
||||
},
|
||||
"toggle local r9k": {
|
||||
"action": "toggleLocalR9K",
|
||||
"arguments": [],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+H"
|
||||
},
|
||||
"toggle tab visibility": {
|
||||
"action": "setTabVisibility",
|
||||
"arguments": [
|
||||
"toggle"
|
||||
],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+U"
|
||||
},
|
||||
"zoom in": {
|
||||
"action": "zoom",
|
||||
"arguments": [
|
||||
"in"
|
||||
],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl++"
|
||||
},
|
||||
"zoom out": {
|
||||
"action": "zoom",
|
||||
"arguments": [
|
||||
"out"
|
||||
],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+-"
|
||||
},
|
||||
"zoom reset": {
|
||||
"action": "zoom",
|
||||
"arguments": [
|
||||
"reset"
|
||||
],
|
||||
"category": "window",
|
||||
"keySequence": "Ctrl+0"
|
||||
}
|
||||
"addedDefaults": [ "change channel", "close popup window", "create clip", "delete", "emote picker", "focus down", "focus left", "focus right", "focus up", "go to end of input", "go to end of input with selection", "go to start of input", "go to start of input with selection", "new popup window", "new popup window from tab", "new split", "new tab", "next message", "open debug popup", "open overlay", "open quick switcher", "open settings", "popup accept", "popup focus search box", "popup reject", "popup scroll down", "popup scroll up", "popup select last tab", "popup select next tab", "popup select previous tab", "popup select tab #1", "popup select tab #2", "popup select tab #3", "popup select tab #4", "popup select tab #5", "popup select tab #6", "popup select tab #7", "popup select tab #8", "previous message", "reconnect", "reload emotes", "remove tab", "reopen split", "scroll page down", "scroll page up", "scroll to bottom", "scroll to top", "select last tab", "select next tab", "select previous tab", "select tab #1", "select tab #2", "select tab #3", "select tab #4", "select tab #5", "select tab #6", "select tab #7", "select tab #8", "send message", "send message and keep text", "show global search", "show search", "toggle live tabs only", "toggle local r9k", "toggle overlay click-through", "toggle tab visibility", "zoom in", "zoom out", "zoom reset" ],
|
||||
|
||||
"change channel": { "action": "changeChannel", "arguments": [], "category": "split", "keySequence": "Ctrl+R" },
|
||||
"close popup window": { "action": "delete", "arguments": [], "category": "popupWindow", "keySequence": "Esc" },
|
||||
"create clip": { "action": "createClip", "arguments": [], "category": "split", "keySequence": "Alt+X" },
|
||||
"delete": { "action": "delete", "arguments": [], "category": "split", "keySequence": "Ctrl+W" },
|
||||
"emote picker": { "action": "openEmotesPopup", "arguments": [], "category": "splitInput", "keySequence": "Ctrl+E" },
|
||||
"focus down": { "action": "focus", "arguments": [ "down" ], "category": "split", "keySequence": "Alt+Down" },
|
||||
"focus left": { "action": "focus", "arguments": [ "left" ], "category": "split", "keySequence": "Alt+Left" },
|
||||
"focus right": { "action": "focus", "arguments": [ "right" ], "category": "split", "keySequence": "Alt+Right" },
|
||||
"focus up": { "action": "focus", "arguments": [ "up" ], "category": "split", "keySequence": "Alt+Up" },
|
||||
"go to end of input": { "action": "cursorToEnd", "arguments": [ "withoutSelection" ], "category": "splitInput", "keySequence": "End" },
|
||||
"go to end of input with selection": { "action": "cursorToEnd", "arguments": [ "withSelection" ], "category": "splitInput", "keySequence": "Shift+End" },
|
||||
"go to start of input": { "action": "cursorToStart", "arguments": [ "withoutSelection" ], "category": "splitInput", "keySequence": "Home" },
|
||||
"go to start of input with selection": { "action": "cursorToStart", "arguments": [ "withSelection" ], "category": "splitInput", "keySequence": "Shift+Home" },
|
||||
"new popup window": { "action": "popup", "arguments": [ "split" ], "category": "window", "keySequence": "Ctrl+N" },
|
||||
"new popup window from tab": { "action": "popup", "arguments": [ "window" ], "category": "window", "keySequence": "Ctrl+Shift+N" },
|
||||
"new split": { "action": "newSplit", "arguments": [], "category": "window", "keySequence": "Ctrl+T" },
|
||||
"new tab": { "action": "newTab", "arguments": [], "category": "window", "keySequence": "Ctrl+Shift+T" },
|
||||
"next message": { "action": "nextMessage", "arguments": [], "category": "splitInput", "keySequence": "Down" },
|
||||
"open debug popup": { "action": "debug", "arguments": [], "category": "split", "keySequence": "F10" },
|
||||
"open overlay": { "action": "popupOverlay", "arguments": [], "category": "split", "keySequence": "Ctrl+Alt+N" },
|
||||
"open quick switcher": { "action": "openQuickSwitcher", "arguments": [], "category": "window", "keySequence": "Ctrl+K" },
|
||||
"open settings": { "action": "openSettings", "arguments": [], "category": "window", "keySequence": "Ctrl+P" },
|
||||
"popup accept": { "action": "accept", "arguments": [], "category": "popupWindow", "keySequence": "Return" },
|
||||
"popup focus search box": { "action": "search", "arguments": [], "category": "popupWindow", "keySequence": "Ctrl+F" },
|
||||
"popup reject": { "action": "reject", "arguments": [], "category": "popupWindow", "keySequence": "Esc" },
|
||||
"popup scroll down": { "action": "scrollPage", "arguments": [ "down" ], "category": "popupWindow", "keySequence": "PgDown" },
|
||||
"popup scroll up": { "action": "scrollPage", "arguments": [ "up" ], "category": "popupWindow", "keySequence": "PgUp" },
|
||||
"popup select last tab": { "action": "openTab", "arguments": [ "last" ], "category": "popupWindow", "keySequence": "Ctrl+9" },
|
||||
"popup select next tab": { "action": "openTab", "arguments": [ "next" ], "category": "popupWindow", "keySequence": "Ctrl+Tab" },
|
||||
"popup select previous tab": { "action": "openTab", "arguments": [ "previous" ], "category": "popupWindow", "keySequence": "Ctrl+Shift+Tab" },
|
||||
"popup select tab #1": { "action": "openTab", "arguments": [ "0" ], "category": "popupWindow", "keySequence": "Ctrl+1" },
|
||||
"popup select tab #2": { "action": "openTab", "arguments": [ "1" ], "category": "popupWindow", "keySequence": "Ctrl+2" },
|
||||
"popup select tab #3": { "action": "openTab", "arguments": [ "2" ], "category": "popupWindow", "keySequence": "Ctrl+3" },
|
||||
"popup select tab #4": { "action": "openTab", "arguments": [ "3" ], "category": "popupWindow", "keySequence": "Ctrl+4" },
|
||||
"popup select tab #5": { "action": "openTab", "arguments": [ "4" ], "category": "popupWindow", "keySequence": "Ctrl+5" },
|
||||
"popup select tab #6": { "action": "openTab", "arguments": [ "5" ], "category": "popupWindow", "keySequence": "Ctrl+6" },
|
||||
"popup select tab #7": { "action": "openTab", "arguments": [ "6" ], "category": "popupWindow", "keySequence": "Ctrl+7" },
|
||||
"popup select tab #8": { "action": "openTab", "arguments": [ "7" ], "category": "popupWindow", "keySequence": "Ctrl+8" },
|
||||
"previous message": { "action": "previousMessage", "arguments": [], "category": "splitInput", "keySequence": "Up" },
|
||||
"reconnect": { "action": "reconnect", "arguments": [], "category": "split", "keySequence": "Ctrl+F5" },
|
||||
"reload emotes": { "action": "reloadEmotes", "arguments": [], "category": "split", "keySequence": "F5" },
|
||||
"remove tab": { "action": "removeTab", "arguments": [], "category": "window", "keySequence": "Ctrl+Shift+W" },
|
||||
"reopen split": { "action": "reopenSplit", "arguments": [], "category": "window", "keySequence": "Ctrl+G" },
|
||||
"scroll page down": { "action": "scrollPage", "arguments": [ "down" ], "category": "split", "keySequence": "PgDown" },
|
||||
"scroll page up": { "action": "scrollPage", "arguments": [ "up" ], "category": "split", "keySequence": "PgUp" },
|
||||
"scroll to bottom": { "action": "scrollToBottom", "arguments": [], "category": "split", "keySequence": "Ctrl+End" },
|
||||
"scroll to top": { "action": "scrollToTop", "arguments": [], "category": "split", "keySequence": "Ctrl+Home" },
|
||||
"select last tab": { "action": "openTab", "arguments": [ "last" ], "category": "window", "keySequence": "Ctrl+9" },
|
||||
"select next tab": { "action": "openTab", "arguments": [ "next" ], "category": "window", "keySequence": "Ctrl+Tab" },
|
||||
"select previous tab": { "action": "openTab", "arguments": [ "previous" ], "category": "window", "keySequence": "Ctrl+Shift+Tab" },
|
||||
"select tab #1": { "action": "openTab", "arguments": [ "0" ], "category": "window", "keySequence": "Ctrl+1" },
|
||||
"select tab #2": { "action": "openTab", "arguments": [ "1" ], "category": "window", "keySequence": "Ctrl+2" },
|
||||
"select tab #3": { "action": "openTab", "arguments": [ "2" ], "category": "window", "keySequence": "Ctrl+3" },
|
||||
"select tab #4": { "action": "openTab", "arguments": [ "3" ], "category": "window", "keySequence": "Ctrl+4" },
|
||||
"select tab #5": { "action": "openTab", "arguments": [ "4" ], "category": "window", "keySequence": "Ctrl+5" },
|
||||
"select tab #6": { "action": "openTab", "arguments": [ "5" ], "category": "window", "keySequence": "Ctrl+6" },
|
||||
"select tab #7": { "action": "openTab", "arguments": [ "6" ], "category": "window", "keySequence": "Ctrl+7" },
|
||||
"select tab #8": { "action": "openTab", "arguments": [ "7" ], "category": "window", "keySequence": "Ctrl+8" },
|
||||
"send message": { "action": "sendMessage", "arguments": [], "category": "splitInput", "keySequence": "Return" },
|
||||
"send message and keep text": { "action": "sendMessage", "arguments": [ "keepInput" ], "category": "splitInput", "keySequence": "Ctrl+Return" },
|
||||
"show global search": { "action": "showGlobalSearch", "arguments": [], "category": "split", "keySequence": "Ctrl+Shift+F" },
|
||||
"show search": { "action": "showSearch", "arguments": [], "category": "split", "keySequence": "Ctrl+F" },
|
||||
"toggle local r9k": { "action": "toggleLocalR9K", "arguments": [], "category": "window", "keySequence": "Ctrl+H" },
|
||||
"toggle overlay click-through": { "action": "toggleOverlayInertia", "arguments": [ "all" ], "category": "split", "keySequence": "Ctrl+Shift+U" },
|
||||
"toggle tab visibility": { "action": "setTabVisibility", "arguments": [ "toggle" ], "category": "window", "keySequence": "Ctrl+U" },
|
||||
"zoom in": { "action": "zoom", "arguments": [ "in" ], "category": "window", "keySequence": "Ctrl++" },
|
||||
"zoom out": { "action": "zoom", "arguments": [ "out" ], "category": "window", "keySequence": "Ctrl+-" },
|
||||
"zoom reset": { "action": "zoom", "arguments": [ "reset" ], "category": "window", "keySequence": "Ctrl+0" }
|
||||
},
|
||||
"misc": {
|
||||
"currentVersion": "2.5.1",
|
||||
"askOnTabVisibilityToggle": false,
|
||||
"currentVersion": "2.5.3",
|
||||
"lockNotebookLayout": false
|
||||
},
|
||||
"similarity": {
|
||||
@@ -732,12 +203,17 @@ in {
|
||||
"ui": {
|
||||
"lastSelectChannelTab": 0,
|
||||
"lastSelectIrcConn": -1
|
||||
},
|
||||
"external": {
|
||||
"streamlink": {
|
||||
"quality": "",
|
||||
"options": "--config ${hyper.home}/.config/streamlink/config"
|
||||
}
|
||||
}
|
||||
}
|
||||
'';
|
||||
".local/share/chatterino/Settings/window-layout.json".text = builtins.toJSON {
|
||||
windows = [
|
||||
{
|
||||
windows = [{
|
||||
emotePopup = {
|
||||
x = 0;
|
||||
y = 0;
|
||||
@@ -749,9 +225,117 @@ in {
|
||||
width = 943;
|
||||
x = 0;
|
||||
y = 0;
|
||||
}
|
||||
];
|
||||
}];
|
||||
};
|
||||
".local/share/chatterino/Themes/nxtheme.json".text = with rice.color; let
|
||||
# tr = builtins.toString (rice.lib.float-to-drune rice.transparency);
|
||||
nh = rice.lib.nohash;
|
||||
in /* json */ ''
|
||||
{
|
||||
"colors": {
|
||||
"accent": "${accent.base}",
|
||||
"messages": {
|
||||
"backgrounds": {
|
||||
"alternate": "${rice.lib.alter-luminace-hex accent.dark (-0.2)}",
|
||||
"regular": "${background}"
|
||||
},
|
||||
"disabled": "#99000000",
|
||||
"highlightAnimationEnd": "#00e6e6e6",
|
||||
"highlightAnimationStart": "#6ee6e6e6",
|
||||
"selection": "#40ffffff",
|
||||
"textColors": {
|
||||
"caret": "#ffffff",
|
||||
"chatPlaceholder": "#5d5555",
|
||||
"link": "#4286f4",
|
||||
"regular": "#ffffff",
|
||||
"system": "#8c7f7f"
|
||||
}
|
||||
},
|
||||
"scrollbars": {
|
||||
"background": "#00000000",
|
||||
"thumb": "${secondary.dark}",
|
||||
"thumbSelected": "${secondary.base}"
|
||||
},
|
||||
"splits": {
|
||||
"background": "${background}",
|
||||
"dropPreview": "#300094ff",
|
||||
"dropPreviewBorder": "${border}",
|
||||
"dropTargetRect": "${background}",
|
||||
"dropTargetRectBorder": "${border2}",
|
||||
"header": {
|
||||
"background": "${background}", "focusedBackground": "${accent.dark}",
|
||||
"border": "${background}", "focusedBorder": "${secondary.base}",
|
||||
"text": "${tertiary.base}", "focusedText": "${tertiary.bright}"
|
||||
},
|
||||
"input": {
|
||||
"background": "${background}",
|
||||
"text": "${foreground}"
|
||||
},
|
||||
"messageSeperator": "${accent.dark}",
|
||||
"resizeHandle": "#70${nh accent.base}",
|
||||
"resizeHandleBackground": "#20${nh secondary.dark}"
|
||||
},
|
||||
"tabs": {
|
||||
"liveIndicator": "${special.base}",
|
||||
"rerunIndicator": "${accent.base}",
|
||||
"dividerLine": "${background}",
|
||||
"highlighted": {
|
||||
"backgrounds": { "hover": "${accent.dark}", "regular": "${secondary.dark}", "unfocused": "${black.dark}" },
|
||||
"line": { "hover": "${secondary.base}", "regular": "${accent.base}", "unfocused": "${accent.dark}" },
|
||||
"text": "${accent.base}"
|
||||
},
|
||||
"newMessage": {
|
||||
"backgrounds": { "hover": "${accent.dark}", "regular": "${secondary.dark}", "unfocused": "${black.dark}" },
|
||||
"line": { "hover": "${secondary.base}", "regular": "${accent.base}", "unfocused": "${accent.dark}" },
|
||||
"text": "${accent.base}"
|
||||
},
|
||||
"regular": {
|
||||
"backgrounds": { "hover": "${accent.dark}", "regular": "${background}", "unfocused": "${background}" },
|
||||
"line": { "hover": "${secondary.base}", "regular": "${accent.dark}", "unfocused": "${background}" },
|
||||
"text": "${accent.base}"
|
||||
},
|
||||
"selected": {
|
||||
"backgrounds": { "hover": "${accent.dark}", "regular": "${secondary.dark}", "unfocused": "${secondary.dark}" },
|
||||
"line": { "hover": "${accent.bright}", "regular": "${accent.base}", "unfocused": "${accent.dark}" },
|
||||
"text": "${foreground}"
|
||||
}
|
||||
},
|
||||
"window": {
|
||||
"background": "${background}",
|
||||
"text": "${foreground}"
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"iconTheme": "light"
|
||||
},
|
||||
"ctcMeta": {
|
||||
"name": "nxtheme",
|
||||
"createdAt": "1970-01-01T00:00:00Z",
|
||||
"modifiedAt": "1970-01-01T00:00:00Z",
|
||||
"simpleTabSettings": false,
|
||||
"checkeredRow": true,
|
||||
"messageSeparator": false
|
||||
}
|
||||
}
|
||||
'';
|
||||
".local/share/chatterino/Settings/commands.json".text = ''
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"name": "/sl",
|
||||
"func": "/streamlink",
|
||||
"showInMsgContextMenu": false
|
||||
}
|
||||
]
|
||||
}
|
||||
'';
|
||||
".config/streamlink/config".text = ''
|
||||
twitch-api-header=Authorization=OAuth='$(cat ${config.sops.secrets."streamlink/twitch-oauth".path})'
|
||||
player=mpv
|
||||
player-args='--no-terminal'
|
||||
twitch-low-latency
|
||||
default-stream=best
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
7
home-modules/clipboard.nix
Normal file
7
home-modules/clipboard.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
services.clipman = {
|
||||
package = pkgs.clipman;
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
@@ -5,17 +5,18 @@
|
||||
<div class="color-container" style="border-color: ${color-set.base}">
|
||||
<div class="color-box" style="background: ${color-set.dark}; height: ${builtins.toString size}px;">
|
||||
<p style="color: ${color-set.bright}"> ${color-name}.dark </p>
|
||||
<p style="color: ${color-set.bright}"> ${color-set.dark} </p>
|
||||
</div>
|
||||
<div class="color-box" style="background: ${color-set.base}; height: ${builtins.toString size}px;">
|
||||
<p class="dynamic-text"> ${color-name}.base </p>
|
||||
<p class="dynamic-text"> ${color-set.base} </p>
|
||||
</div>
|
||||
<div class="color-box" style="background: ${color-set.bright}; height: ${builtins.toString size}px;">
|
||||
<p style="color: ${color-set.dark}"> ${color-name}.bright </p>
|
||||
<p style="color: ${color-set.dark}"> ${color-set.bright} </p>
|
||||
</div>
|
||||
</div>
|
||||
'';
|
||||
|
||||
|
||||
in /* html */ ''
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
@@ -37,7 +38,7 @@
|
||||
color: ${foreground};
|
||||
width: fit-content;
|
||||
margin: 10px auto 10px auto;
|
||||
background: ${background};
|
||||
background: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency});
|
||||
border: ${builtins.toString rice.border-width}px solid ${border};
|
||||
border-radius: ${builtins.toString rice.rounding}px;
|
||||
padding: ${builtins.toString rice.gap-size}px;
|
||||
@@ -46,7 +47,7 @@
|
||||
margin: ${builtins.toString rice.gap-size}px;
|
||||
}
|
||||
.color-container {
|
||||
font-family: ${rice.font.code.name2};
|
||||
font-family: ${rice.font.code.name};
|
||||
display: flex;
|
||||
gap: ${builtins.toString rice.gap-size}px;
|
||||
margin: ${builtins.toString rice.gap-size}px;
|
||||
@@ -66,18 +67,20 @@
|
||||
${cb accent "accent" 100}
|
||||
${cb secondary "secondary" 100}
|
||||
${cb tertiary "tertiary" 100}
|
||||
${cb weird "weird" 75}
|
||||
${cb special "special" 75}
|
||||
${cb positive "positive" 30}
|
||||
${cb negative "negative" 30}
|
||||
${cb black "black" 25}
|
||||
${cb white "white" 25}
|
||||
${cb blue "blue" 25}
|
||||
${cb cyan "cyan" 25}
|
||||
${cb green "green" 25}
|
||||
${cb magenta "magenta" 25}
|
||||
${cb red "red" 25}
|
||||
${cb yellow "yellow" 25}
|
||||
${cb weird "weird" 100}
|
||||
${cb special "special" 100}
|
||||
<br>
|
||||
${cb positive "positive" 70}
|
||||
${cb negative "negative" 70}
|
||||
<br>
|
||||
${cb black "black" 50}
|
||||
${cb white "white" 50}
|
||||
${cb blue "blue" 50}
|
||||
${cb cyan "cyan" 50}
|
||||
${cb green "green" 50}
|
||||
${cb magenta "magenta" 50}
|
||||
${cb red "red" 50}
|
||||
${cb yellow "yellow" 50}
|
||||
</body>
|
||||
<script>
|
||||
function getLuminance(color) {
|
||||
|
||||
2
home-modules/direnv.nix
Executable file → Normal file
2
home-modules/direnv.nix
Executable file → Normal file
@@ -1,4 +1,4 @@
|
||||
{ lib, user, ... }:
|
||||
{ ... }:
|
||||
{
|
||||
programs = {
|
||||
direnv = {
|
||||
|
||||
381
home-modules/discord.nix
Executable file → Normal file
381
home-modules/discord.nix
Executable file → Normal file
@@ -1,199 +1,200 @@
|
||||
{ pkgs, lib, host, ... }:
|
||||
lib.mkIf (host != "NxACE")
|
||||
{ pkgs, ... }@all: with all;
|
||||
lib.mkIf (hyper.host != "NxACE")
|
||||
{
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
vesktop
|
||||
# discord
|
||||
];
|
||||
|
||||
file.".config/vesktop/settings/settings.json".text = let
|
||||
settingsSyncVersion = "1729179678715";
|
||||
in /* json */ ''{
|
||||
"notifyAboutUpdates": true,
|
||||
"autoUpdate": false,
|
||||
"autoUpdateNotification": true,
|
||||
"useQuickCss": true,
|
||||
"themeLinks": [
|
||||
"https://luckfire.github.io/amoled-cord/src/amoled-cord.css"
|
||||
],
|
||||
"enabledThemes": [],
|
||||
"enableReactDevtools": false,
|
||||
"frameless": false,
|
||||
"transparent": true,
|
||||
"winCtrlQ": false,
|
||||
"macosTranslucency": false,
|
||||
"disableMinSize": false,
|
||||
"winNativeTitleBar": false,
|
||||
"plugins": {
|
||||
"BadgeAPI": { "enabled": true },
|
||||
"CommandsAPI": { "enabled": true },
|
||||
"ContextMenuAPI": { "enabled": true },
|
||||
"MemberListDecoratorsAPI": { "enabled": false },
|
||||
"MessageAccessoriesAPI": { "enabled": false },
|
||||
"MessageDecorationsAPI": { "enabled": false },
|
||||
"MessageEventsAPI": { "enabled": false },
|
||||
"MessagePopoverAPI": { "enabled": false },
|
||||
"NoticesAPI": { "enabled": true },
|
||||
"ServerListAPI": { "enabled": false },
|
||||
"NoTrack": { "enabled": true },
|
||||
"Settings": {
|
||||
"enabled": true,
|
||||
"settingsLocation": "aboveActivity"
|
||||
},
|
||||
"SupportHelper": { "enabled": true },
|
||||
"ChatInputButtonAPI": { "enabled": false },
|
||||
"AlwaysAnimate": { "enabled": true },
|
||||
"AlwaysTrust": { "enabled": true },
|
||||
"AnonymiseFileNames": { "enabled": false },
|
||||
"WebRichPresence (arRPC)": { "enabled": false },
|
||||
"BANger": { "enabled": false },
|
||||
"BetterFolders": { "enabled": false },
|
||||
"BetterGifAltText": { "enabled": false },
|
||||
"BetterGifPicker": { "enabled": false },
|
||||
"BetterNotesBox": { "enabled": false },
|
||||
"BetterRoleDot": { "enabled": false },
|
||||
"BetterUploadButton": { "enabled": false },
|
||||
"BiggerStreamPreview": { "enabled": false },
|
||||
"BlurNSFW": { "enabled": false },
|
||||
"CallTimer": { "enabled": false },
|
||||
"ClearURLs": { "enabled": false },
|
||||
"ClientTheme": { "enabled": false },
|
||||
"ColorSighted": { "enabled": false },
|
||||
"ConsoleShortcuts": { "enabled": false },
|
||||
"CopyUserURLs": { "enabled": false },
|
||||
"CrashHandler": { "enabled": true },
|
||||
"CustomRPC": { "enabled": false },
|
||||
"Dearrow": { "enabled": false },
|
||||
"Decor": { "enabled": false },
|
||||
"DisableCallIdle": { "enabled": false },
|
||||
"EmoteCloner": { "enabled": false },
|
||||
"Experiments": { "enabled": false },
|
||||
"F8Break": { "enabled": false },
|
||||
"FakeNitro": { "enabled": false },
|
||||
"FakeProfileThemes": { "enabled": true },
|
||||
"FavoriteEmojiFirst": { "enabled": false },
|
||||
"FavoriteGifSearch": { "enabled": false },
|
||||
"FixCodeblockGap": { "enabled": false },
|
||||
"FixSpotifyEmbeds": { "enabled": false },
|
||||
"FixYoutubeEmbeds": { "enabled": false },
|
||||
"ForceOwnerCrown": { "enabled": false },
|
||||
"FriendInvites": { "enabled": false },
|
||||
"GameActivityToggle": { "enabled": false },
|
||||
"GifPaste": { "enabled": false },
|
||||
"GreetStickerPicker": { "enabled": false },
|
||||
"HideAttachments": { "enabled": false },
|
||||
"iLoveSpam": { "enabled": false },
|
||||
"IgnoreActivities": { "enabled": false },
|
||||
"ImageZoom": { "enabled": false },
|
||||
"InvisibleChat": { "enabled": false },
|
||||
"KeepCurrentChannel": { "enabled": false },
|
||||
"LastFMRichPresence": { "enabled": false },
|
||||
"LoadingQuotes": { "enabled": false },
|
||||
"MemberCount": { "enabled": false },
|
||||
"MessageClickActions": { "enabled": false },
|
||||
"MessageLinkEmbeds": { "enabled": false },
|
||||
"MessageLogger": { "enabled": false },
|
||||
"MessageTags": { "enabled": false },
|
||||
"MoreCommands": { "enabled": false },
|
||||
"MoreKaomoji": { "enabled": false },
|
||||
"MoreUserTags": { "enabled": false },
|
||||
"Moyai": { "enabled": false },
|
||||
"MutualGroupDMs": { "enabled": false },
|
||||
"NewGuildSettings": { "enabled": false },
|
||||
"NoBlockedMessages": { "enabled": false },
|
||||
"NoDevtoolsWarning": { "enabled": false },
|
||||
"NoF1": { "enabled": false },
|
||||
"NoMosaic": { "enabled": false },
|
||||
"NoPendingCount": { "enabled": false },
|
||||
"NoProfileThemes": { "enabled": false },
|
||||
"NoReplyMention": { "enabled": false },
|
||||
"NoScreensharePreview": { "enabled": false },
|
||||
"NoTypingAnimation": { "enabled": false },
|
||||
"NoUnblockToJump": { "enabled": false },
|
||||
"NormalizeMessageLinks": { "enabled": false },
|
||||
"NotificationVolume": { "enabled": false },
|
||||
"NSFWGateBypass": { "enabled": false },
|
||||
"OnePingPerDM": { "enabled": false },
|
||||
"oneko": { "enabled": false },
|
||||
"OpenInApp": { "enabled": false },
|
||||
"Party mode 🎉": { "enabled": false },
|
||||
"PermissionFreeWill": { "enabled": false },
|
||||
"PermissionsViewer": { "enabled": false },
|
||||
"petpet": { "enabled": false },
|
||||
"PictureInPicture": { "enabled": false },
|
||||
"PinDMs": { "enabled": false },
|
||||
"PlainFolderIcon": { "enabled": false },
|
||||
"PlatformIndicators": { "enabled": false },
|
||||
"PreviewMessage": { "enabled": false },
|
||||
"PronounDB": { "enabled": false },
|
||||
"QuickMention": { "enabled": false },
|
||||
"QuickReply": { "enabled": false },
|
||||
"ReactErrorDecoder": { "enabled": false },
|
||||
"ReadAllNotificationsButton": { "enabled": false },
|
||||
"RelationshipNotifier": { "enabled": false },
|
||||
"RevealAllSpoilers": { "enabled": false },
|
||||
"ReverseImageSearch": { "enabled": false },
|
||||
"ReviewDB": { "enabled": false },
|
||||
"RoleColorEverywhere": { "enabled": true },
|
||||
"SearchReply": { "enabled": false },
|
||||
"SecretRingToneEnabler": { "enabled": false },
|
||||
"SendTimestamps": { "enabled": false },
|
||||
"ServerListIndicators": { "enabled": false },
|
||||
"ServerProfile": { "enabled": false },
|
||||
"ShikiCodeblocks": { "enabled": false },
|
||||
"ShowAllMessageButtons": { "enabled": false },
|
||||
"ShowConnections": { "enabled": false },
|
||||
"ShowHiddenChannels": { "enabled": false },
|
||||
"ShowMeYourName": { "enabled": false },
|
||||
"ShowTimeouts": { "enabled": false },
|
||||
"SilentMessageToggle": { "enabled": false },
|
||||
"SilentTyping": { "enabled": false },
|
||||
"SortFriendRequests": { "enabled": false },
|
||||
"SpotifyControls": { "enabled": false },
|
||||
"SpotifyCrack": { "enabled": false },
|
||||
"SpotifyShareCommands": { "enabled": false },
|
||||
"StartupTimings": { "enabled": false },
|
||||
"SuperReactionTweaks": { "enabled": false },
|
||||
"TextReplace": { "enabled": false },
|
||||
"ThemeAttributes": { "enabled": false },
|
||||
"TimeBarAllActivities": { "enabled": false },
|
||||
"Translate": { "enabled": false },
|
||||
"TypingIndicator": { "enabled": false },
|
||||
"TypingTweaks": { "enabled": false },
|
||||
"Unindent": { "enabled": false },
|
||||
"UnsuppressEmbeds": { "enabled": false },
|
||||
"UrbanDictionary": { "enabled": false },
|
||||
"UserVoiceShow": { "enabled": false },
|
||||
"USRBG": { "enabled": false },
|
||||
"ValidUser": { "enabled": false },
|
||||
"VoiceChatDoubleClick": { "enabled": false },
|
||||
"VcNarrator": { "enabled": false },
|
||||
"VencordToolbox": { "enabled": false },
|
||||
"ViewIcons": { "enabled": false },
|
||||
"ViewRaw": { "enabled": false },
|
||||
"VoiceMessages": { "enabled": false },
|
||||
"WebContextMenus": {
|
||||
"enabled": true,
|
||||
"addBack": true },
|
||||
"WebKeybinds": { "enabled": true },
|
||||
"WhoReacted": { "enabled": false },
|
||||
"Wikisearch": { "enabled": false },
|
||||
"XSOverlay": { "enabled": false }
|
||||
},
|
||||
"notifications": {
|
||||
"timeout": 5000,
|
||||
"position": "bottom-right",
|
||||
"useNative": "not-focused",
|
||||
"logLimit": 50
|
||||
},
|
||||
"cloud": {
|
||||
"authenticated": false,
|
||||
"url": "https://api.vencord.dev/",
|
||||
"settingsSync": false,
|
||||
"settingsSyncVersion": ${settingsSyncVersion}
|
||||
}
|
||||
}
|
||||
'';
|
||||
# file.".config/vesktop/settings/settings.json".text = let
|
||||
# settingsSyncVersion = "1729179678715";
|
||||
# in /* json */ ''{
|
||||
# "notifyAboutUpdates": true,
|
||||
# "autoUpdate": false,
|
||||
# "autoUpdateNotification": true,
|
||||
# "useQuickCss": true,
|
||||
# "themeLinks": [
|
||||
# "https://luckfire.github.io/amoled-cord/src/amoled-cord.css"
|
||||
# ],
|
||||
# "enabledThemes": [],
|
||||
# "enableReactDevtools": false,
|
||||
# "frameless": false,
|
||||
# "transparent": true,
|
||||
# "winCtrlQ": false,
|
||||
# "macosTranslucency": false,
|
||||
# "disableMinSize": false,
|
||||
# "winNativeTitleBar": false,
|
||||
# "plugins": {
|
||||
# "BadgeAPI": { "enabled": true },
|
||||
# "CommandsAPI": { "enabled": true },
|
||||
# "ContextMenuAPI": { "enabled": true },
|
||||
# "MemberListDecoratorsAPI": { "enabled": false },
|
||||
# "MessageAccessoriesAPI": { "enabled": false },
|
||||
# "MessageDecorationsAPI": { "enabled": false },
|
||||
# "MessageEventsAPI": { "enabled": false },
|
||||
# "MessagePopoverAPI": { "enabled": false },
|
||||
# "NoticesAPI": { "enabled": true },
|
||||
# "ServerListAPI": { "enabled": false },
|
||||
# "NoTrack": { "enabled": true },
|
||||
# "Settings": {
|
||||
# "enabled": true,
|
||||
# "settingsLocation": "aboveActivity"
|
||||
# },
|
||||
# "SupportHelper": { "enabled": true },
|
||||
# "ChatInputButtonAPI": { "enabled": false },
|
||||
# "AlwaysAnimate": { "enabled": true },
|
||||
# "AlwaysTrust": { "enabled": true },
|
||||
# "AnonymiseFileNames": { "enabled": false },
|
||||
# "WebRichPresence (arRPC)": { "enabled": false },
|
||||
# "BANger": { "enabled": false },
|
||||
# "BetterFolders": { "enabled": false },
|
||||
# "BetterGifAltText": { "enabled": false },
|
||||
# "BetterGifPicker": { "enabled": false },
|
||||
# "BetterNotesBox": { "enabled": false },
|
||||
# "BetterRoleDot": { "enabled": false },
|
||||
# "BetterUploadButton": { "enabled": false },
|
||||
# "BiggerStreamPreview": { "enabled": false },
|
||||
# "BlurNSFW": { "enabled": false },
|
||||
# "CallTimer": { "enabled": false },
|
||||
# "ClearURLs": { "enabled": false },
|
||||
# "ClientTheme": { "enabled": false },
|
||||
# "ColorSighted": { "enabled": false },
|
||||
# "ConsoleShortcuts": { "enabled": false },
|
||||
# "CopyUserURLs": { "enabled": false },
|
||||
# "CrashHandler": { "enabled": true },
|
||||
# "CustomRPC": { "enabled": false },
|
||||
# "Dearrow": { "enabled": false },
|
||||
# "Decor": { "enabled": false },
|
||||
# "DisableCallIdle": { "enabled": false },
|
||||
# "EmoteCloner": { "enabled": false },
|
||||
# "Experiments": { "enabled": false },
|
||||
# "F8Break": { "enabled": false },
|
||||
# "FakeNitro": { "enabled": false },
|
||||
# "FakeProfileThemes": { "enabled": true },
|
||||
# "FavoriteEmojiFirst": { "enabled": false },
|
||||
# "FavoriteGifSearch": { "enabled": false },
|
||||
# "FixCodeblockGap": { "enabled": false },
|
||||
# "FixSpotifyEmbeds": { "enabled": false },
|
||||
# "FixYoutubeEmbeds": { "enabled": false },
|
||||
# "ForceOwnerCrown": { "enabled": false },
|
||||
# "FriendInvites": { "enabled": false },
|
||||
# "GameActivityToggle": { "enabled": false },
|
||||
# "GifPaste": { "enabled": false },
|
||||
# "GreetStickerPicker": { "enabled": false },
|
||||
# "HideAttachments": { "enabled": false },
|
||||
# "iLoveSpam": { "enabled": false },
|
||||
# "IgnoreActivities": { "enabled": false },
|
||||
# "ImageZoom": { "enabled": false },
|
||||
# "InvisibleChat": { "enabled": false },
|
||||
# "KeepCurrentChannel": { "enabled": false },
|
||||
# "LastFMRichPresence": { "enabled": false },
|
||||
# "LoadingQuotes": { "enabled": false },
|
||||
# "MemberCount": { "enabled": false },
|
||||
# "MessageClickActions": { "enabled": false },
|
||||
# "MessageLinkEmbeds": { "enabled": false },
|
||||
# "MessageLogger": { "enabled": false },
|
||||
# "MessageTags": { "enabled": false },
|
||||
# "MoreCommands": { "enabled": false },
|
||||
# "MoreKaomoji": { "enabled": false },
|
||||
# "MoreUserTags": { "enabled": false },
|
||||
# "Moyai": { "enabled": false },
|
||||
# "MutualGroupDMs": { "enabled": false },
|
||||
# "NewGuildSettings": { "enabled": false },
|
||||
# "NoBlockedMessages": { "enabled": false },
|
||||
# "NoDevtoolsWarning": { "enabled": false },
|
||||
# "NoF1": { "enabled": false },
|
||||
# "NoMosaic": { "enabled": false },
|
||||
# "NoPendingCount": { "enabled": false },
|
||||
# "NoProfileThemes": { "enabled": false },
|
||||
# "NoReplyMention": { "enabled": false },
|
||||
# "NoScreensharePreview": { "enabled": false },
|
||||
# "NoTypingAnimation": { "enabled": false },
|
||||
# "NoUnblockToJump": { "enabled": false },
|
||||
# "NormalizeMessageLinks": { "enabled": false },
|
||||
# "NotificationVolume": { "enabled": false },
|
||||
# "NSFWGateBypass": { "enabled": false },
|
||||
# "OnePingPerDM": { "enabled": false },
|
||||
# "oneko": { "enabled": false },
|
||||
# "OpenInApp": { "enabled": false },
|
||||
# "Party mode 🎉": { "enabled": false },
|
||||
# "PermissionFreeWill": { "enabled": false },
|
||||
# "PermissionsViewer": { "enabled": false },
|
||||
# "petpet": { "enabled": false },
|
||||
# "PictureInPicture": { "enabled": false },
|
||||
# "PinDMs": { "enabled": false },
|
||||
# "PlainFolderIcon": { "enabled": false },
|
||||
# "PlatformIndicators": { "enabled": false },
|
||||
# "PreviewMessage": { "enabled": false },
|
||||
# "PronounDB": { "enabled": false },
|
||||
# "QuickMention": { "enabled": false },
|
||||
# "QuickReply": { "enabled": false },
|
||||
# "ReactErrorDecoder": { "enabled": false },
|
||||
# "ReadAllNotificationsButton": { "enabled": false },
|
||||
# "RelationshipNotifier": { "enabled": false },
|
||||
# "RevealAllSpoilers": { "enabled": false },
|
||||
# "ReverseImageSearch": { "enabled": false },
|
||||
# "ReviewDB": { "enabled": false },
|
||||
# "RoleColorEverywhere": { "enabled": true },
|
||||
# "SearchReply": { "enabled": false },
|
||||
# "SecretRingToneEnabler": { "enabled": false },
|
||||
# "SendTimestamps": { "enabled": false },
|
||||
# "ServerListIndicators": { "enabled": false },
|
||||
# "ServerProfile": { "enabled": false },
|
||||
# "ShikiCodeblocks": { "enabled": false },
|
||||
# "ShowAllMessageButtons": { "enabled": false },
|
||||
# "ShowConnections": { "enabled": false },
|
||||
# "ShowHiddenChannels": { "enabled": false },
|
||||
# "ShowMeYourName": { "enabled": false },
|
||||
# "ShowTimeouts": { "enabled": false },
|
||||
# "SilentMessageToggle": { "enabled": false },
|
||||
# "SilentTyping": { "enabled": false },
|
||||
# "SortFriendRequests": { "enabled": false },
|
||||
# "SpotifyControls": { "enabled": false },
|
||||
# "SpotifyCrack": { "enabled": false },
|
||||
# "SpotifyShareCommands": { "enabled": false },
|
||||
# "StartupTimings": { "enabled": false },
|
||||
# "SuperReactionTweaks": { "enabled": false },
|
||||
# "TextReplace": { "enabled": false },
|
||||
# "ThemeAttributes": { "enabled": false },
|
||||
# "TimeBarAllActivities": { "enabled": false },
|
||||
# "Translate": { "enabled": false },
|
||||
# "TypingIndicator": { "enabled": false },
|
||||
# "TypingTweaks": { "enabled": false },
|
||||
# "Unindent": { "enabled": false },
|
||||
# "UnsuppressEmbeds": { "enabled": false },
|
||||
# "UrbanDictionary": { "enabled": false },
|
||||
# "UserVoiceShow": { "enabled": false },
|
||||
# "USRBG": { "enabled": false },
|
||||
# "ValidUser": { "enabled": false },
|
||||
# "VoiceChatDoubleClick": { "enabled": false },
|
||||
# "VcNarrator": { "enabled": false },
|
||||
# "VencordToolbox": { "enabled": false },
|
||||
# "ViewIcons": { "enabled": false },
|
||||
# "ViewRaw": { "enabled": false },
|
||||
# "VoiceMessages": { "enabled": false },
|
||||
# "WebContextMenus": {
|
||||
# "enabled": true,
|
||||
# "addBack": true },
|
||||
# "WebKeybinds": { "enabled": true },
|
||||
# "WhoReacted": { "enabled": false },
|
||||
# "Wikisearch": { "enabled": false },
|
||||
# "XSOverlay": { "enabled": false }
|
||||
# },
|
||||
# "notifications": {
|
||||
# "timeout": 5000,
|
||||
# "position": "bottom-right",
|
||||
# "useNative": "not-focused",
|
||||
# "logLimit": 50
|
||||
# },
|
||||
# "cloud": {
|
||||
# "authenticated": false,
|
||||
# "url": "https://api.vencord.dev/",
|
||||
# "settingsSync": false,
|
||||
# "settingsSyncVersion": ${settingsSyncVersion}
|
||||
# }
|
||||
# }
|
||||
# '';
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
121
home-modules/email.nix
Executable file → Normal file
121
home-modules/email.nix
Executable file → Normal file
@@ -1,27 +1,19 @@
|
||||
{ pkgs, lib, host, user, rice, secrets, ... }:
|
||||
lib.mkIf (host != "NxACE")
|
||||
{ pkgs, ... }@all: with all;
|
||||
lib.mkIf (hyper.host != "NxACE")
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
thunderbird
|
||||
];
|
||||
|
||||
|
||||
programs.thunderbird = let
|
||||
inherit (lib.generators) toJSON;
|
||||
extensions = toJSON {} {
|
||||
"default-theme@mozilla.org" = "5787f490-29b8-436e-a111-640da8590790";
|
||||
"google@search.mozilla.org" = "cc340383-7068-4b32-a10f-9f19334bfebc";
|
||||
"ddg@search.mozilla.org" = "0c340210-f7ab-48e8-9778-600ed5d00160";
|
||||
"amazondotcom@search.mozilla.org" = "881d8fdf-5772-4e33-81ff-faac2d1fa92c";
|
||||
"wikipedia@search.mozilla.org" = "7ea3d39d-3eea-430f-9bd7-f902d8124d45";
|
||||
"bing@search.mozilla.org" = "f480cce8-68af-4082-908e-f8996153352b";
|
||||
"addon@darkreader.org" = "71d6c69d-55f9-4c56-888c-abdcf6efd73d";
|
||||
"lightningcalendartabs@jlx.84" = "12d48e41-412e-4d09-835a-fa6fb8c180eb";
|
||||
};
|
||||
in {
|
||||
enable = true;
|
||||
profiles = {
|
||||
"${user}" = {
|
||||
"${hyper.user}" = {
|
||||
isDefault = true;
|
||||
settings = with rice.color; {
|
||||
"calendar.alarms.showmissed" = false;
|
||||
@@ -49,12 +41,46 @@ lib.mkIf (host != "NxACE")
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
};
|
||||
userChrome = with rice.color; /* css */ ''
|
||||
* {
|
||||
color: ${rice.lib.hex-to-rgb-comma-string foreground} !important;
|
||||
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
|
||||
body,
|
||||
#navigation-toolbox,
|
||||
#calendarContent,
|
||||
#calSidebar,
|
||||
#tabpanelcontainer,
|
||||
#spacesToolbar,
|
||||
#tabs-toolbar,
|
||||
#calMinimonth,
|
||||
#primaryButtonSidePanel *,
|
||||
.minimonth-week,
|
||||
.multiday-header-corner, .day-column-heading, calendar-header-container, calendar-event-column, .multiday-hour-box,
|
||||
#view-box,
|
||||
#tabs-toolbar,
|
||||
#status-bar,
|
||||
.calview-toggle,
|
||||
#calview-toggle-item,
|
||||
#folderPaneHeaderBar,
|
||||
#folderPane,
|
||||
#threadPaneHeaderBar,
|
||||
#threadTree,
|
||||
#tabs-toolbar {
|
||||
color: ${foreground} !important;
|
||||
font-family: ${rice.font.base.name} !important;
|
||||
background-color: transparent !important;
|
||||
background-image: none !important;
|
||||
border: none !important;
|
||||
-moz-appearance: none !important;
|
||||
}
|
||||
treechildren::-moz-tree-row(odd), treechildren::-moz-tree-row(even) {
|
||||
.minimonth-nav-section {
|
||||
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
|
||||
border: ${builtins.toString rice.border-width}px solid ${border};
|
||||
}
|
||||
.button,
|
||||
.button-primary,
|
||||
.tab-content[selected] {
|
||||
background-color: ${accent.base};
|
||||
color: ${background};
|
||||
background-image: none;
|
||||
}
|
||||
html {
|
||||
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
|
||||
}
|
||||
'';
|
||||
@@ -63,8 +89,7 @@ lib.mkIf (host != "NxACE")
|
||||
};
|
||||
|
||||
|
||||
accounts.email.accounts =
|
||||
let
|
||||
accounts.email.accounts = let
|
||||
OAuth2Settings = id: {
|
||||
"mail.smtpserver.smtp_${id}.authMethod" = 10;
|
||||
"mail.server.server_${id}.authMethod" = 10;
|
||||
@@ -112,37 +137,37 @@ lib.mkIf (host != "NxACE")
|
||||
};
|
||||
};
|
||||
|
||||
hsmw = with secrets.email.hsmw; {
|
||||
address = "${un}@hs-mittweida.de";
|
||||
userName = "${un}@hs-mittweida.de";
|
||||
realName = "Lennart J. Kurzweg";
|
||||
imap = {
|
||||
port = 993;
|
||||
host = "xc.hs-mittweida.de";
|
||||
};
|
||||
smtp = {
|
||||
port = 587;
|
||||
host = "xc.hs-mittweida.de";
|
||||
tls.useStartTls = true;
|
||||
};
|
||||
signature = {
|
||||
text = ''
|
||||
MatNr: ${mnr}
|
||||
SemGr: ${semgr}
|
||||
About Me: https://nx2.site/about-me
|
||||
Contact: https://nx2.site/contact
|
||||
GPG: https://nx2.site/gpg
|
||||
'';
|
||||
showSignature = "append";
|
||||
};
|
||||
thunderbird = {
|
||||
enable = true;
|
||||
profiles = [ "nx2" ];
|
||||
settings = id: {
|
||||
"mail.server.server_${id}.fcc_folder" = "imap://${un}%40hs-mittweida.de@xc.hs-mittweida.de/Sent";
|
||||
};
|
||||
};
|
||||
};
|
||||
# hsmw = with secrets.email.hsmw; {
|
||||
# address = "${un}@hs-mittweida.de";
|
||||
# userName = "${un}@hs-mittweida.de";
|
||||
# realName = "Lennart J. Kurzweg";
|
||||
# imap = {
|
||||
# port = 993;
|
||||
# host = "xc.hs-mittweida.de";
|
||||
# };
|
||||
# smtp = {
|
||||
# port = 587;
|
||||
# host = "xc.hs-mittweida.de";
|
||||
# tls.useStartTls = true;
|
||||
# };
|
||||
# signature = {
|
||||
# text = ''
|
||||
# MatNr: ${mnr}
|
||||
# SemGr: ${semgr}
|
||||
# About Me: https://nx2.site/about-me
|
||||
# Contact: https://nx2.site/contact
|
||||
# GPG: https://nx2.site/gpg
|
||||
# '';
|
||||
# showSignature = "append";
|
||||
# };
|
||||
# thunderbird = {
|
||||
# enable = true;
|
||||
# profiles = [ "nx2" ];
|
||||
# settings = id: {
|
||||
# "mail.server.server_${id}.fcc_folder" = "imap://${un}%40hs-mittweida.de@xc.hs-mittweida.de/Sent";
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
tuda = with secrets.email.tuda; {
|
||||
address = "${un}@stud.tu-darmstadt.de";
|
||||
userName = tuid;
|
||||
|
||||
12
home-modules/figlet.nix
Normal file
12
home-modules/figlet.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
{ pkgs, hyper, ... }:
|
||||
{
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
figlet
|
||||
(pkgs.writeShellScriptBin "fgl" ''
|
||||
figlet -f ${hyper.home}/.local/share/figlet/nx2.flf -w 9999
|
||||
'')
|
||||
];
|
||||
file.".local/share/figlet/nx2.flf".text = builtins.readFile ./assets/nx2.flf;
|
||||
};
|
||||
}
|
||||
@@ -1,11 +1,18 @@
|
||||
# { pkgs-unstable, secrets, user, system, inputs, ...}:
|
||||
{ rice, user, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
# browser.tabs.allow_transparent_browser
|
||||
# https://www.reddit.com/r/FirefoxCSS/comments/1dqws4b/firefox_128_will_allow_the_main_browser_content/
|
||||
{
|
||||
home.file = with rice.color; let
|
||||
programs.firefox.profiles."{hyper.user}".settings = {
|
||||
"widget.use-xdg-desktop-portal.file-picker" = 1;
|
||||
};
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
firefox
|
||||
];
|
||||
file = with rice.color; let
|
||||
blur = builtins.toString 20;
|
||||
in {
|
||||
".mozilla/firefox/${user}/chrome/userChrome.css".text = /* css */ ''
|
||||
".mozilla/firefox/${hyper.user}/chrome/userChrome.css".text = /* css */ ''
|
||||
:root{
|
||||
/* Popup panels */
|
||||
--arrowpanel-background : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
|
||||
@@ -91,7 +98,7 @@
|
||||
}
|
||||
'';
|
||||
|
||||
".mozilla/firefox/${user}/chrome/userContent.css".text = /* css */ ''
|
||||
".mozilla/firefox/${hyper.user}/chrome/userContent.css".text = /* css */ ''
|
||||
/* Removes the white loading page */
|
||||
/* url(about:newtab), url(about:home) */
|
||||
@-moz-document url(about:blank) {
|
||||
@@ -110,20 +117,14 @@
|
||||
|
||||
/* new-tab */
|
||||
@-moz-document url-prefix(about:home), url-prefix(about:newtab) {
|
||||
:root{
|
||||
--newtab-background-color-secondary: ${background} !important;
|
||||
}
|
||||
body, html {
|
||||
background: transparent !important;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-document domain(youtube.com) {
|
||||
#background, #chips-wrapper, ytd-mini-guide-entry-renderer {
|
||||
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
|
||||
backdrop-filter: blur(${blur}px);
|
||||
border: ${builtins.toString rice.border-width} solid ${border};
|
||||
}
|
||||
body, html, ytd-app, ytd-mini-guide-renderer, div#content-container, #guide-content.ytd-app, #guide-wrapper, div#contentContainer {
|
||||
background-color: transparent !important;
|
||||
border: ${builtins.toString rice.border-width} solid ${border};
|
||||
.tile, .search-handoff-button {
|
||||
border: ${builtins.toString rice.border-width}px solid ${border} !important;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,7 +141,6 @@
|
||||
@-moz-document domain(reddit.com) {
|
||||
header {
|
||||
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
|
||||
backdrop-filter: blur(20px);
|
||||
}
|
||||
body, html, reddit-sidebar-nav, shreddit-post, aside, .reddit-search-bar{
|
||||
background-color: transparent !important;
|
||||
@@ -171,6 +171,24 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root .theme-system {
|
||||
--color-bg: transtparent !important;
|
||||
--color-text: ${rice.color.foreground}
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-document domain(developer.mozilla.org) {
|
||||
html, body {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
.top-navigation, .article-actions-container {
|
||||
background-color: rgba(0,0,0,1) !important;
|
||||
backdrop-filter: blur(100px);
|
||||
border-radius: ${builtins.toString rice.rounding}px;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-document domain(github.com) {
|
||||
body, html, header, #repository-container-header, .bgColor-muted, section {
|
||||
background-color: transparent !important;
|
||||
@@ -182,7 +200,8 @@
|
||||
background-color: transparent !important;
|
||||
}
|
||||
header, footer {
|
||||
background-color: rgba(0,0,0,0.5) !important;
|
||||
background-color: rgba(0,0,0,1) !important;
|
||||
backdrop-filter: blur(100px);
|
||||
border-radius: ${builtins.toString rice.rounding}px;
|
||||
}
|
||||
}
|
||||
@@ -196,13 +215,51 @@
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-document domain(nx2.site) {
|
||||
@-moz-document url-prefix("https://nx2.site/") {
|
||||
html {
|
||||
background: radial-gradient(rgba(255, 255, 255, 0.8) 5%, transparent 5%) !important;
|
||||
background-repeat: repeat !important;
|
||||
background-size: 2vmin 2vmin !important;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-document url-prefix("pw.nx2.site") {
|
||||
html {
|
||||
background: black;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-document url-prefix("pw.nx2.site") {
|
||||
html {
|
||||
background: radial-gradient(rgba(255, 255, 255, 0.8) 5%, transparent 5%) !important;
|
||||
background-repeat: repeat !important;
|
||||
background-size: 2vmin 2vmin !important;
|
||||
}
|
||||
body, .tw-bg-background-alt3, main, .card-header, .card-body, .modal-body {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
.modal-open, .modal-header, form.modal-content, .modal-footer {
|
||||
background-color: rgba(0,0,0,0.8) !important;
|
||||
backdrop-filter: blur(5px);
|
||||
}
|
||||
.cdk-virtual-scroll-content-wrapper, .card, .tw-bg-background, .modal-content {
|
||||
background-color: rgba(0,0,0,0.8) !important;
|
||||
border-radius: 10px !important;
|
||||
border: ${toString rice.border-width}px solid ${border} !important;
|
||||
}
|
||||
}
|
||||
|
||||
'';
|
||||
# @-moz-document domain(chatgpt.com) {
|
||||
# body, html , .bg-token-sidebar-surface-primary {
|
||||
# background-color: transparent !important;
|
||||
# }
|
||||
# .bg-token-main-surface-primary {
|
||||
# background-color: rgba(0,0,0,1) !important;
|
||||
# backdrop-filter: blur(100px) !important;
|
||||
# border-radius: ${builtins.toString rice.rounding}px !important;
|
||||
# }
|
||||
# }
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
46
home-modules/fish.nix
Executable file → Normal file
46
home-modules/fish.nix
Executable file → Normal file
@@ -1,4 +1,4 @@
|
||||
{ pkgs, lib, rice, user, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
fish
|
||||
@@ -17,18 +17,18 @@
|
||||
⠀⠀⠀⠀⠀⣰⣿⣿⣿⡄⠉⠉⢻⣿⣏⠉⠉⠀⠀⠀ TFM
|
||||
⠀⠀⠀⠀⠰⣿⠟⠀⢻⣿⣆⠀⠀⠻⣿⠆⠀⠀⠀⠀ PROMPT
|
||||
|
||||
" | lolcat --force)
|
||||
" | lolcat --force 2> /dev/null)
|
||||
|
||||
msg="
|
||||
$(echo -e "$logo" | sed -n 3p): $(cat /etc/*-release | grep PRETTY_NAME | cut -c 14- | rev | cut -c 2- | rev)
|
||||
$(echo -e "$logo" | sed -n 4p): ''${XDG_CURRENT_DESKTOP^}
|
||||
$(echo -e "$logo" | sed -n 5p): ''${TERM^}
|
||||
$(echo -e "$logo" | sed -n 6p): $(bash --version | head --lines 1 | cut -f -4 -d' ' | sed -E 's-(.*?), version (.*?)\(.*-\1 \2-g')
|
||||
$(echo -e "$logo" | sed -n 7p): fish $(fish --version | rev | cut -f 1 -d' ' | rev)
|
||||
$(echo -e "$logo" | sed -n 7p): fish $(fish --version | rev | cut -f 1 -d' ' | rev | sed 's/./\U&/')
|
||||
$(echo -e "$logo" | sed -n 8p): ''$(uname -r)
|
||||
$(echo -e "$logo" | sed -n 9p): $($EDITOR --version | head -n 1 | sed -E 's-(.+?) \(.*-\1-g')
|
||||
$(echo -e "$logo" | sed -n 10p): $(yazi --version | yazi --version | sed -E 's-(.*?) \(.*-\1-g')
|
||||
$(echo -e "$logo" | sed -n 11p): $(starship --version | head -n 1)
|
||||
$(echo -e "$logo" | sed -n 9p): $($EDITOR --version | head -n 1 | sed -E 's-(.+?) \(.*-\1-g' | sed 's/./\U&/')
|
||||
$(echo -e "$logo" | sed -n 10p): $(yazi --version | sed -E 's-(.*?) \(.*-\1-g')
|
||||
$(echo -e "$logo" | sed -n 11p): $(starship --version | head -n 1 | sed 's/./\U&/')
|
||||
"
|
||||
echo -e "$msg"
|
||||
'')
|
||||
@@ -38,14 +38,17 @@
|
||||
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
ls = "eza --icons --git --smart-group --group-directories-first";
|
||||
ll = "eza --icons --git --smart-group --group-directories-first --long";
|
||||
la = "eza --icons --git --smart-group --group-directories-first --all";
|
||||
lla = "eza --icons --git --smart-group --group-directories-first --all --long";
|
||||
lt = "eza --icons --git --smart-group --group-directories-first --long --tree";
|
||||
ltd = "eza --icons --git --smart-group --group-directories-first --long --tree -D";
|
||||
lt2 = "eza --icons --git --smart-group --group-directories-first --long --tree -L 2";
|
||||
shellAliases = let
|
||||
base-eza = "eza --icons --git --smart-group --group-directories-first";
|
||||
in {
|
||||
ls = "${base-eza}";
|
||||
ll = "${base-eza} --long";
|
||||
lg = "${base-eza} --group --long";
|
||||
la = "${base-eza} --all";
|
||||
lla = "${base-eza} --all --long";
|
||||
lt = "${base-eza} --long --tree";
|
||||
ltd = "${base-eza} --long --tree -D";
|
||||
lt2 = "${base-eza} --long --tree -L 2";
|
||||
sr = "sudo reboot";
|
||||
nf = "neofetch";
|
||||
nxf = "nxfetch";
|
||||
@@ -80,28 +83,31 @@
|
||||
lzd = "lazydocker";
|
||||
d = "docker";
|
||||
dcmp = "docker compose";
|
||||
stui = "sudo systemctl-tui";
|
||||
# nxsent = ''sent -c \${rice.color.foreground} -b \${rice.color.background}'';
|
||||
|
||||
# ya = "yazi"; # function
|
||||
# nxfiglet = "figlet";
|
||||
};
|
||||
interactiveShellInit = ''
|
||||
interactiveShellInit = /* fish */ ''
|
||||
set -g fish_greeting
|
||||
if not set -q IN_NIX_SHELL
|
||||
nxfetch
|
||||
# yazi
|
||||
if set -q SESSION_FROM_DE
|
||||
set -e SESSION_FROM_DE
|
||||
set tmp (mktemp -t "yazi-cwd.XXXXX")
|
||||
yazi $argv --cwd-file="$tmp"
|
||||
yazi --cwd-file="$tmp"
|
||||
if set cwd (cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
|
||||
cd -- "$cwd"
|
||||
builtin cd -- "$cwd"
|
||||
end
|
||||
rm -f -- "$tmp"
|
||||
end
|
||||
nxfetch
|
||||
end
|
||||
'';
|
||||
functions = {
|
||||
take = /* bash */ ''
|
||||
mkdir $argv
|
||||
cd $argv
|
||||
'';
|
||||
# gpg = '';
|
||||
# set bold \e[1m
|
||||
# set green \e[32m
|
||||
|
||||
23
home-modules/games.nix
Executable file → Normal file
23
home-modules/games.nix
Executable file → Normal file
@@ -1,7 +1,20 @@
|
||||
{ pkgs, lib, host, ... }:
|
||||
lib.mkIf (host != "NxACE")
|
||||
{ pkgs, ... }@all: with all;
|
||||
lib.mkIf (hyper.host == "NxNORTH")
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
mindustry-wayland
|
||||
];
|
||||
home = {
|
||||
packages = (with pkgs.unstable; [
|
||||
protonup
|
||||
mangohud
|
||||
|
||||
prismlauncher
|
||||
|
||||
# heroic
|
||||
|
||||
# mindustry-wayland
|
||||
]) ++ [ pkgs.heroic ];
|
||||
sessionVariables = {
|
||||
STEAM_EXTRA_COMPAT_TOOLS_PATHS = "\${HOME}/.steam/root/compatibilitytools.d";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
4
home-modules/gestures.nix
Executable file → Normal file
4
home-modules/gestures.nix
Executable file → Normal file
@@ -1,5 +1,5 @@
|
||||
{ pkgs, lib, host, ... }:
|
||||
lib.mkIf (host == "NxXPS")
|
||||
{ pkgs, ... }@all: with all;
|
||||
lib.mkIf (hyper.host == "NxXPS")
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
libinput-gestures
|
||||
|
||||
48
home-modules/ghostty.nix
Normal file
48
home-modules/ghostty.nix
Normal file
@@ -0,0 +1,48 @@
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
programs.ghostty = {
|
||||
enable = true;
|
||||
package = pkgs.ghostty;
|
||||
settings = with rice.color; {
|
||||
background = background;
|
||||
background-opacity = builtins.toString rice.transparency;
|
||||
clipboard-paste-protection = false;
|
||||
clipboard-read = "allow";
|
||||
clipboard-trim-trailing-spaces = true;
|
||||
confirm-close-surface = false;
|
||||
cursor-color = special.bright;
|
||||
cursor-opacity = 0.8;
|
||||
font-family = "${rice.font.code.name}";
|
||||
foreground = foreground;
|
||||
keybind = [
|
||||
"ctrl+comma=reload_config"
|
||||
"ctrl+equal=increase_font_size:1"
|
||||
"ctrl+minus=decrease_font_size:1"
|
||||
"ctrl+shift+v=paste_from_clipboard"
|
||||
];
|
||||
palette = with rice; [
|
||||
"0=${black.base}"
|
||||
"8=${black.bright}"
|
||||
"1=${red.base}"
|
||||
"9=${red.bright}"
|
||||
"2=${green.base}"
|
||||
"10=${green.bright}"
|
||||
"3=${yellow.base}"
|
||||
"11=${yellow.bright}"
|
||||
"4=${blue.base}"
|
||||
"12=${blue.bright}"
|
||||
"5=${magenta.base}"
|
||||
"13=${magenta.bright}"
|
||||
"6=${cyan.base}"
|
||||
"14=${cyan.bright}"
|
||||
"7=${white.base}"
|
||||
"15=${white.bright}"
|
||||
];
|
||||
selection-background = accent.base;
|
||||
selection-foreground = background;
|
||||
window-decoration = false;
|
||||
window-padding-x = 5;
|
||||
window-padding-y = 5;
|
||||
};
|
||||
};
|
||||
}
|
||||
10
home-modules/gimp.nix
Normal file
10
home-modules/gimp.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
# (gimp-with-plugins.override {
|
||||
# plugins = with gimpPlugins; [ bimp ];
|
||||
# })
|
||||
gimp
|
||||
];
|
||||
}
|
||||
|
||||
42
home-modules/git.nix
Executable file → Normal file
42
home-modules/git.nix
Executable file → Normal file
@@ -1,42 +1,15 @@
|
||||
{ pkgs, rice, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
git
|
||||
delta
|
||||
|
||||
(pkgs.writeShellScriptBin "git_monitor" ''
|
||||
#!/bin/bash
|
||||
|
||||
# List of directories to check
|
||||
directories=(
|
||||
"$HOME/nix-dots"
|
||||
"$HOME/obsidian-vault"
|
||||
"$HOME/Pictures/wallpapers"
|
||||
)
|
||||
echo ""
|
||||
for dir in "''${directories[@]}"; do
|
||||
if [ -d "$dir" ]; then
|
||||
cd "$dir" || { echo "Cannot change directory to $dir"; exit 1; }
|
||||
echo "$(echo $dir | rev | cut -f 1 -d'/' | rev):"
|
||||
if [[ $* == *--fetch* ]]; then
|
||||
git fetch
|
||||
fi
|
||||
gst
|
||||
echo ""
|
||||
cd - > /dev/null || { echo "Cannot change back to the original directory"; exit 1; }
|
||||
else
|
||||
echo "Directory $dir does not exist."
|
||||
fi
|
||||
done
|
||||
'')
|
||||
|
||||
(writeShellScriptBin "gst" "awk -vOFS='' 'NR==FNR {all[i++] = $0; difffiles[$1] = $0; next;} ! ($2 in difffiles) {print; next;} {gsub($2, difffiles[$2]); print;} END {if (NR != FNR) {exit;} for (i in all) {print all[i];}}' <(git diff --color --stat=$(($(tput cols) - 3)) HEAD | sed '$d; s/^ //') <(git -c color.status=always status -sb)")
|
||||
];
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
package = pkgs.gitFull;
|
||||
userName = ''Lennart J. Kurzweg (Nx2)'';
|
||||
userEmail = "git@nx2.site";
|
||||
userEmail = "git@${hyper.domain}";
|
||||
delta = {
|
||||
enable = true;
|
||||
options = {
|
||||
@@ -46,6 +19,15 @@
|
||||
whitespace-error-style = "22 reverse";
|
||||
};
|
||||
};
|
||||
extraConfig = {
|
||||
credential = {
|
||||
"https://git.da.dicos.de".username = lib.mkIf (hyper.host =="NxWSL") "lkurzweg";
|
||||
"https://git.da.dicos.de".password = lib.mkIf (hyper.host =="NxWSL") "Test";
|
||||
};
|
||||
url."ssh://git@git.da.dicos.de/".insteadOf = lib.mkIf (hyper.host =="NxWSL") "https://git.da.dicos.de/";
|
||||
url."ssh://git@github.com/".insteadOf = "https://github.com/";
|
||||
pull.rebase = false; # true
|
||||
};
|
||||
};
|
||||
programs.lazygit = {
|
||||
enable = true;
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
{ pkgs, pkgs-unstable, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
# there also is a system module
|
||||
home.packages = (with pkgs; [
|
||||
home.packages = with pkgs; [
|
||||
gnupg
|
||||
gpg-tui
|
||||
]) ++ ( with pkgs-unstable; [
|
||||
pinentry-all
|
||||
]);
|
||||
];
|
||||
|
||||
# services.pcscd.enable = true;
|
||||
services.gpg-agent = let
|
||||
min2sec = min: (min * 60);
|
||||
in {
|
||||
|
||||
194
home-modules/gtk.nix
Executable file → Normal file
194
home-modules/gtk.nix
Executable file → Normal file
@@ -1,4 +1,5 @@
|
||||
{ config, pkgs, lib, rice, user, ... }: let
|
||||
{ pkgs, ... }@all: with all;
|
||||
let
|
||||
# theme-name = "Colloid-Pink-Dark-Compact";
|
||||
# theme-package = pkgs.colloid-gtk-theme.override {
|
||||
# themeVariants = [ "pink" ];
|
||||
@@ -6,18 +7,134 @@
|
||||
# sizeVariants = [ "compact" ];
|
||||
# tweaks = [ "black" ];
|
||||
# };
|
||||
theme-name = "catppuccin-macchiato-pink-compact+rimless,black";
|
||||
theme-package = pkgs.catppuccin-gtk.override {
|
||||
accents = [ "pink" ];
|
||||
size = "compact";
|
||||
tweaks = [ "rimless" "black" ];
|
||||
variant = "macchiato";
|
||||
};
|
||||
|
||||
# theme-name = "catppuccin-macchiato-pink-compact+rimless,black";
|
||||
# theme-package = pkgs.catppuccin-gtk.override {
|
||||
# accents = [ "pink" ];
|
||||
# size = "compact";
|
||||
# tweaks = [ "rimless" "black" ];
|
||||
# variant = "macchiato";
|
||||
# };
|
||||
theme-name = "Materia-dark-compact";
|
||||
theme-package = pkgs.materia-theme-transparent;
|
||||
# theme-name = "numix";
|
||||
# theme-name = "adw-gtk3-dark";
|
||||
# theme-package = pkgs.adw-gtk3;
|
||||
# theme-package = let
|
||||
# theme-string = with rice.color; let
|
||||
# h = rice.lib.nohash;
|
||||
# d = rice.lib.float-to-drune;
|
||||
# in /* ini */ ''
|
||||
# BG=${h background}
|
||||
# FG=${h foreground}
|
||||
# SEL_BG=${h accent.base}
|
||||
# SEL_FG=${h black.base}
|
||||
# ACCENT_BG=${h accent.base}
|
||||
# TXT_BG=${h black.dark}
|
||||
# TXT_FG=${h foreground}
|
||||
# HDR_BG=${h background}
|
||||
# HDR_FG=${h foreground}
|
||||
# BTN_BG=${h accent.dark}
|
||||
# BTN_FG=${h foreground}
|
||||
# HDR_BTN_BG=${h accent.dark}
|
||||
# HDR_BTN_FG=${h foreground}
|
||||
# WM_BORDER_FOCUS=${h border}
|
||||
# WM_BORDER_UNFOCUS=${h accent.dark}
|
||||
# ROUNDNESS=${builtins.toString rice.rounding}
|
||||
# ROUNDNESS_GTK2_HIDPI=${builtins.toString rice.rounding}
|
||||
# OUTLINE_WIDTH=${builtins.toString rice.border-width}
|
||||
# BTN_OUTLINE_OFFSET=-3
|
||||
# BTN_OUTLINE_WIDTH=1
|
||||
# SPACING=${builtins.toString rice.gap-size}
|
||||
# GRADIENT=0.0
|
||||
# CINNAMON_OPACITY=${builtins.toString rice.transparency}
|
||||
# INACTIVE_FG=${h foreground}
|
||||
# INACTIVE_TXT_FG=${h foreground}
|
||||
# INACTIVE_HDR_FG=${h foreground}
|
||||
# ICONS_DARK=${h accent.dark}
|
||||
# ICONS_MEDIUM=${h accent.base}
|
||||
# ICONS_LIGHT=${h accent.bright}
|
||||
# ICONS_LIGHT_FOLDER=${h accent.base}
|
||||
# ICONS_SYMBOLIC_ACTION=${h accent.base}
|
||||
# ICONS_SYMBOLIC_PANEL=${h accent.base}
|
||||
# ICONS_STYLE=icons_papirus
|
||||
# CARET1_FG=${h white.dark}
|
||||
# CARET2_FG=${h black.bright}
|
||||
# CARET_SIZE=0.04
|
||||
# MENU_BG=${h accent.dark}
|
||||
# MENU_FG=${h foreground}
|
||||
# OUTLINE_WIDTH=${builtins.toString rice.border-width}
|
||||
# SPOTIFY_PROTO_BG=${h accent.dark}
|
||||
# SPOTIFY_PROTO_FG=${h foreground}
|
||||
# SPOTIFY_PROTO_SEL=${h blue.base}
|
||||
# BASE16_GENERATE_DARK=False
|
||||
# BASE16_INVERT_TERMINAL=False
|
||||
# BASE16_MILD_TERMINAL=False
|
||||
# UNITY_DEFAULT_LAUNCHER_STYLE=False
|
||||
# '';
|
||||
# # theme-source-pkg = pkgs.materia-theme;
|
||||
# theme-source-pkg = pkgs.themix-gui;
|
||||
# in pkgs.stdenv.mkDerivation {
|
||||
# name = "oomox-gtk";
|
||||
# version = theme-source-pkg.version;
|
||||
# src = theme-source-pkg.src;
|
||||
# dontBuild = true;
|
||||
# nativeBuildInputs = with pkgs; [
|
||||
# glib
|
||||
# libxml2
|
||||
# bc
|
||||
# ];
|
||||
# buildInputs = with pkgs; [
|
||||
# gnome-themes-extra
|
||||
# gdk-pixbuf
|
||||
# librsvg
|
||||
# sassc
|
||||
# inkscape
|
||||
# optipng
|
||||
# ];
|
||||
# propagatedUserEnvPkgs = with pkgs; [
|
||||
# gtk-engine-murrine
|
||||
# ];
|
||||
# # installPhase = ''
|
||||
# # mkdir -p $out/share/themes/materia
|
||||
# # patchShebangs .
|
||||
# # ./change_color.sh -o materia -t $out/share/themes <(echo -e "${theme-string}")
|
||||
# # '';
|
||||
# installPhase = ''
|
||||
# mkdir -p $out/share/icons/icons_papirus
|
||||
# mkdir -p $out/share/icons/icons_numix
|
||||
# mkdir -p $out/share/icons/icons_suruplus
|
||||
# echo "${theme-string}" > $out/oomox.colors
|
||||
# pushd plugins/icons_papirus
|
||||
# patchShebangs .
|
||||
# ./change_color.sh -o icons_papirus -d $out/share/icons/icons_papirus $out/oomox.colors
|
||||
# popd
|
||||
# pushd plugins/icons_numix
|
||||
# patchShebangs .
|
||||
# ./change_color.sh -o icons_numix -d $out/share/icons/icons_numix $out/oomox.colors
|
||||
# popd
|
||||
# pushd plugins/icons_suruplus
|
||||
# patchShebangs .
|
||||
# ./change_color.sh -o icons_suruplus -d $out/share/icons/icons_suruplus $out/oomox.colors
|
||||
# popd
|
||||
# mkdir -p $out/share/themes/numix
|
||||
# pushd plugins/theme_oomox
|
||||
# patchShebangs .
|
||||
# HOME=$out ./change_color.sh -o numix -m all -t $out/share/themes $out/oomox.colors
|
||||
# popd
|
||||
# '';
|
||||
# meta = {
|
||||
# description = "custom theme utility";
|
||||
# homepage = "https://github.com/themix-project/themix-gui";
|
||||
# maintainers = [ ];
|
||||
# };
|
||||
# };
|
||||
in {
|
||||
home.packages = with pkgs; [
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
# gnome.gnome-themes-extra
|
||||
# gnome.adwaita-icon-theme
|
||||
gnome.gnome-tweaks
|
||||
adwaita-icon-theme
|
||||
gnome-tweaks
|
||||
gtk3
|
||||
gtk4
|
||||
# catppuccin-gtk
|
||||
@@ -25,45 +142,56 @@ in {
|
||||
] ++ [
|
||||
# pkgs-unstable.themix-gui
|
||||
];
|
||||
|
||||
|
||||
home.sessionVariables.GTK_THEME = theme-name;
|
||||
|
||||
sessionVariables.GTK_THEME = theme-name;
|
||||
pointerCursor = {
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
} // rice.cursor;
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = theme-name;
|
||||
package = theme-package;
|
||||
};
|
||||
gtk3.extraConfig = {
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
|
||||
gtk3 = {
|
||||
extraConfig.gtk-application-prefer-dark-theme = 1;
|
||||
# extraCss = with rice.color; /* css */ ''
|
||||
# wnck-pager {
|
||||
# color: ${black.bright};
|
||||
# background-color: ${background};
|
||||
# }
|
||||
|
||||
# wnck-pager:selected {
|
||||
# color: ${background};
|
||||
# background-color: ${accent.base};
|
||||
# }
|
||||
# '';
|
||||
# window.background {
|
||||
# background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency});
|
||||
# }
|
||||
# .background, .view, .surface, .frame, box, window.decoration, stack {
|
||||
# background-color: transparent;
|
||||
# }
|
||||
};
|
||||
gtk4.extraConfig = {
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
gtk4 = {
|
||||
extraConfig.gtk-application-prefer-dark-theme = 1;
|
||||
extraCss = config.gtk.gtk3.extraCss;
|
||||
};
|
||||
cursorTheme = rice.cursor;
|
||||
};
|
||||
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
} // rice.cursor;
|
||||
|
||||
xdg.configFile = {
|
||||
"gtk-4.0/assets".source = "${theme-package}/share/themes/${theme-name}/gtk-4.0/assets";
|
||||
"gtk-4.0/gtk.css".source = "${theme-package}/share/themes/${theme-name}/gtk-4.0/gtk.css";
|
||||
"gtk-4.0/gtk-dark.css".source = "${theme-package}/share/themes/${theme-name}/gtk-4.0/gtk-dark.css";
|
||||
"gtk-4.0/assets".source = "${theme-package}/share/themes/${theme-name}/gtk-3.20/assets";
|
||||
"gtk-4.0/gtk.css".source = "${theme-package}/share/themes/${theme-name}/gtk-3.20/gtk.css";
|
||||
"gtk-4.0/gtk-dark.css".source = "${theme-package}/share/themes/${theme-name}/gtk-3.20/gtk-dark.css";
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
dconf = {
|
||||
enable = true;
|
||||
settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
gtk-theme = theme-name;
|
||||
# gtk-theme = theme-name;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,23 +1,21 @@
|
||||
{ pkgs, pkgs-unstable,lib, rice, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
# nixfmt-classic # nix formater
|
||||
# nil # nix language server
|
||||
# nixd # specified in nixd.nix
|
||||
python311Packages.python-lsp-server
|
||||
ruff
|
||||
ruff-lsp
|
||||
pyright
|
||||
gopls
|
||||
delve
|
||||
jdt-language-server
|
||||
lldb # debugger for llvm stuff
|
||||
yaml-language-server # yaml
|
||||
marksman # markdown
|
||||
vale-ls # style-checker lsp (needs vale)
|
||||
ltex-ls # Ltex (language tool)
|
||||
] ++ (with pkgs-unstable; [
|
||||
vscode-langservers-extracted
|
||||
bash-language-server
|
||||
helix
|
||||
]);
|
||||
];
|
||||
sessionVariables = {
|
||||
EDITOR = "hx";
|
||||
VISUAL = "hx";
|
||||
@@ -26,57 +24,191 @@
|
||||
programs.helix = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
package = pkgs-unstable.helix;
|
||||
package = pkgs.unstable.helix;
|
||||
settings = {
|
||||
# theme = "base16_terminal";
|
||||
theme = "base16";
|
||||
editor = {
|
||||
scrolloff = 5;
|
||||
mouse = true;
|
||||
# default-yank-register = "\"";
|
||||
middle-click-paste = false;
|
||||
scroll-lines = 3;
|
||||
shell = ["sh" "-c"];
|
||||
line-number = "relative";
|
||||
cursorline = true;
|
||||
cursorcolumn = true;
|
||||
# continue-comments = false;
|
||||
auto-completion = true;
|
||||
# path-completion = true;
|
||||
auto-format = false;
|
||||
idle-timeout = 250;
|
||||
completion-timeout = 5;
|
||||
preview-completion-insert = true;
|
||||
completion-trigger-len = 1;
|
||||
auto-info = true;
|
||||
true-color = true; # is detected automatically if set to false
|
||||
undercurl = false; # is detected automatically if set to false
|
||||
rulers = [];
|
||||
bufferline = "always";
|
||||
color-modes = true;
|
||||
text-width = 120;
|
||||
workspace-lsp-roots = [];
|
||||
default-line-ending = "native";
|
||||
insert-final-newline = false;
|
||||
popup-border = "all";
|
||||
indent-heuristic = "hybrid";
|
||||
jump-label-alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
# clip-board-provider = # selected automatically
|
||||
# end-of-line-diagnostics = "hint";
|
||||
statusline = {
|
||||
left = [ "mode"
|
||||
"spinner"
|
||||
"file-name"
|
||||
"read-only-indicator"
|
||||
"file-type"
|
||||
"version-control"
|
||||
];
|
||||
center = [
|
||||
"position-percentage"
|
||||
"total-line-numbers"
|
||||
"register"
|
||||
];
|
||||
right = [
|
||||
"spinner"
|
||||
"diagnostics"
|
||||
"selections"
|
||||
"primary-selection-length"
|
||||
"register"
|
||||
"position"
|
||||
"file-encoding"
|
||||
];
|
||||
# separator = " ";
|
||||
mode = {
|
||||
normal = "NORMAL";
|
||||
insert = "INSERT";
|
||||
select = "SELECT";
|
||||
};
|
||||
};
|
||||
lsp = {
|
||||
enable = true;
|
||||
display-messages = false;
|
||||
auto-signature-help = true;
|
||||
display-inlay-hints = true;
|
||||
};
|
||||
cursor-shape = {
|
||||
normal = "block";
|
||||
insert = "bar";
|
||||
select = "underline";
|
||||
};
|
||||
soft-wrap = {
|
||||
enable = true;
|
||||
file-picker = {
|
||||
hidden = false; # Enables ignoring hidden files
|
||||
follow-symlinks = true; # Follow symlinks instead of ignoring them
|
||||
deduplicate-links = true; # Ignore symlinks that point at files already shown in the picker
|
||||
parents = true; # Enables reading ignore files from parent directories
|
||||
ignore = true; # Enables reading .ignore files
|
||||
git-ignore = true; # Enables reading .gitignore files
|
||||
git-global = true; # Enables reading global .gitignore, whose path is specified in git's config: core.excludesfile option
|
||||
git-exclude = true; # Enables reading .git/info/exclude files
|
||||
# max-depth unset = ; # Set with an integer value for maximum depth to recurse
|
||||
};
|
||||
auto-pairs = {
|
||||
"(" = ")";
|
||||
"{" = "}";
|
||||
"[" = "]";
|
||||
"\"" = "\"";
|
||||
"`" = "`";
|
||||
"<" = ">";
|
||||
# "/* " = " */";
|
||||
};
|
||||
auto-save = {
|
||||
focus-lost = false;
|
||||
after-delay = {
|
||||
enable = false;
|
||||
timeout = 3000;
|
||||
};
|
||||
};
|
||||
search = {
|
||||
smart-case = true;
|
||||
wrap-around = true;
|
||||
};
|
||||
whitespace = {
|
||||
render = {
|
||||
skip-levels = "none";
|
||||
space = "none";
|
||||
nbsp = "none";
|
||||
nnbsp = "none";
|
||||
tab = "none";
|
||||
newline = "none";
|
||||
tabpad = "none";
|
||||
};
|
||||
characters = {
|
||||
skip-levels = 1;
|
||||
space = "·";
|
||||
nbsp = "⍽";
|
||||
nnbsp = "␣";
|
||||
tab = "→";
|
||||
newline = "⏎";
|
||||
tabpad = "·";
|
||||
};
|
||||
};
|
||||
line-number = "relative";
|
||||
color-modes = true;
|
||||
bufferline = "always";
|
||||
popup-border = "all";
|
||||
completion-trigger-len = 1;
|
||||
completion-timeout = 5;
|
||||
file-picker.hidden = false;
|
||||
middle-click-paste = false;
|
||||
cursorline = true;
|
||||
indent-guides = {
|
||||
render = true;
|
||||
character = "╎";
|
||||
skip-levels = 0;
|
||||
};
|
||||
lsp.display-inlay-hints = true;
|
||||
statusline.center = [ "position-percentage" ];
|
||||
true-color = true;
|
||||
whitespace.characters = {
|
||||
newline = "↴";
|
||||
tab = "⇥";
|
||||
skip-levels = 1;
|
||||
gutters = [
|
||||
"diagnostics"
|
||||
"spacer"
|
||||
"line-numbers"
|
||||
"spacer"
|
||||
"diff"
|
||||
];
|
||||
# line-numbers = {};
|
||||
# layout.minwidth = 3;
|
||||
# diagnostics = {};
|
||||
# diff = {};
|
||||
# spacer = {};
|
||||
soft-wrap = {
|
||||
enable = true;
|
||||
max-wrap = 20;
|
||||
max-indent-retain = 40;
|
||||
wrap-indicator = "↪";
|
||||
wrap-at-text-width = false;
|
||||
};
|
||||
smart-tab = {
|
||||
enable = false;
|
||||
supersede-menu = false;
|
||||
};
|
||||
inline-diagnostics = {
|
||||
cursor-line = "warning";
|
||||
other-lines = "disable";
|
||||
prefix-len = 1;
|
||||
# max-wrap = set above
|
||||
max-diagnostics = 20;
|
||||
};
|
||||
};
|
||||
keys.normal = {
|
||||
keys = {
|
||||
normal = {
|
||||
"C-g" = [ ":new" ":insert-output lazygit" ":buffer-close!" ":redraw" ];
|
||||
"C-i" = [ ":pipe fgl" "toggle_comments" ];
|
||||
"A-`" = [ "no_op" ];
|
||||
"`" = [ "no_op" ];
|
||||
"ö" = { "s" = [ "switch_case" ]; "u" = [ "switch_to_uppercase" ]; "l" = [ "switch_to_lowercase" ]; };
|
||||
};
|
||||
select = {
|
||||
"ö" = { "s" = [ "switch_case" ]; "u" = [ "switch_to_uppercase" ]; "l" = [ "switch_to_lowercase" ]; };
|
||||
};
|
||||
keys.normal."ö" = {
|
||||
"s" = [ "switch_case" ];
|
||||
"u" = [ "switch_to_uppercase" ];
|
||||
"l" = [ "switch_to_lowercase" ];
|
||||
};
|
||||
};
|
||||
languages = {
|
||||
language = [
|
||||
{
|
||||
name = "nix";
|
||||
language-servers = [ "nixd" "nil" ];
|
||||
language-servers = [
|
||||
"nixd"
|
||||
# "llm"
|
||||
];
|
||||
}
|
||||
{
|
||||
name = "latex";
|
||||
@@ -89,7 +221,6 @@
|
||||
file-types = [ "md" "MD" ];
|
||||
scope = "text.<name>";
|
||||
}
|
||||
|
||||
{
|
||||
name = "python";
|
||||
language-servers = [ "pyright" "ruff" ];
|
||||
@@ -122,6 +253,16 @@
|
||||
}];
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "go";
|
||||
language-servers = [
|
||||
"gopls"
|
||||
# "llm"
|
||||
];
|
||||
# formatter = {
|
||||
# command = "gofmt";
|
||||
# };
|
||||
}
|
||||
];
|
||||
language-server = {
|
||||
"nixd" = {
|
||||
@@ -137,20 +278,19 @@
|
||||
command = "ruff-lsp";
|
||||
config.settings.args = [
|
||||
# Set line length
|
||||
# "--line-length"
|
||||
# "79"
|
||||
|
||||
# Enable some ruff rules
|
||||
# "--select"
|
||||
# (
|
||||
# "F,W,E,I,N,D200,D201,D202,D203,D204,D205,D206,D207,D208,D209,D210,D211,"
|
||||
# + "D212,D213,D214,D215,D300,D301,D400,D401,D402,D403,D404,D405,D406,"
|
||||
# + "D407,D408,D409,D410,D411,D412,D413,D414,D415,D416,D417,D418,D419,"
|
||||
# + "UP,YTT,TRIO,ASYNC,B,A,COM,C4,DTZ,T10,DJ,EXE,FA,ISC,ICN001,G010,"
|
||||
# + "G101,G201,G202,INP,PIE,Q,RSE,RET,SLOT,SIM,TCH,INT,ARG,PTH,TD001,"
|
||||
# + "TD004,TD005,TD006,TD007,PD,PL,TRY004,TRY200,TRY201,TRY302,TRY400,"
|
||||
# + "TRY401,FLY,NPY,AIR,PERF,FURB,LOG,RUF"
|
||||
# )
|
||||
"--line-length"
|
||||
"240"
|
||||
# Enable custom ruff rules
|
||||
# "--select" lib.concatStringsSep [ ]
|
||||
];
|
||||
};
|
||||
"llm" = {
|
||||
command = lib.getExe pkgs.helix-gpt;
|
||||
args = [
|
||||
"--handler"
|
||||
"ollama"
|
||||
"--ollamaModel"
|
||||
"codellama:7b"
|
||||
];
|
||||
};
|
||||
};
|
||||
@@ -159,15 +299,15 @@
|
||||
base16 = with rice.color; {
|
||||
"attributes" = foreground;
|
||||
"comment" = {
|
||||
"fg" = white.dark;
|
||||
"modifiers" = [ "italic" ];
|
||||
fg = black.bright;
|
||||
modifiers = [ "italic" ];
|
||||
};
|
||||
"constant" = accent.bright;
|
||||
"constant.character.escape" = special.bright;
|
||||
"constant.numeric" = foreground;
|
||||
"constructor" = weird.base;
|
||||
"debug" = yellow.base;
|
||||
"diagnostic.modifiers" = [ "underlined" ];
|
||||
"diagnostic.modifiers" = [ "underline" ];
|
||||
"diff.delta" = blue.bright;
|
||||
"diff.minus" = negative.bright;
|
||||
"diff.plus" = positive.bright;
|
||||
@@ -176,6 +316,7 @@
|
||||
"hint" = tertiary.bright;
|
||||
"info" = foreground;
|
||||
"keyword" = special.base;
|
||||
"keyword.modifiers" = [ "italic" ];
|
||||
"label" = foreground;
|
||||
"namespace" = weird.bright;
|
||||
"operator" = foreground;
|
||||
@@ -188,131 +329,127 @@
|
||||
|
||||
"markup.heading" = accent.base;
|
||||
"markup.bold" = {
|
||||
"fg" = tertiary.bright;
|
||||
"modifiers" = [ "bold" ];
|
||||
fg = tertiary.bright;
|
||||
modifiers = [ "bold" ];
|
||||
};
|
||||
"italic" = {
|
||||
"fg" = secondary.bright;
|
||||
"modifiers" = [ "italic" ];
|
||||
fg = secondary.bright;
|
||||
modifiers = [ "italic" ];
|
||||
};
|
||||
"markup.linktext" = accent.base;
|
||||
"markup.linkurl" = {
|
||||
"fg" = tertiary.dark;
|
||||
"modifiers" = [ "underlined" ];
|
||||
fg = tertiary.dark;
|
||||
modifiers = [ "underlined" ];
|
||||
};
|
||||
"markup.list" = accent.bright;
|
||||
"markup.quote" = weird.bright;
|
||||
"markup.raw" = special.bright;
|
||||
"markup.strikethrough" = {
|
||||
"modifiers" = [ "crossed_out" ];
|
||||
};
|
||||
"markup.strikethrough".modifiers = [ "crossed_out" ];
|
||||
|
||||
"diagnostic.hint" = {
|
||||
"underline" = { style = "curl"; };
|
||||
};
|
||||
"diagnostic.info" = {
|
||||
"underline" = { style = "curl"; };
|
||||
};
|
||||
"diagnostic.warning" = {
|
||||
"underline" = { style = "curl"; };
|
||||
};
|
||||
"diagnostic.error" = {
|
||||
"underline" = { style = "curl"; };
|
||||
};
|
||||
"diagnostic.hint".underline.style = "curl";
|
||||
"diagnostic.info".underline.style = "curl";
|
||||
"diagnostic.warning".underline.style = "curl";
|
||||
"diagnostic.error".underline.style = "curl";
|
||||
|
||||
"ui.background" = { # general background of the editor window
|
||||
"bg" = background;
|
||||
# bg = background;
|
||||
};
|
||||
"ui.bufferline" = { # the top line ("tab"-line)
|
||||
"fg" = accent.base;
|
||||
"bg" = black.base;
|
||||
fg = accent.base;
|
||||
bg = black.base;
|
||||
};
|
||||
"ui.bufferline.active" = { # the active "tab"
|
||||
"fg" = background;
|
||||
"bg" = accent.base;
|
||||
"modifiers" = [ "bold" ];
|
||||
fg = background;
|
||||
bg = accent.base;
|
||||
modifiers = [ "bold" ];
|
||||
};
|
||||
"ui.cursor" = { # the cursor in Normal mode
|
||||
"fg" = foreground;
|
||||
"modifiers" = [ "reversed" ];
|
||||
fg = foreground;
|
||||
modifiers = [ "reversed" ];
|
||||
};
|
||||
"ui.cursorline.primary" = { # the line on which the cursor is on
|
||||
"bg" = black.base;
|
||||
bg = black.base;
|
||||
};
|
||||
"ui.cursor.match" = { # Matching bracket etc.
|
||||
"bg" = green.dark;
|
||||
"modifiers" = [ ];
|
||||
bg = green.dark;
|
||||
modifiers = [ ];
|
||||
};
|
||||
"ui.gutter" = {
|
||||
"bg" = black.base;
|
||||
bg = black.base;
|
||||
};
|
||||
"ui.help" = {
|
||||
"fg" = green.base;
|
||||
"bg" = black.base;
|
||||
fg = green.base;
|
||||
bg = black.base;
|
||||
};
|
||||
"ui.linenr" = {
|
||||
"fg" = white.dark;
|
||||
"bg" = black.base;
|
||||
fg = white.dark;
|
||||
bg = black.base;
|
||||
};
|
||||
"ui.linenr.selected" = {
|
||||
"fg" = accent.bright;
|
||||
"modifiers" = [ "bold" ];
|
||||
fg = accent.bright;
|
||||
modifiers = [ "bold" ];
|
||||
};
|
||||
"ui.menu" = {
|
||||
"fg" = accent.base;
|
||||
"bg" = black.base;
|
||||
fg = accent.base;
|
||||
bg = black.base;
|
||||
};
|
||||
"ui.menu.scroll" = {
|
||||
"fg" = yellow.dark;
|
||||
"bg" = background;
|
||||
fg = yellow.dark;
|
||||
bg = background;
|
||||
};
|
||||
"ui.menu.selected" = {
|
||||
"fg" = red.base;
|
||||
"bg" = blue.dark;
|
||||
fg = red.base;
|
||||
bg = blue.dark;
|
||||
};
|
||||
"ui.popup" = {
|
||||
"bg" = black.base;
|
||||
bg = black.base;
|
||||
};
|
||||
"ui.selection" = {
|
||||
"bg" = white.dark;
|
||||
bg = white.dark;
|
||||
};
|
||||
"ui.selection.primary" = {
|
||||
"bg" = black.bright;
|
||||
bg = black.bright;
|
||||
};
|
||||
"ui.statusline" = {
|
||||
"fg" = blue.bright;
|
||||
"bg" = black.base;
|
||||
fg = blue.bright;
|
||||
bg = black.base;
|
||||
};
|
||||
"ui.statusline.inactive" = {
|
||||
"fg" = red.bright;
|
||||
"bg" = red.dark;
|
||||
fg = red.bright;
|
||||
bg = red.dark;
|
||||
};
|
||||
"ui.statusline.insert" = {
|
||||
"fg" = green.bright;
|
||||
"bg" = green.dark;
|
||||
fg = green.bright;
|
||||
bg = green.dark;
|
||||
};
|
||||
"ui.statusline.normal" = {
|
||||
"fg" = yellow.bright;
|
||||
"bg" = yellow.dark;
|
||||
fg = yellow.bright;
|
||||
bg = yellow.dark;
|
||||
};
|
||||
"ui.statusline.select" = {
|
||||
"fg" = cyan.bright;
|
||||
"bg" = cyan.dark;
|
||||
fg = cyan.bright;
|
||||
bg = cyan.dark;
|
||||
};
|
||||
"ui.text" = foreground;
|
||||
"ui.text.focus" = accent.base;
|
||||
"ui.virtual.indent-guide" = {
|
||||
"fg" = black.bright;
|
||||
fg = black.bright;
|
||||
};
|
||||
"ui.virtual.inlay-hint" = {
|
||||
"fg" = weird.bright;
|
||||
"bg" = weird.dark;
|
||||
fg = background;
|
||||
bg = tertiary.dark;
|
||||
};
|
||||
"ui.virtual.ruler" = {
|
||||
"bg" = background;
|
||||
bg = background;
|
||||
};
|
||||
"ui.virtual.jump-label" = {
|
||||
fg = special.base;
|
||||
underline = {
|
||||
style = "dotted";
|
||||
};
|
||||
};
|
||||
"ui.window" = {
|
||||
"bg" = black.base;
|
||||
bg = black.base;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
148
home-modules/hyprland-autoname-workspaces.nix
Executable file → Normal file
148
home-modules/hyprland-autoname-workspaces.nix
Executable file → Normal file
@@ -1,61 +1,83 @@
|
||||
{ pkgs, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home = {
|
||||
packages = with pkgs; [ hyprland-autoname-workspaces ];
|
||||
file.".config/hyprland-autoname-workspaces/config.toml".text = ''
|
||||
version = "1.1.14"
|
||||
file.".config/hyprland-autoname-workspaces/config.toml".text = let
|
||||
icons = /* toml */ ''
|
||||
DEFAULT = "{class}"
|
||||
"Alacritty" = ""
|
||||
"Bitwarden" = ""
|
||||
"blueman-manager" = ""
|
||||
"chatterino" = ""
|
||||
"Chromium" = ""
|
||||
"chromium-browser" = ""
|
||||
"code" = ""
|
||||
"code-oss" = ""
|
||||
"codium" = ""
|
||||
"codium-url-handler" = ""
|
||||
"com.mitchellh.ghostty" = ""
|
||||
"com.obsproject.Studio" = ""
|
||||
"discord" = ""
|
||||
"Element" = ""
|
||||
"epicgameslauncher.exe" = ""
|
||||
".*.exe" = ""
|
||||
"firefox" = ""
|
||||
"galaxyclient.exe" = ""
|
||||
"\\.?[gG]imp-.*" = ""
|
||||
"F?imv.*" = ""
|
||||
"KiCad" = ""
|
||||
"kitty" = ""
|
||||
"libreoffice-calc" = ""
|
||||
"libreoffice-writer" = ""
|
||||
"lutris" = ""
|
||||
"mpv" = ""
|
||||
"obsidian" = ""
|
||||
"org.inkscape.Inkscape" = ""
|
||||
"org.remmina.Remmina" = ""
|
||||
"org.prismlauncher.*" = ""
|
||||
"pavucontrol" = ""
|
||||
"pcbnew" = ""
|
||||
"Signal" = ""
|
||||
"spotify" = ""
|
||||
"Spotify" = ""
|
||||
"steam" = ""
|
||||
"thunar" = ""
|
||||
"thunderbird" = ""
|
||||
"Tor Browser" = ""
|
||||
"vesktop" = ""
|
||||
"virt-manager" = ""
|
||||
"VirtualBox" = ""
|
||||
"VirtualBox Machine" = ""
|
||||
"VirtualBox Manager" = ""
|
||||
"VSCodium" = ""
|
||||
"Xsane" = ""
|
||||
"zathura" = ""
|
||||
"zoom" = ""
|
||||
'';
|
||||
in /* toml */ ''
|
||||
version = "1.1.15"
|
||||
|
||||
[format]
|
||||
dedup = false
|
||||
dedup_inactive_fullscreen = false
|
||||
delim = " "
|
||||
workspace = "{id}:{clients}"
|
||||
workspace_empty = "{id}"
|
||||
client = "{icon}"
|
||||
client_fullscreen = "F{icon}"
|
||||
client_active = "<u>{icon}</u>"
|
||||
client_dup = "{icon}x{counter}"
|
||||
client_dup_active = "<u>{icon}</u>{delim}{icon}x{counter_unfocused}"
|
||||
client_dup_fullscreen = "F{icon}{delim}{icon}x{counter_unfocused}"
|
||||
|
||||
[exclude]
|
||||
"steam" = "^(Friends List.*)?$"
|
||||
"fcitx" = ".*"
|
||||
|
||||
[class]
|
||||
VirtualBox = ""
|
||||
steam = ""
|
||||
"VirtualBox Manager" = ""
|
||||
"com.obsproject.Studio" = ""
|
||||
"[Ff]irefox" = ""
|
||||
"[Tt]hunderbird" = ""
|
||||
pcbnew = ""
|
||||
".*.exe" = ""
|
||||
Element = ""
|
||||
Signal = ""
|
||||
Gimp = ""
|
||||
VSCodium = ""
|
||||
"[sS]potify" = ""
|
||||
virt-manager = ""
|
||||
lutris = ""
|
||||
DEFAULT = "{class}"
|
||||
"epicgameslauncher.exe" = ""
|
||||
"[Cc]ode" = ""
|
||||
"galaxyclient.exe" = ""
|
||||
pavucontrol = ""
|
||||
"Tor Browser" = ""
|
||||
mpv = ""
|
||||
chatterino = ""
|
||||
libreoffice-writer = ""
|
||||
kitty = ""
|
||||
"cyberpunk2077.exe" = ""
|
||||
KiCad = ""
|
||||
"[tT]hunar" = ""
|
||||
"riotclientux.exe" = ""
|
||||
libreoffice-calc = ""
|
||||
"org.remmina.Remmina" = ""
|
||||
"org.inkscape.Inkscape" = ""
|
||||
"VirtualBox Machine" = ""
|
||||
Bitwarden = ""
|
||||
"[gG]imp-.*" = ""
|
||||
Chromium = ""
|
||||
obsidian = ""
|
||||
"leagueclientux.exe" = ""
|
||||
zathura = ""
|
||||
code-oss = ""
|
||||
codium-url-handler = ""
|
||||
discord = ""
|
||||
vesktop = ""
|
||||
blueman-manager = ""
|
||||
Alacritty = ""
|
||||
zoom = ""
|
||||
spotify = ""
|
||||
${icons}
|
||||
|
||||
[class_active]
|
||||
"(?i)ExampleOneTerm" = "icon"
|
||||
|
||||
[initial_class]
|
||||
|
||||
@@ -73,35 +95,11 @@
|
||||
|
||||
[initial_title_in_class]
|
||||
|
||||
[initial_title]
|
||||
"Spotify Premium" = ""
|
||||
|
||||
[initial_title_in_class_active]
|
||||
|
||||
[initial_title_in_initial_class]
|
||||
|
||||
[initial_title_in_initial_class_active]
|
||||
|
||||
[exclude]
|
||||
aProgram = "^$"
|
||||
"" = "^$"
|
||||
"(?i)fcitx" = ".*"
|
||||
"[Ss]team" = "^(Friends List.*)?$"
|
||||
"explorer.exe" = ".*"
|
||||
"(?i)TestApp" = ""
|
||||
|
||||
[format]
|
||||
dedup = false
|
||||
dedup_inactive_fullscreen = false
|
||||
delim = " "
|
||||
workspace = "{id}:{clients}"
|
||||
workspace_empty = "{id}"
|
||||
client = "{icon}"
|
||||
client_fullscreen = "{icon}"
|
||||
client_active = "{icon}"
|
||||
client_dup = "{icon}{counter_sup}"
|
||||
client_dup_active = "*{icon}*{delim}{icon}{counter_unfocused_sup}"
|
||||
client_dup_fullscreen = "[{icon}]{delim}{icon}{counter_unfocused_sup}"
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
704
home-modules/hyprland.nix
Executable file → Normal file
704
home-modules/hyprland.nix
Executable file → Normal file
@@ -1,67 +1,34 @@
|
||||
{config, pkgs, pkgs-unstable, inputs, host, user, nvidia, rice, lib, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
let
|
||||
animation-speed = "5";
|
||||
transparency = builtins.toString rice.transparency;
|
||||
terminal = "ghostty";
|
||||
terminal-exec = "ghostty --command=";
|
||||
monitors = {
|
||||
xps = {
|
||||
main = {
|
||||
name = "eDP-1";
|
||||
resolution = "1920x1200";
|
||||
position = "0x0";
|
||||
scale = "1.0";
|
||||
};
|
||||
second = {
|
||||
name = "DP-3";
|
||||
resolution = "1920x1080";
|
||||
position = "1920x0";
|
||||
scale = "1.0";
|
||||
};
|
||||
main = { name = "eDP-1"; resolution = "1920x1200"; position = "0x1080"; scale = "1.0"; };
|
||||
second = { name = "desc:Sony SONY TV 0x01010101"; resolution = "1920x1080"; position = "0x0"; scale = "1.0"; };
|
||||
};
|
||||
north = {
|
||||
main = {
|
||||
name = "DP-4";
|
||||
resolution = "2560x1440";
|
||||
position = "1920x0";
|
||||
scale = "1.0";
|
||||
};
|
||||
left = {
|
||||
name = "HDMI-A-2";
|
||||
resolution = "1920x1080";
|
||||
position = "0x360";
|
||||
scale = "1.0";
|
||||
};
|
||||
# right = {
|
||||
# name = "HDMI-A-2";
|
||||
# resolution = "1920x1080";
|
||||
# position = "4480x360";
|
||||
# scale = "1.0";
|
||||
# };
|
||||
main = { name = "desc:Iiyama North America PL3270Q na"; resolution = "2560x1440"; position = "1920x150"; scale = "1.0"; };
|
||||
left = { name = "desc:Philips Consumer Electronics Company 273PLPH AU11423002132"; resolution = "1920x1080"; position = "0x0"; scale = "1.0"; };
|
||||
# right = { name = "HDMI-A-2"; resolution = "1920x1080"; position = "4480x360"; scale = "1.0"; };
|
||||
};
|
||||
ace = {
|
||||
main = {
|
||||
name = "HDMI-A-1";
|
||||
resolution = "3840x2160";
|
||||
position = "0x0";
|
||||
scale = "2.0";
|
||||
};
|
||||
main = { name = "HDMI-A-1"; resolution = "3840x2160"; position = "0x0"; scale = "2.0"; };
|
||||
};
|
||||
};
|
||||
in {
|
||||
home.packages = (with pkgs; [
|
||||
# hyprland itself is a system package
|
||||
home.packages = with pkgs; [
|
||||
hyprland-protocols
|
||||
hyprlock
|
||||
hypridle
|
||||
hyprshot
|
||||
hyprpicker
|
||||
hyprcursor
|
||||
|
||||
grim
|
||||
slurp
|
||||
|
||||
# ]) ++ (with pkgs-unstable; [
|
||||
|
||||
]) ++ (with inputs; [
|
||||
hyprswitch.packages.x86_64-linux.default
|
||||
]);
|
||||
];
|
||||
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
@@ -75,15 +42,16 @@ in {
|
||||
# inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo
|
||||
# inputs.hyprfocus.packages.${pkgs.system}.hyprfocus
|
||||
# inputs.hycov.packages.${pkgs.system}.hycov
|
||||
# inputs.Hyprspace.packages.${pkgs.system}.Hyprspace
|
||||
pkgs.hyprlandPlugins.hyprspace
|
||||
# inputs.hyprspace.packages.${pkgs.system}.Hyprspace
|
||||
];
|
||||
|
||||
settings = {
|
||||
monitor =
|
||||
if host == "NxXPS" then (with monitors.xps; [
|
||||
if hyper.host == "NxXPS" then (with monitors.xps; [
|
||||
"${main.name}, ${main.resolution}, ${main.position}, ${main.scale}"
|
||||
"${second.name}, ${second.resolution}, ${second.position}, ${second.scale}"
|
||||
]) else (if host == "NxNORTH" then (with monitors.north; [
|
||||
]) else (if hyper.host == "NxNORTH" then (with monitors.north; [
|
||||
"${main.name}, ${main.resolution}, ${main.position}, ${main.scale}"
|
||||
"${left.name}, ${left.resolution}, ${left.position}, ${left.scale}"
|
||||
# "${right.name}, ${right.resolution}, ${right.position}, ${right.scale}"
|
||||
@@ -91,15 +59,13 @@ in {
|
||||
"${main.name}, ${main.resolution}, ${main.position}, ${main.scale}"
|
||||
]));
|
||||
|
||||
workspace =
|
||||
let
|
||||
d1 = if host == "NxXPS" then monitors.xps.main.name else (if host == "NxNORTH" then monitors.north.main.name else monitors.ace.main.name);
|
||||
d2 = if host == "NxXPS" then monitors.xps.second.name else (if host == "NxNORTH" then monitors.north.left.name else monitors.ace.main.name);
|
||||
d3 = if host == "NxXPS" then monitors.xps.main.name else (if host == "NxNORTH" then monitors.north.main.name else monitors.ace.main.name);
|
||||
# d3 = if host == "NxXPS" then monitors.xps.main.name else (if host == "NxNORTH" then monitors.north.right.name else monitors.ace.main.name);
|
||||
workspace = let
|
||||
d1 = if hyper.host == "NxXPS" then monitors.xps.main.name else (if hyper.host == "NxNORTH" then monitors.north.main.name else monitors.ace.main.name);
|
||||
d2 = if hyper.host == "NxXPS" then monitors.xps.second.name else (if hyper.host == "NxNORTH" then monitors.north.left.name else monitors.ace.main.name);
|
||||
d3 = if hyper.host == "NxXPS" then monitors.xps.main.name else (if hyper.host == "NxNORTH" then monitors.north.main.name else monitors.ace.main.name);
|
||||
# d3 = if hyper.host == "NxXPS" then monitors.xps.main.name else (if hyper.hyper.host == "NxNORTH" then monitors.north.right.name else monitors.ace.main.name);
|
||||
compact = "gapsin:0, gapsout:0, bordersize:1, rounding:false";
|
||||
in
|
||||
[
|
||||
in [
|
||||
"11, monitor:${d1}, default:true"
|
||||
"12, monitor:${d1}"
|
||||
"13, monitor:${d1}"
|
||||
@@ -120,8 +86,8 @@ in {
|
||||
"27, monitor:${d2}"
|
||||
"28, monitor:${d2}"
|
||||
"29, monitor:${d2}"
|
||||
"20, monitor:${d2}"
|
||||
"31, monitor:${d3}, default:${let x = if host == "NxNORTH" then "true" else "false"; in x}"
|
||||
"20, monitor:${d2}, ${compact}"
|
||||
"31, monitor:${d3}, default:${let x = if hyper.host == "NxNORTH" then "true" else "false"; in x}"
|
||||
"32, monitor:${d3}"
|
||||
"33, monitor:${d3}"
|
||||
"34, monitor:${d3}"
|
||||
@@ -131,6 +97,10 @@ in {
|
||||
"38, monitor:${d3}"
|
||||
"39, monitor:${d3}"
|
||||
"30, monitor:${d3}, ${compact}"
|
||||
] ++ [
|
||||
# no gaps when only
|
||||
"w[tv1], gapsout:0, gapsin:0"
|
||||
"f[1], gapsout:0, gapsin:0"
|
||||
];
|
||||
|
||||
# "device:logitech-wireless-mouse-mx-master-1" = {
|
||||
@@ -138,7 +108,7 @@ in {
|
||||
# };
|
||||
|
||||
|
||||
env = if nvidia.enable == true then [
|
||||
env = if hyper.nvidia.enable == true then [
|
||||
"LIBVA_DRIVER_NAME,nvidia"
|
||||
"XDG_SESSION_TYPE,wayland"
|
||||
"GBM_BACKEND,nvidia-drm"
|
||||
@@ -174,12 +144,12 @@ in {
|
||||
|
||||
decoration = {
|
||||
rounding = rice.rounding;
|
||||
drop_shadow = false;
|
||||
shadow_range = "20";
|
||||
shadow_offset = "0 0";
|
||||
shadow_render_power = "4";
|
||||
"col.shadow" = "rgba(${rice.lib.nohash rice.color.red.base}ff)";
|
||||
"col.shadow_inactive" = "rgba(${rice.lib.nohash rice.color.black.base}ff)";
|
||||
# drop_shadow = false;
|
||||
# shadow_range = "20";
|
||||
# shadow_offset = "0 0";
|
||||
# shadow_render_power = "4";
|
||||
# "col.shadow" = "rgba(${rice.lib.nohash rice.color.red.base}ff)";
|
||||
# "col.shadow_inactive" = "rgba(${rice.lib.nohash rice.color.black.base}ff)";
|
||||
|
||||
active_opacity = "1.0";
|
||||
inactive_opacity = "1.0";
|
||||
@@ -191,7 +161,7 @@ in {
|
||||
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = "3";
|
||||
size = "10";
|
||||
passes = "2";
|
||||
xray = false;
|
||||
vibrancy = 0.5;
|
||||
@@ -201,10 +171,11 @@ in {
|
||||
|
||||
animations = {
|
||||
enabled = true;
|
||||
# bezier = "myBezier, 0.01, 0.9, 0.1, 1.0"; #o
|
||||
bezier = "myBezier, 0.01, 0.9, 0.1, 1.0"; #o
|
||||
# bezier = "myBezier, 0.83, 0, 0.17, 1"; # io
|
||||
bezier = "myBezier, 0.33, 1, 0.68, 1";
|
||||
animation = let direction = if host == "NxXPS" then "slide" else "slidevert"; in [
|
||||
# bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
||||
# bezier = "myBezier, 0.33, 1, 0.68, 1";
|
||||
animation = let direction = if hyper.host == "NxXPS" then "slide" else "slidevert"; in [
|
||||
"windows, 1, ${animation-speed}, myBezier, slide"
|
||||
"border, 1, ${animation-speed}, myBezier"
|
||||
"fade, 1, ${animation-speed}, myBezier"
|
||||
@@ -228,7 +199,6 @@ in {
|
||||
|
||||
dwindle = {
|
||||
preserve_split = true; # you probably want this
|
||||
no_gaps_when_only = true;
|
||||
};
|
||||
|
||||
# master = {
|
||||
@@ -255,52 +225,59 @@ in {
|
||||
];
|
||||
|
||||
windowrulev2 = [
|
||||
"opacity ${transparency},class:^(com.chatterino.*)$"
|
||||
"opacity ${transparency},class:^(chatterino)$"
|
||||
"bordercolor rgba(${rice.lib.nohash rice.color.magenta.bright}ff), pinned:1"
|
||||
];
|
||||
|
||||
windowrule = [
|
||||
# "opacity ${transparency}, firefox"
|
||||
"opacity ${transparency}, code-oss"
|
||||
"opacity ${transparency}, VSCodium"
|
||||
"opacity ${transparency}, Code"
|
||||
# "opacity ${transparency}, sent"
|
||||
"opacity ${transparency}, neovide"
|
||||
"opacity ${transparency}, obsidian"
|
||||
# "opacity ${transparency}, zathura"
|
||||
# "bordercolor rgba(${rice.lib.nohash rice.color.foreground}ff) rgba(${rice.lib.nohash rice.color.background}${rice.lib.float-to-drune rice.transparency}), Alacritty"
|
||||
# "bordercolor rgba(${rice.lib.nohash rice.color.foreground}ff) rgba(${rice.lib.nohash rice.color.background}${rice.lib.float-to-drune rice.transparency}), Kitty"
|
||||
"opacity ${transparency}, discord"
|
||||
"opacity ${transparency}, vesktop"
|
||||
"opacity ${transparency}, Element"
|
||||
"opacity ${transparency}, thunderbird"
|
||||
"opacity ${transparency}, lutris"
|
||||
"opacity ${transparency}, element"
|
||||
"opacity ${transparency}, ^([sS]potify)$"
|
||||
"opacity ${transparency}, virt-manager"
|
||||
"opacity ${transparency}, thunar"
|
||||
"opacity ${transparency}, title:^(wlogout)$"
|
||||
"opaque, title:^(GNU Image Manipulation Program)$"
|
||||
"float, title:^(Picture-in-Picture)$"
|
||||
"float, title:^(Ibus-ui.*)$"
|
||||
"float, ^(ibus-ui.*)$"
|
||||
"float, ^(ibus-ui-gtk3)$"
|
||||
"float, title:^(Ibus-ui-gtk3)$"
|
||||
"pin, title:^(Picture-in-Picture)$"
|
||||
"float, org.kde.polkit-kde-authentication-agent-1"
|
||||
"float, title:^(wlogout)$"
|
||||
"float, imv"
|
||||
"float, title:^(Page Info — .*)$"
|
||||
"bordersize 0, floating:0, onworkspace:w[tv1]"
|
||||
"rounding 0, floating:0, onworkspace:w[tv1]"
|
||||
"bordersize 0, floating:0, onworkspace:f[1]"
|
||||
"rounding 0, floating:0, onworkspace:f[1]"
|
||||
] ++ [
|
||||
"center 1,class:^(gimp)$"
|
||||
|
||||
"float, class:^(ibus-ui.*)$"
|
||||
"float, class:^(ibus-ui-gtk3)$"
|
||||
"float, class:^(imv)$"
|
||||
"float, class:^(org.kde.polkit-kde-authentication-agent-1)$"
|
||||
"float, class:^(presenter)$" # sent
|
||||
"float, class:^(thunderbird)$"
|
||||
"float, title:^(Compact folders)$"
|
||||
"tile, sent"
|
||||
"fullscreen, wlogout"
|
||||
"fullscreen, sent"
|
||||
"workspace 14, lutris"
|
||||
"workspace 100, title:^(Apex Legends)$"
|
||||
"workspace 100, ^(cyberpunk2077.exe)$"
|
||||
"workspace 100, title:^(No Man.s Sky)$"
|
||||
"workspace 100, gamescope"
|
||||
"float, title:^(Ibus-ui.*)$"
|
||||
"float, title:^(Ibus-ui-gtk3)$"
|
||||
"float, title:^(Page Info — .*)$"
|
||||
"float, title:^(Picture-in-Picture)$"
|
||||
"float, title:^(wlogout)$"
|
||||
|
||||
"fullscreen, class:^(imv)$"
|
||||
"fullscreen, class:^(sent)$"
|
||||
"fullscreen, class:^(wlogout)$"
|
||||
|
||||
"noanim, class:^(imv)$"
|
||||
"noanim, class:^(presenter)$" # sent
|
||||
|
||||
"opacity ${transparency}, class:^(Code)$"
|
||||
"opacity ${transparency}, class:^(code-oss)$"
|
||||
"opacity ${transparency}, class:^(discord)$"
|
||||
"opacity ${transparency}, class:^(vesktop)$"
|
||||
# "opacity ${transparency}, class:^(Element)$"
|
||||
"opacity ${transparency}, class:^(lutris)$"
|
||||
"opacity ${transparency}, class:^(neovide)$"
|
||||
# "opacity ${transparency}, class:^(obsidian)$"
|
||||
"opacity ${transparency}, class:^(vesktop)$"
|
||||
"opacity ${transparency}, class:^(VSCodium)$"
|
||||
"opacity ${transparency}, title:^(wlogout)$"
|
||||
|
||||
"opaque, title:^(GNU Image Manipulation Program)$"
|
||||
|
||||
"pin, title:^(Picture-in-Picture)$"
|
||||
|
||||
"tile, class:^(sent)$"
|
||||
|
||||
"workspace 100, class:^(gamescope)$"
|
||||
|
||||
"float, title:^(terminal-file-picker)$"
|
||||
"dimaround, title:^(terminal-file-picker)$"
|
||||
"center, title:^(terminal-file-picker)$"
|
||||
"size 80% 80%, title:^(terminal-file-picker)$"
|
||||
];
|
||||
|
||||
|
||||
@@ -322,24 +299,23 @@ in {
|
||||
###########################################################################
|
||||
## ROW 0:
|
||||
bind = [
|
||||
"SUPER SHIFT, Escape, exit, "
|
||||
"SUPER, F1, workspace, 100"
|
||||
"SUPER SHIFT, F1, movetoworkspace, 100"
|
||||
# "SUPER, F2,"
|
||||
"SUPER, F3, toggleopaque"
|
||||
# "SUPER, F4,"
|
||||
# "SUPER, F3, toggleopaque"
|
||||
"SUPER, F4, exec, rm /tmp/caldav_event_cache.json && notify-send 'Cleared Saved Event!' ''"
|
||||
"SUPER, F5, exec, nx_gcal_event force-lookup"
|
||||
"SUPER SHIFT, F5, exec, nx_gcal_event reauthenticate"
|
||||
"SUPER, F6, exec, kitty -e 'htop'"
|
||||
"SUPER, F7, exec, kitty -e 'nmtui'"
|
||||
''SUPER, F8, exec, find ~/Pictures/wallpapers/* -type f -not -path "~/Pictures/wallpapers/.git/*" | sort -R | head -n 1 | xargs swww img --transition-type wipe --transition-angle 60 --transition-step 120 --transition-fps 120''
|
||||
''SUPER, F9, exec, kitty -e sh -c 'change_colors_json $(swww query | sed -n 1p | sed -e "s-.*image: --g") && nh home switch && firefox /home/${user}/.config/color-pallete.html' ''
|
||||
''SUPER SHIFT, F9, exec, firefox /home/${user}/.config/color-pallete.html ''
|
||||
"SUPER, F6, exec, ${terminal-exec}'htop'"
|
||||
"SUPER, F7, exec, ${terminal-exec}'nmtui'"
|
||||
''SUPER, F8, exec, find ~/Pictures/wallpapers/* -type f -not -path "~/Pictures/wallpapers/.git/*" | sort -R | head -n 1 | xargs -d '\n' swww img --transition-type wipe --transition-angle 60 --transition-step 120 --transition-fps 120 --transition-duration 2''
|
||||
"SUPER, F9, execr, waybar_mode set ' '"
|
||||
"SUPER, F9, submap, color"
|
||||
# "SUPER, F10, hyprload,update"
|
||||
"SUPER, F11, exec, waybar"
|
||||
"SUPER SHIFT, F11, exec, pkill waybar "
|
||||
"SUPER, F12, exec, hyprland-autoname-workspaces"
|
||||
"SUPER SHIFT, F12, exec, pkill -9 hyprland-autoname-workspaces "
|
||||
"SUPER SHIFT, F12, exec, pkill -9 hyprland-aut"
|
||||
|
||||
###########################################################################
|
||||
## ROW 1:
|
||||
@@ -373,8 +349,8 @@ in {
|
||||
###########################################################################
|
||||
## ROW 2:
|
||||
|
||||
#bind = SUPER, TAB, hycov:toggleoverview
|
||||
# "SUPER, TAB, overview:toggle"
|
||||
# "SUPER, TAB, hycov:toggleoverview"
|
||||
"SUPER, TAB, overview:toggle"
|
||||
# "SUPER, TAB, hyprexpo:expo, toggle"
|
||||
"ALT, TAB, focuscurrentorlast"
|
||||
# "SUPER, TAB, exec, hyprswitch --daemon"
|
||||
@@ -385,18 +361,19 @@ in {
|
||||
"SUPER, R, exec, rofi -show drun"
|
||||
# "SUPER, T, exec, alacritty"
|
||||
# "SUPER SHIFT, T, exec, alacritty -e sh -c "ssh nxace""
|
||||
"SUPER, T, exec, SESSION_FROM_DE=TRUE kitty"
|
||||
"SUPER SHIFT, T, exec, kitty -e sh -c 'ssh nxace'"
|
||||
# "SUPER, Z, "
|
||||
"SUPER, U, exec, thunderbird "
|
||||
"SUPER, I, exec, kitty -e fish -c 'hx ~/nix-dots/ && fish'"
|
||||
"SUPER SHIFT, I, exec, kitty -e fish -c 'nh home switch || read'"
|
||||
"SUPER CTRL, I, exec, kitty -e fish -c 'nh os switch || read'"
|
||||
"SUPER, T, exec, SESSION_FROM_DE=TRUE ${terminal}"
|
||||
"SUPER SHIFT, T, exec, ${terminal-exec}'ssh nxace'"
|
||||
"SUPER, Z, exec, zathura"
|
||||
"SUPER, U, exec, [tile] thunderbird "
|
||||
"SUPER, I, exec, ${terminal-exec}'hx ~/nix-dots/ && fish'"
|
||||
"SUPER SHIFT, I, exec, ${terminal-exec}'nh home switch || read'"
|
||||
"SUPER CTRL, I, exec, ${terminal-exec}'nh os switch || read'"
|
||||
"SUPER, O, exec, obsidian "
|
||||
"SUPER, P, pin "
|
||||
# "SUPER, Ü,"
|
||||
# "SUPER, +,"
|
||||
# "SUPER, Enter,"
|
||||
"SUPER, Enter, exec, SESSION_FROM_DE=TRUE ${terminal}"
|
||||
|
||||
|
||||
###########################################################################
|
||||
## ROW 3:
|
||||
@@ -405,6 +382,7 @@ in {
|
||||
"SUPER, A, submap, scrL"
|
||||
"SUPER, S, exec, spotify"
|
||||
"SUPER, D, exec, vesktop"
|
||||
# "SUPER, D, exec, discord"
|
||||
"SUPER, F, fullscreen"
|
||||
# "SUPER, G,"
|
||||
"SUPER, H, movefocus, l"
|
||||
@@ -424,6 +402,7 @@ in {
|
||||
"SUPER, X, exec, pkill wlogout || wlogout --protocol layer-shell -b 3"
|
||||
# "SUPER, C, exec, /home/nx2/scripts/quickconfig/quickconfig.sh "
|
||||
"SUPER, C, exec, chatterino"
|
||||
"SUPER SHIFT, C, exec, hyprpicker -n -a"
|
||||
"SUPER, V, togglefloating, "
|
||||
"SUPER, B, exec, bitwarden"
|
||||
"SUPER, N, togglesplit"
|
||||
@@ -457,7 +436,9 @@ in {
|
||||
###########################################################################
|
||||
## MEGA KEYS:
|
||||
|
||||
'' , Print, exec, grim -g "$(slurp)"''
|
||||
", Print, execr, waybar_mode set ' '"
|
||||
", Print, submap, screenshot"
|
||||
|
||||
# "SUPER, Next, resizeactive, 5% 5%" # binde
|
||||
# "SUPER, Prior, resizeactive, -5% -5%" # binde
|
||||
|
||||
@@ -494,6 +475,39 @@ in {
|
||||
"SUPER, Next, resizeactive, 10% 10%"
|
||||
"SUPER, Prior, resizeactive, -10% -10%"
|
||||
];
|
||||
plugin = {
|
||||
overview = {
|
||||
# panelHeight =
|
||||
# panelBorderWidth =
|
||||
onBottom = false; # whether if panel should be on bottom instead of top
|
||||
# workspaceMargin = # spacing of workspaces with eachother and the edge of the panel
|
||||
# reservedArea = # padding on top of the panel, for Macbook camera notch
|
||||
workspaceBorderSize = rice.border-width; #
|
||||
centerAligned = true; # whether if workspaces should be aligned at the center (KDE / macOS style) or at the left (Windows style)
|
||||
hideBackgroundLayers = true; # do not draw background and bottom layers in overview
|
||||
hideTopLayers = false; # do not draw top layers in overview
|
||||
hideOverlayLayers = false; # do not draw overlay layers in overview
|
||||
hideRealLayers = false; # whether to hide layers in actual workspace
|
||||
drawActiveWorkspace = true; # draw the active workspace in overview as-is
|
||||
overrideGaps = false; # whether if overview should override the layout gaps in the current workspace using the following values
|
||||
# gapsIn = #
|
||||
# gapsOut = #
|
||||
affectStrut = false; # whether the panel should push window aside, disabling this option also
|
||||
|
||||
dots_center = true;
|
||||
autoDrag = true; # mouse click always drags window when overview is open
|
||||
autoScroll = true; # mouse scroll on active workspace area always switch workspace
|
||||
exitOnClick = true; # mouse click without dragging exits overview
|
||||
switchOnDrop = true; # switch to the workspace when a window is droppped into it
|
||||
exitOnSwitch = true; # overview exits when overview is switched by clicking on workspace view or by switchOnDrop
|
||||
showNewWorkspace = false; # add a new empty workspace at the end of workspaces view
|
||||
showEmptyWorkspace = false; # show empty workspaces that are inbetween non-empty workspaces
|
||||
showSpecialWorkspace = false; # defaults to false
|
||||
disableGestures = true;
|
||||
reverseSwipe = true; # reverses the direction of swipe gesture, for macOS peeps?
|
||||
exitKey = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -504,396 +518,102 @@ in {
|
||||
# 'Y8b. 88 88 88''Yb. 88 88 8888888 888888P' 'Y8b.
|
||||
# db 8D 88. .88 88 8D 88 88 88' '88 88 db 8D
|
||||
# '8888Y' 'Y8888P' Y8888P' YP YP 88 YP YP '8888Y'
|
||||
extraConfig = ''
|
||||
extraConfig = let
|
||||
action_simple = { mods ? "", key, cmd }: ''
|
||||
bind=${mods},${key},execr,waybar_mode unset
|
||||
bind=${mods},${key},${cmd}
|
||||
bind=${mods},${key},submap,reset
|
||||
'';
|
||||
extra_workspace = { key, wsnumber }: ''
|
||||
bind=,${key},execr,waybar_mode unset
|
||||
bind=,${key},workspace,${wsnumber}
|
||||
bind=,${key},submap,reset
|
||||
bind=SUPER,${key},execr,waybar_mode unset
|
||||
bind=SUPER,${key},workspace,${wsnumber}
|
||||
bind=SUPER,${key},submap,reset
|
||||
bind=SUPER SHIFT,${key},execr, waybar_mode unset
|
||||
bind=SUPER SHIFT,${key},movetoworkspace,${wsnumber}
|
||||
bind=SUPER SHIFT,${key},submap,reset
|
||||
'';
|
||||
in ''
|
||||
submap = browserSM
|
||||
bind = , W, exec, waybar_mode unset
|
||||
bind = , W, exec, hyprctl dispatch exec firefox
|
||||
bind = , W, submap, reset
|
||||
|
||||
bind = , Y, exec, waybar_mode unset
|
||||
bind = , Y, exec, firefox https://youtube.com
|
||||
bind = , Y, submap, reset
|
||||
|
||||
bind = , T, exec, waybar_mode unset
|
||||
bind = , T, exec, hyprctl dispatch exec firefox https://twitch.tv
|
||||
bind = , T, submap, reset
|
||||
|
||||
bind = , R, exec, waybar_mode unset
|
||||
bind = , R, exec, firefox https://reddit.com
|
||||
bind = , R, submap, reset
|
||||
|
||||
bind = , C, exec, waybar_mode unset
|
||||
bind = , C, exec, firefox https://calendar.google.com
|
||||
bind = , C, submap, reset
|
||||
|
||||
bind = , Ü, exec, waybar_mode unset
|
||||
bind = , Ü, exec, firefox https://translate.google.com
|
||||
bind = , Ü, submap, reset
|
||||
|
||||
bind = , N, exec, waybar_mode unset
|
||||
bind = , N, exec, firefox https://Netflix.com
|
||||
bind = , N, submap, reset
|
||||
|
||||
bind = , A, exec, waybar_mode unset
|
||||
bind = , A, exec, firefox https://www.amazon.de/b?node=3010075031&ref_=nav_ya_signin
|
||||
bind = , A, submap, reset
|
||||
|
||||
bind = , D, exec, waybar_mode unset
|
||||
bind = , D, exec, firefox https://www.disneyplus.com/home
|
||||
bind = , D, submap, reset
|
||||
|
||||
bind = , H, exec, waybar_mode unset
|
||||
bind = , H, exec, firefox https://www.hs-mittweida.de
|
||||
bind = , H, submap, reset
|
||||
|
||||
bind = , X, exec, waybar_mode unset
|
||||
bind = , X, exec, firefox https://nx2.site
|
||||
bind = , X, submap, reset
|
||||
|
||||
bind = , L, exec, waybar_mode unset
|
||||
bind = , L, exec, firefox https://feddit.de
|
||||
bind = , L, submap, reset
|
||||
|
||||
bind = , I, exec, waybar_mode unset
|
||||
bind = , I, exec, firefox https://www.imdb.com
|
||||
bind = , I, submap, reset
|
||||
|
||||
bind = , M, exec, waybar_mode unset
|
||||
bind = , M, exec, firefox https://ieji.de/home
|
||||
bind = , M, submap, reset
|
||||
|
||||
bind = , S, exec, waybar_mode unset
|
||||
bind = , S, exec, firefox 127.0.0.1:8384/
|
||||
bind = , S, submap, reset
|
||||
|
||||
${action_simple { key = "A"; cmd = "exec,firefox https://www.amazon.de/b?node=3010075031&ref_=nav_ya_signin";}}
|
||||
${action_simple { key = "C"; cmd = "exec,firefox https://calendar.google.com";}}
|
||||
${action_simple { key = "D"; cmd = "exec,firefox https://www.disneyplus.com/home";}}
|
||||
${action_simple { key = "H"; cmd = "exec,firefox https://www.hs-mittweida.de";}}
|
||||
${action_simple { key = "I"; cmd = "exec,firefox https://www.imdb.com";}}
|
||||
${action_simple { key = "L"; cmd = "exec,firefox https://feddit.de";}}
|
||||
${action_simple { key = "M"; cmd = "exec,firefox https://ieji.de/home";}}
|
||||
${action_simple { key = "N"; cmd = "exec,firefox https://Netflix.com";}}
|
||||
${action_simple { key = "R"; cmd = "exec,firefox https://reddit.com";}}
|
||||
${action_simple { key = "S"; cmd = "exec,firefox 127.0.0.1:8384/";}}
|
||||
${action_simple { key = "T"; cmd = "exec,hyprctl dispatch exec firefox https://twitch.tv";}}
|
||||
${action_simple { key = "udiaeresis"; cmd = "exec,firefox https://translate.google.com";}}
|
||||
${action_simple { key = "W"; cmd = "exec,hyprctl dispatch exec firefox";}}
|
||||
${action_simple { key = "X"; cmd = "exec,firefox https://nx2.site";}}
|
||||
${action_simple { key = "Y"; cmd = "exec,firefox https://youtube.com";}}
|
||||
${action_simple { key = "P"; cmd = "exec,firefox https://pw.nx2.site";}}
|
||||
${action_simple { key = "P"; cmd = "exec,firefox https://pw.nx2.site";}}
|
||||
bind=,Z,exec,waybar_mode set ' '
|
||||
bind=,Z,submap,tuda
|
||||
bind=,Z,submap,reset
|
||||
bind=,Escape,exec,waybar_mode unset
|
||||
bind=,Escape,submap,reset
|
||||
submap = reset
|
||||
|
||||
|
||||
submap = scrL
|
||||
bind = , 1, execr, waybar_mode unset
|
||||
bind = , 1, workspace, 21
|
||||
bind = , 1, submap, reset
|
||||
bind = SUPER, 1, execr, waybar_mode unset
|
||||
bind = SUPER, 1, workspace, 21
|
||||
bind = SUPER, 1, submap, reset
|
||||
bind = SUPER SHIFT, 1, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 1, movetoworkspace, 21
|
||||
bind = SUPER SHIFT, 1, submap, reset
|
||||
|
||||
bind = , 2, execr, waybar_mode unset
|
||||
bind = , 2, workspace, 22
|
||||
bind = , 2, submap, reset
|
||||
bind = SUPER, 2, execr, waybar_mode unset
|
||||
bind = SUPER, 2, workspace, 22
|
||||
bind = SUPER, 2, submap, reset
|
||||
bind = SUPER SHIFT, 2, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 2, movetoworkspace, 22
|
||||
bind = SUPER SHIFT, 2, submap, reset
|
||||
|
||||
bind = , 3, execr, waybar_mode unset
|
||||
bind = , 3, workspace, 23
|
||||
bind = , 3, submap, reset
|
||||
bind = SUPER, 3, execr, waybar_mode unset
|
||||
bind = SUPER, 3, workspace, 23
|
||||
bind = SUPER, 3, submap, reset
|
||||
bind = SUPER SHIFT, 3, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 3, movetoworkspace, 23
|
||||
bind = SUPER SHIFT, 3, submap, reset
|
||||
|
||||
bind = , 4, execr, waybar_mode unset
|
||||
bind = , 4, workspace, 24
|
||||
bind = , 4, submap, reset
|
||||
bind = SUPER, 4, execr, waybar_mode unset
|
||||
bind = SUPER, 4, workspace, 24
|
||||
bind = SUPER, 4, submap, reset
|
||||
bind = SUPER SHIFT, 4, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 4, movetoworkspace, 24
|
||||
bind = SUPER SHIFT, 4, submap, reset
|
||||
|
||||
bind = , 5, execr, waybar_mode unset
|
||||
bind = , 5, workspace, 25
|
||||
bind = , 5, submap, reset
|
||||
bind = SUPER, 5, execr, waybar_mode unset
|
||||
bind = SUPER, 5, workspace, 25
|
||||
bind = SUPER, 5, submap, reset
|
||||
bind = SUPER SHIFT, 5, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 5, movetoworkspace, 25
|
||||
bind = SUPER SHIFT, 5, submap, reset
|
||||
|
||||
bind = , 6, execr, waybar_mode unset
|
||||
bind = , 6, workspace, 26
|
||||
bind = , 6, submap, reset
|
||||
bind = SUPER, 6, execr, waybar_mode unset
|
||||
bind = SUPER, 6, workspace, 26
|
||||
bind = SUPER, 6, submap, reset
|
||||
bind = SUPER SHIFT, 6, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 6, movetoworkspace, 26
|
||||
bind = SUPER SHIFT, 6, submap, reset
|
||||
|
||||
bind = , 7, execr, waybar_mode unset
|
||||
bind = , 7, workspace, 27
|
||||
bind = , 7, submap, reset
|
||||
bind = SUPER, 7, execr, waybar_mode unset
|
||||
bind = SUPER, 7, workspace, 27
|
||||
bind = SUPER, 7, submap, reset
|
||||
bind = SUPER SHIFT, 7, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 7, movetoworkspace, 27
|
||||
bind = SUPER SHIFT, 7, submap, reset
|
||||
|
||||
bind = , 8, execr, waybar_mode unset
|
||||
bind = , 8, workspace, 28
|
||||
bind = , 8, submap, reset
|
||||
bind = SUPER, 8, execr, waybar_mode unset
|
||||
bind = SUPER, 8, workspace, 28
|
||||
bind = SUPER, 8, submap, reset
|
||||
bind = SUPER SHIFT, 8, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 8, movetoworkspace, 28
|
||||
bind = SUPER SHIFT, 8, submap, reset
|
||||
|
||||
bind = , 9, execr, waybar_mode unset
|
||||
bind = , 9, workspace, 29
|
||||
bind = , 9, submap, reset
|
||||
bind = SUPER, 9, execr, waybar_mode unset
|
||||
bind = SUPER, 9, workspace, 29
|
||||
bind = SUPER, 9, submap, reset
|
||||
bind = SUPER SHIFT, 9, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 9, movetoworkspace, 29
|
||||
bind = SUPER SHIFT, 9, submap, reset
|
||||
|
||||
bind = , 0, execr, waybar_mode unset
|
||||
bind = , 0, workspace, 20
|
||||
bind = , 0, submap, reset
|
||||
bind = SUPER, 0, execr, waybar_mode unset
|
||||
bind = SUPER, 0, workspace, 20
|
||||
bind = SUPER, 0, submap, reset
|
||||
bind = SUPER SHIFT, 0, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 0, movetoworkspace, 20
|
||||
bind = SUPER SHIFT, 0, submap, reset
|
||||
|
||||
|
||||
${builtins.concatStringsSep "\n" (builtins.map (num: extra_workspace { key = builtins.toString num; wsnumber = "2" + builtins.toString num;}) [1 2 3 4 5 6 7 8 9 0])}
|
||||
bind = , A, execr, waybar_mode unset
|
||||
bind = , A, submap, reset
|
||||
bind = , Escape, execr, waybar_mode unset
|
||||
bind = , Escape, submap, reset
|
||||
submap = reset
|
||||
|
||||
|
||||
submap = scrR
|
||||
bind = , 1, execr, waybar_mode unset
|
||||
bind = , 1, workspace, 31
|
||||
bind = , 1, submap, reset
|
||||
bind = SUPER, 1, execr, waybar_mode unset
|
||||
bind = SUPER, 1, workspace, 31
|
||||
bind = SUPER, 1, submap, reset
|
||||
bind = SUPER SHIFT, 1, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 1, movetoworkspace, 31
|
||||
bind = SUPER SHIFT, 1, submap, reset
|
||||
|
||||
bind = , 2, execr, waybar_mode unset
|
||||
bind = , 2, workspace, 32
|
||||
bind = , 2, submap, reset
|
||||
bind = SUPER, 2, execr, waybar_mode unset
|
||||
bind = SUPER, 2, workspace, 32
|
||||
bind = SUPER, 2, submap, reset
|
||||
bind = SUPER SHIFT, 2, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 2, movetoworkspace, 32
|
||||
bind = SUPER SHIFT, 2, submap, reset
|
||||
|
||||
bind = , 3, execr, waybar_mode unset
|
||||
bind = , 3, workspace, 33
|
||||
bind = , 3, submap, reset
|
||||
bind = SUPER, 3, execr, waybar_mode unset
|
||||
bind = SUPER, 3, workspace, 33
|
||||
bind = SUPER, 3, submap, reset
|
||||
bind = SUPER SHIFT, 3, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 3, movetoworkspace, 33
|
||||
bind = SUPER SHIFT, 3, submap, reset
|
||||
|
||||
bind = , 4, execr, waybar_mode unset
|
||||
bind = , 4, workspace, 34
|
||||
bind = , 4, submap, reset
|
||||
bind = SUPER, 4, execr, waybar_mode unset
|
||||
bind = SUPER, 4, workspace, 34
|
||||
bind = SUPER, 4, submap, reset
|
||||
bind = SUPER SHIFT, 4, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 4, movetoworkspace, 34
|
||||
bind = SUPER SHIFT, 4, submap, reset
|
||||
|
||||
bind = , 5, execr, waybar_mode unset
|
||||
bind = , 5, workspace, 35
|
||||
bind = , 5, submap, reset
|
||||
bind = SUPER, 5, execr, waybar_mode unset
|
||||
bind = SUPER, 5, workspace, 35
|
||||
bind = SUPER, 5, submap, reset
|
||||
bind = SUPER SHIFT, 5, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 5, movetoworkspace, 35
|
||||
bind = SUPER SHIFT, 5, submap, reset
|
||||
|
||||
bind = , 6, execr, waybar_mode unset
|
||||
bind = , 6, workspace, 36
|
||||
bind = , 6, submap, reset
|
||||
bind = SUPER, 6, execr, waybar_mode unset
|
||||
bind = SUPER, 6, workspace, 36
|
||||
bind = SUPER, 6, submap, reset
|
||||
bind = SUPER SHIFT, 6, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 6, movetoworkspace, 36
|
||||
bind = SUPER SHIFT, 6, submap, reset
|
||||
|
||||
bind = , 7, execr, waybar_mode unset
|
||||
bind = , 7, workspace, 37
|
||||
bind = , 7, submap, reset
|
||||
bind = SUPER, 7, execr, waybar_mode unset
|
||||
bind = SUPER, 7, workspace, 37
|
||||
bind = SUPER, 7, submap, reset
|
||||
bind = SUPER SHIFT, 7, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 7, movetoworkspace, 37
|
||||
bind = SUPER SHIFT, 7, submap, reset
|
||||
|
||||
bind = , 8, execr, waybar_mode unset
|
||||
bind = , 8, workspace, 38
|
||||
bind = , 8, submap, reset
|
||||
bind = SUPER, 8, execr, waybar_mode unset
|
||||
bind = SUPER, 8, workspace, 38
|
||||
bind = SUPER, 8, submap, reset
|
||||
bind = SUPER SHIFT, 8, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 8, movetoworkspace, 38
|
||||
bind = SUPER SHIFT, 8, submap, reset
|
||||
|
||||
bind = , 9, execr, waybar_mode unset
|
||||
bind = , 9, workspace, 39
|
||||
bind = , 9, submap, reset
|
||||
bind = SUPER, 9, execr, waybar_mode unset
|
||||
bind = SUPER, 9, workspace, 39
|
||||
bind = SUPER, 9, submap, reset
|
||||
bind = SUPER SHIFT, 9, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 9, movetoworkspace, 39
|
||||
bind = SUPER SHIFT, 9, submap, reset
|
||||
|
||||
bind = , 0, execr, waybar_mode unset
|
||||
bind = , 0, workspace, 30
|
||||
bind = , 0, submap, reset
|
||||
bind = SUPER, 0, execr, waybar_mode unset
|
||||
bind = SUPER, 0, workspace, 30
|
||||
bind = SUPER, 0, submap, reset
|
||||
bind = SUPER SHIFT, 0, execr, waybar_mode unset
|
||||
bind = SUPER SHIFT, 0, movetoworkspace, 30
|
||||
bind = SUPER SHIFT, 0, submap, reset
|
||||
|
||||
${builtins.concatStringsSep "\n" (builtins.map (num: extra_workspace { key = builtins.toString num; wsnumber = "3" + builtins.toString num;}) [1 2 3 4 5 6 7 8 9 0])}
|
||||
bind = , Y, execr, waybar_mode unset
|
||||
bind = , Y, submap, reset
|
||||
bind = , Escape, execr, waybar_mode unset
|
||||
bind = , Escape, submap, reset
|
||||
submap = reset
|
||||
|
||||
submap = color
|
||||
${action_simple { key = "W"; cmd = ''exec,swww query | sed -n 1p | sed -E 's-.*image: (.*)-"\1"-g' | xargs change_colors_json img && notify-send 'change_colors_json img successfull' ''; }}
|
||||
${action_simple { key = "M"; cmd = ''exec,change_colors_json manual && notify-send 'change_colors_json manual successfull' ''; }}
|
||||
${action_simple { key = "D"; cmd = ''exec,firefox ${hyper.home}/.config/color-pallete.html''; }}
|
||||
bind = , Escape, execr, waybar_mode unset
|
||||
bind = , Escape, submap, reset
|
||||
submap = reset
|
||||
|
||||
submap = tuda
|
||||
${action_simple { key = "T"; cmd = ''exec,firefox https://www.tucan.tu-darmstadt.de/''; }}
|
||||
${action_simple { key = "M"; cmd = ''exec,firefox https://moodle.tu-darmstadt.de/''; }}
|
||||
${action_simple { key = "I"; cmd = ''exec,firefox https://moodle.informatik.tu-darmstadt.de/''; }}
|
||||
bind = , Escape, execr, waybar_mode unset
|
||||
bind = , Escape, submap, reset
|
||||
submap = reset
|
||||
|
||||
|
||||
plugin {
|
||||
hyprexpo {
|
||||
columns = 5
|
||||
gap_size = ${builtins.toString rice.gap-size}
|
||||
bg_col = rgb(${builtins.substring 1 6 rice.color.background})
|
||||
workspace_method = first 10 # [center/first] [workspace] e.g. first 1 or center m+1
|
||||
|
||||
enable_gesture = false # laptop touchpad, 4 fingers
|
||||
gesture_distance = 300 # how far is the "max"
|
||||
gesture_positive = true # positive = swipe down. Negative = swipe up.
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
plugin {
|
||||
overview {
|
||||
panelColor = rgba(00000088)
|
||||
workspaceActiveBackground = rgba(00ff00ff)
|
||||
workspaceInactiveBackground = rgba(0000ffff)
|
||||
# workspaceActiveBorder =
|
||||
# workspaceInactiveBorder =
|
||||
dragAlpha = 0.5
|
||||
panelHeight = 200
|
||||
workspaceMargin = 30
|
||||
workspaceBorderSize = 3
|
||||
centerAligned = true
|
||||
overrideGaps = false
|
||||
gapsIn = 0
|
||||
gapsOut = 0
|
||||
hideBackgroundLayers = false
|
||||
drawActiveWorkspace = true
|
||||
autoDrag = true
|
||||
autoScroll = true
|
||||
exitOnClick = false
|
||||
switchOnDrop = false
|
||||
exitOnSwitch = trueß
|
||||
showNewWorkspace = true
|
||||
showEmptyWorkspace = false
|
||||
}
|
||||
}
|
||||
|
||||
# allows repeated switching with same keypress that starts the submap
|
||||
binde = SUPER, TAB, exec, hyprswitch --daemon --do-initial-execute
|
||||
bind = SUPER, TAB, submap, switch
|
||||
bind = SUPER, TAB, exec, waybar_mode set "sw"
|
||||
|
||||
# allows repeated switching with same keypress that starts the submap
|
||||
binde = SUPER SHIFT, TAB, exec, hyprswitch --daemon --do-initial-execute -r
|
||||
bind = SUPER SHIFT, TAB, submap, switch
|
||||
bind = SUPER, TAB, exec, waybar_mode set "swr"
|
||||
|
||||
submap = switch
|
||||
# allow repeated window switching in submap (same keys as repeating while starting)
|
||||
binde = SUPER, TAB, exec, hyprswitch --daemon
|
||||
binde = SUPER SHIFT, TAB, exec, hyprswitch --daemon -r
|
||||
|
||||
# switch to specific window offset
|
||||
bind = , 1, exec, hyprswitch --daemon --offset=1
|
||||
bind = , 2, exec, hyprswitch --daemon --offset=2
|
||||
bind = , 3, exec, hyprswitch --daemon --offset=3
|
||||
bind = , 4, exec, hyprswitch --daemon --offset=4
|
||||
bind = , 5, exec, hyprswitch --daemon --offset=5
|
||||
bind = , 6, exec, hyprswitch --daemon --offset=6
|
||||
bind = , 7, exec, hyprswitch --daemon --offset=7
|
||||
bind = , 8, exec, hyprswitch --daemon --offset=8
|
||||
bind = , 8, exec, hyprswitch --daemon --offset=8
|
||||
bind = , 9, exec, hyprswitch --daemon --offset=9
|
||||
|
||||
bind = SUPER $reverse, 1, exec, hyprswitch --daemon --offset=1 -r
|
||||
bind = SUPER $reverse, 2, exec, hyprswitch --daemon --offset=2 -r
|
||||
bind = SUPER $reverse, 3, exec, hyprswitch --daemon --offset=3 -r
|
||||
bind = SUPER $reverse, 4, exec, hyprswitch --daemon --offset=4 -r
|
||||
bind = SUPER $reverse, 5, exec, hyprswitch --daemon --offset=5 -r
|
||||
bind = SUPER $reverse, 6, exec, hyprswitch --daemon --offset=6 -r
|
||||
bind = SUPER $reverse, 7, exec, hyprswitch --daemon --offset=7 -r
|
||||
bind = SUPER $reverse, 8, exec, hyprswitch --daemon --offset=8 -r
|
||||
bind = SUPER $reverse, 9, exec, hyprswitch --daemon --offset=9 -r
|
||||
bind = SUPER $reverse, 5, exec, hyprswitch --daemon --offset=5 -r
|
||||
|
||||
|
||||
# exit submap and stop hyprswitch
|
||||
bindrt = SUPER, SUPER_L, exec, hyprswitch --stop-daemon
|
||||
bindrt = SUPER, SUPER_L, submap, reset
|
||||
bindrt = SUPER, SUPER_L, exec, waybar_mode unset
|
||||
|
||||
# if it somehow doesn't close on releasing $switch_release, escape can kill
|
||||
bindr = ,escape, exec, pkill hyprswitch
|
||||
bindr = ,escape, submap, reset
|
||||
submap = screenshot
|
||||
${action_simple { key = "W"; cmd = ''exec,hyprshot -m window''; }}
|
||||
${action_simple { key = "M"; cmd = ''exec,hyprshot -m output''; }}
|
||||
${action_simple { key = "R"; cmd = ''exec,hyprshot -m region''; }}
|
||||
bind = , Escape, execr, waybar_mode unset
|
||||
bind = , Escape, submap, reset
|
||||
submap = reset
|
||||
|
||||
'';
|
||||
};
|
||||
|
||||
home.file =
|
||||
let
|
||||
m = if host == "NxXPS" then monitors.xps.main.name else monitors.north.main.name;
|
||||
in
|
||||
{
|
||||
home.file = let
|
||||
m = if hyper.host == "NxXPS" then monitors.xps.main.name else monitors.north.main.name;
|
||||
in {
|
||||
".config/hypr/hyprlock.conf".text = ''
|
||||
background {
|
||||
monitor = ${m}
|
||||
|
||||
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
|
||||
path = /home/nx2/Pictures/nix-wall.png
|
||||
path = /home/nx2/Pictures/wallpapers/nix-wall.png
|
||||
blur_size = 4
|
||||
blur_passes = 3 # 0 disables blurring
|
||||
noise = 0.0117
|
||||
|
||||
2
home-modules/kitty.nix
Executable file → Normal file
2
home-modules/kitty.nix
Executable file → Normal file
@@ -3,7 +3,7 @@
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
font = {
|
||||
name = rice.font.code.name2;
|
||||
name = rice.font.code.name;
|
||||
package = rice.font.code.package;
|
||||
};
|
||||
settings = with rice.color; {
|
||||
|
||||
4
home-modules/latex.nix
Executable file → Normal file
4
home-modules/latex.nix
Executable file → Normal file
@@ -1,5 +1,5 @@
|
||||
{ config, pkgs, lib, host, ... }:
|
||||
lib.mkIf (host != "NxACE")
|
||||
{ pkgs, ... }@all: with all;
|
||||
lib.mkIf (hyper.host != "NxACE")
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
texlab # LSP
|
||||
|
||||
18
home-modules/mako.nix
Executable file → Normal file
18
home-modules/mako.nix
Executable file → Normal file
@@ -1,16 +1,18 @@
|
||||
{ pkgs, rice, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = with pkgs; [ libnotify ];
|
||||
services.mako = with rice; {
|
||||
enable = true;
|
||||
defaultTimeout = 5000; # in ms
|
||||
backgroundColor = color.background;
|
||||
textColor = color.foreground;
|
||||
borderColor = color.border;
|
||||
borderSize = border-width;
|
||||
font = font.code.name2;
|
||||
borderRadius = rounding;
|
||||
settings = {
|
||||
default-timeout = 5000; # in ms
|
||||
background-color = color.background;
|
||||
text-color = color.foreground;
|
||||
font = font.code.name;
|
||||
border-size = border-width;
|
||||
border-radius = rounding;
|
||||
border-color = color.border;
|
||||
anchor = "top-right";
|
||||
margin = builtins.toString (gap-size * 2) ;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, host, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
# cinny-desktop
|
||||
@@ -79,7 +79,7 @@
|
||||
nx2site.ssl_verify = on
|
||||
nx2site.username = "nx2"
|
||||
nx2site.password = "''${sec.data.matrix_nx2site_password}"
|
||||
nx2site.device_name = "Weechat@${host}"
|
||||
nx2site.device_name = "Weechat@${hyper.host}"
|
||||
nx2site.autoreconnect_delay = 10
|
||||
nx2site.sso_helper_listening_port = 0
|
||||
'';
|
||||
|
||||
6
home-modules/nh.nix
Executable file → Normal file
6
home-modules/nh.nix
Executable file → Normal file
@@ -1,13 +1,13 @@
|
||||
{ config, pkgs-unstable, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home = {
|
||||
packages = with pkgs-unstable; [
|
||||
packages = with pkgs; [
|
||||
nh
|
||||
nix-output-monitor
|
||||
nvd
|
||||
];
|
||||
sessionVariables = {
|
||||
FLAKE = "${config.home.homeDirectory}/nix-dots";
|
||||
NH_FLAKE = "${hyper.home}/nix-dots";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
nixd
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ pkgs, lib, nvidia, ... }:
|
||||
lib.mkIf (nvidia.enable == true)
|
||||
{ pkgs, ... }@all: with all;
|
||||
lib.mkIf (hyper.nvidia.enable == true)
|
||||
{
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
|
||||
2
home-modules/nx-gcal-event.nix
Executable file → Normal file
2
home-modules/nx-gcal-event.nix
Executable file → Normal file
@@ -1,4 +1,4 @@
|
||||
{ config, pkgs, secrets, ... }: let
|
||||
{ pkgs, ... }@all: with all;
|
||||
sep = " ";
|
||||
in {
|
||||
home = {
|
||||
|
||||
66
home-modules/nx2site-backup.nix
Normal file
66
home-modules/nx2site-backup.nix
Normal file
@@ -0,0 +1,66 @@
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = [
|
||||
(pkgs.writeShellApplication {
|
||||
name = "nx_backup";
|
||||
runtimeInputs = [ ];
|
||||
text = let
|
||||
web-root = hyper.webroot;
|
||||
gitea-backup = "/var/backup/gitea";
|
||||
postgres-backup = "/var/backup/postgresql";
|
||||
in /* bash */ ''
|
||||
DIRECTORIES=(
|
||||
"${web-root}"
|
||||
"${gitea-backup}"
|
||||
"${postgres-backup}"
|
||||
)
|
||||
|
||||
NOW=$(date +%Y_%m_%d-%H_%M)
|
||||
TEMP_BAK_DIR=$(mktemp -d)
|
||||
TEMP_WORKING_DIR=$(mktemp -d)
|
||||
ZIP_NAME="nx2site-backup-''${NOW}.zip"
|
||||
ZIP_FILE="$TEMP_WORKING_DIR/$ZIP_NAME"
|
||||
ENCRYPTED_NAME="''${ZIP_NAME}.asc"
|
||||
ENCRYPTED_FILE="$TEMP_WORKING_DIR/$ENCRYPTED_NAME"
|
||||
DESTINATION="/vault/$ENCRYPTED_NAME"
|
||||
WEBROOT="${web-root}"
|
||||
|
||||
echo "Fixing Permissions of Gitea dump"
|
||||
sudo chmod -R g+r "${gitea-backup}"
|
||||
|
||||
echo "Fixing Permissions of Postgres dump"
|
||||
sudo chmod -R g+r "${postgres-backup}"
|
||||
sudo chmod g+x "${postgres-backup}"
|
||||
echo "Fixing Ownership of Postgres dump"
|
||||
sudo chown -R postgres:postgres "${postgres-backup}"
|
||||
|
||||
echo "Copying files to backup to tempoary directory $TEMP_BAK_DIR ..."
|
||||
for DIR in "''${DIRECTORIES[@]}"; do
|
||||
rsync -aR "$DIR" "$TEMP_BAK_DIR"
|
||||
done
|
||||
|
||||
# Create the zip file
|
||||
echo "Adding files to $ZIP_NAME ..."
|
||||
zip -qr "$ZIP_FILE" "$TEMP_BAK_DIR"
|
||||
|
||||
# Encrypt the zip file using GPG
|
||||
echo "Encryping file with gpg"
|
||||
gpg -e -r gpg@nx2.site -o "$ENCRYPTED_FILE" "$ZIP_FILE"
|
||||
|
||||
echo "Moving file to Destination $DESTINATION"
|
||||
mv "$ENCRYPTED_FILE" "$DESTINATION"
|
||||
|
||||
echo "Updating latest-bakup path in $WEBROOT"
|
||||
echo "$DESTINATION" > "$WEBROOT/latest-backup"
|
||||
|
||||
echo "Cleaning up tempoary files and directories"
|
||||
rm -rf "$TEMP_BAK_DIR" "$TEMP_WORKING_DIR" "$ZIP_FILE"
|
||||
|
||||
echo "Backup and encryption complete: $DESTINATION"
|
||||
|
||||
echo "Space remaining:"
|
||||
dysk
|
||||
'';
|
||||
})
|
||||
];
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
(writeShellApplication {
|
||||
|
||||
51
home-modules/nxgs.nix
Normal file
51
home-modules/nxgs.nix
Normal file
@@ -0,0 +1,51 @@
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
ghostscript
|
||||
(writeShellApplication rec {
|
||||
name = "nxgs";
|
||||
text = /* bash */ ''
|
||||
print_help() {
|
||||
echo "Usage: ${name} {flip <file(s)>|rotate <file(s)>|merge <Out File Name> <files>}"
|
||||
}
|
||||
if [ $# -lt 1 ]; then
|
||||
print_help; exit 1;
|
||||
fi
|
||||
case "$1" in
|
||||
flip)
|
||||
for FILE in "''${@:2}"; do
|
||||
NXGSTEMP=$(mktemp)
|
||||
gs -o "$NXGSTEMP" -sDEVICE=pdfwrite -c "<</Orientation 2>> setpagedevice" -f "$FILE"
|
||||
mv "$NXGSTEMP" "$FILE"
|
||||
done
|
||||
;;
|
||||
rotate)
|
||||
for FILE in "''${@:2}"; do
|
||||
NXGSTEMP=$(mktemp)
|
||||
gs -o "$NXGSTEMP" -sDEVICE=pdfwrite -c "<</Orientation 1>> setpagedevice" -f "$FILE"
|
||||
mv "$NXGSTEMP" "$FILE"
|
||||
done
|
||||
;;
|
||||
merge)
|
||||
gs -dBATCH -dNOPAUSE -q -sOUTPUTFILE="$3" -sDEVICE=pdfwrite "''${@:3}"
|
||||
;;
|
||||
interactive-merge)
|
||||
echo -n "Enter Name of the merged file without extension: "; read -r MERGED
|
||||
NXGSTEMP=$(mktemp)
|
||||
echo "''${@:2}" | tr " " "\n" > "$NXGSTEMP"
|
||||
$EDITOR "$NXGSTEMP"
|
||||
mapfile -t FILES < "$NXGSTEMP"
|
||||
gs -dBATCH -dNOPAUSE -q -sOUTPUTFILE="''${MERGED}.pdf" -sDEVICE=pdfwrite "''${FILES[@]}"
|
||||
rm "$NXGSTEMP"
|
||||
;;
|
||||
*)
|
||||
echo "Error: Unknown command '$1'"
|
||||
print_help
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
exit 0
|
||||
'';
|
||||
})
|
||||
];
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{ pkgs, lib, host, ... }:
|
||||
lib.mkIf (host != "NxACE")
|
||||
{ pkgs, ... }@all: with all;
|
||||
lib.mkIf (hyper.host != "NxACE")
|
||||
{
|
||||
# home.packages = with pkgs; [
|
||||
# obs-studio
|
||||
|
||||
2
home-modules/office.nix
Executable file → Normal file
2
home-modules/office.nix
Executable file → Normal file
@@ -1,4 +1,4 @@
|
||||
{ config, pkgs, lib, user, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
libreoffice
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{ pkgs, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
ollama
|
||||
(writers.writePython3Bin "ooo" {
|
||||
libraries = [ pkgs.python3Packages.ollama ];
|
||||
flakeIgnore = [ "E501" "E305" "E701" "E704" "E302" "E114" "F841" "E121" ];
|
||||
@@ -15,10 +16,10 @@ if len(sys.argv) < 2:
|
||||
system_message = sys.argv[1]
|
||||
input_text = sys.stdin.read()
|
||||
try:
|
||||
response = ollama.chat(model='llama3.1:8b', messages=[
|
||||
response = ollama.chat(model='gemma3:4b', messages=[
|
||||
{
|
||||
'role': 'system',
|
||||
'content': "You are a text transformer. Follow the folling instruction:\n\n" + system_message + "\n\nOnly output the transformed text. Do not add any addidional conversation around the output. Just the result.",
|
||||
'content': system_message,
|
||||
},
|
||||
{
|
||||
'role': 'user',
|
||||
|
||||
30
home-modules/opencode.nix
Normal file
30
home-modules/opencode.nix
Normal file
@@ -0,0 +1,30 @@
|
||||
{ pkgs, ... }@all: with all; {
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
latest.opencode
|
||||
];
|
||||
file.".config/opencode/opencode.json".text = let
|
||||
model = "qwen2.5-coder:7b";
|
||||
in builtins.toJSON {
|
||||
"$schema" = "https://opencode.ai/config.json";
|
||||
model = "ollama/${model}";
|
||||
theme = "matrix";
|
||||
provider = {
|
||||
ollama = {
|
||||
apiKey = "KEY";
|
||||
disabled = false;
|
||||
npm = "@ai-sdk/openai-compatible";
|
||||
options = {
|
||||
baseURL = "http://localhost:11434/v1";
|
||||
};
|
||||
models = {
|
||||
"${model}" = {
|
||||
tools = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, pkgs, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
pandoc
|
||||
|
||||
15
home-modules/pkgs-list/desktop.nix
Normal file
15
home-modules/pkgs-list/desktop.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{ pkgs, ... }@all: with all; {
|
||||
home.packages = with pkgs; [
|
||||
brightnessctl
|
||||
blueman
|
||||
fontpreview
|
||||
gsettings-desktop-schemas
|
||||
imv
|
||||
pavucontrol
|
||||
# playerctl
|
||||
swww
|
||||
wev
|
||||
wl-clipboard
|
||||
xclip
|
||||
];
|
||||
}
|
||||
16
home-modules/pkgs-list/programs.nix
Normal file
16
home-modules/pkgs-list/programs.nix
Normal file
@@ -0,0 +1,16 @@
|
||||
{ pkgs, hyper, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
chromium
|
||||
element-desktop
|
||||
mpv
|
||||
qbittorrent
|
||||
unstable.spotify
|
||||
wl-clipboard
|
||||
xfce.thunar
|
||||
] ++ (if (hyper.host != "NxACE") then [
|
||||
signal-desktop
|
||||
obsidian
|
||||
zoom-us
|
||||
inkscape
|
||||
] else []);
|
||||
}
|
||||
39
home-modules/pkgs-list/shell.nix
Normal file
39
home-modules/pkgs-list/shell.nix
Normal file
@@ -0,0 +1,39 @@
|
||||
{ pkgs, ... }@all: with all; {
|
||||
home.packages = with pkgs; [
|
||||
bat
|
||||
cmake
|
||||
dig
|
||||
du-dust
|
||||
dysk
|
||||
exiftool
|
||||
eza
|
||||
ffmpeg
|
||||
figlet
|
||||
fzf
|
||||
gh
|
||||
glib
|
||||
glow
|
||||
gnumake
|
||||
htop
|
||||
imagemagick
|
||||
jq
|
||||
lolcat
|
||||
lynx
|
||||
mediainfo
|
||||
mpv
|
||||
neofetch
|
||||
pastel
|
||||
pdfgrep
|
||||
pipes
|
||||
pv
|
||||
reflex
|
||||
ripgrep
|
||||
screen
|
||||
speedtest-go
|
||||
sssnake
|
||||
systemctl-tui
|
||||
tldr
|
||||
w3m
|
||||
yt-dlp
|
||||
];
|
||||
}
|
||||
6
home-modules/pnx.nix
Executable file → Normal file
6
home-modules/pnx.nix
Executable file → Normal file
@@ -1,5 +1,5 @@
|
||||
{ pkgs, lib, host, secrets, ... }:
|
||||
lib.mkIf (host != "NxACE")
|
||||
{ pkgs, ... }@all: with all;
|
||||
lib.mkIf (hyper.host != "NxACE")
|
||||
{
|
||||
home.packages = [
|
||||
pkgs.remmina
|
||||
@@ -7,7 +7,7 @@ lib.mkIf (host != "NxACE")
|
||||
|
||||
(pkgs.writeShellScriptBin "connect_to_pnx" ''
|
||||
pushd ~/.vpn/
|
||||
sudo openvpn --config /home/nx2/.vpn/ljk-pnx.ovpn --auth-user-pass ~/.vpn/ljk-pnx-pass.txt #gets put there by home-manager
|
||||
sudo openvpn --config ${hyper.home}/.vpn/ljk-pnx.ovpn --auth-user-pass ~/.vpn/ljk-pnx-pass.txt #gets put there by home-manager
|
||||
popd
|
||||
'')
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
{ pkgs, pkgs-unstable, lib, host, ... }:
|
||||
lib.mkIf (host != "NxACE")
|
||||
{ pkgs, ... }@all: with all;
|
||||
lib.mkIf (hyper.host != "NxACE")
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
erlang
|
||||
rebar3
|
||||
] ++ (with pkgs-unstable; [
|
||||
gleam
|
||||
]);
|
||||
];
|
||||
}
|
||||
|
||||
8
home-modules/programming/go.nix
Normal file
8
home-modules/programming/go.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
go
|
||||
];
|
||||
};
|
||||
}
|
||||
8
home-modules/programming/java.nix
Normal file
8
home-modules/programming/java.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
jdk
|
||||
];
|
||||
};
|
||||
}
|
||||
7
home-modules/programming/js.nix
Normal file
7
home-modules/programming/js.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
nodejs
|
||||
typescript-language-server
|
||||
];
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{ pkgs, lib, host, ... }:
|
||||
lib.mkIf (host != "NxACE")
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
nodejs
|
||||
];
|
||||
}
|
||||
10
home-modules/programming/python.nix
Executable file → Normal file
10
home-modules/programming/python.nix
Executable file → Normal file
@@ -1,18 +1,20 @@
|
||||
{ pkgs, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home = let
|
||||
python-with-packages = pkgs.python3.withPackages (pp: with pp; [
|
||||
ipython
|
||||
pipdeptree
|
||||
requests
|
||||
google google-api-python-client google-auth-httplib2 google-auth-oauthlib
|
||||
debugpy
|
||||
black
|
||||
]);
|
||||
in {
|
||||
packages = [
|
||||
python-with-packages
|
||||
];
|
||||
] ++ (with pkgs; [
|
||||
python311Packages.python-lsp-server
|
||||
ruff
|
||||
pyright
|
||||
]);
|
||||
sessionVariables = {
|
||||
PYTHONPATH = "${python-with-packages}/${python-with-packages.sitePackages}";
|
||||
};
|
||||
|
||||
6
home-modules/qt.nix
Executable file → Normal file
6
home-modules/qt.nix
Executable file → Normal file
@@ -1,6 +1,8 @@
|
||||
{ pkgs, lib, user, ... }:
|
||||
{ ... }:
|
||||
{
|
||||
qt = {
|
||||
platformTheme = "gtk";
|
||||
enable = true;
|
||||
platformTheme.name = "qtct";
|
||||
style.name = "adwaita-dark";
|
||||
};
|
||||
}
|
||||
|
||||
5
home-modules/rofi.nix
Executable file → Normal file
5
home-modules/rofi.nix
Executable file → Normal file
@@ -1,4 +1,5 @@
|
||||
{ pkgs, rice, ... }: {
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
rofi-wayland
|
||||
];
|
||||
@@ -14,7 +15,7 @@
|
||||
}
|
||||
|
||||
* {
|
||||
font: "${rice.font.code.name2} 12";
|
||||
font: "${rice.font.code.name} 12";
|
||||
foreground: ${foreground};
|
||||
background-color: ${background}${trdr};
|
||||
padding: 0px;
|
||||
|
||||
6
home-modules/scanning.nix
Normal file
6
home-modules/scanning.nix
Normal file
@@ -0,0 +1,6 @@
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
xsane
|
||||
];
|
||||
}
|
||||
@@ -1,10 +1,8 @@
|
||||
{ pkgs, rice, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
let
|
||||
my-sent = pkgs.sent.override {
|
||||
patches = [
|
||||
./sent.patch
|
||||
# /home/${user}/.local/share/sent.patch
|
||||
# (builtins.toFile "/home/${user}/
|
||||
];
|
||||
};
|
||||
in
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{ user, inputs, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
imports = [
|
||||
inputs.sops-nix.homeManagerModules.sops
|
||||
];
|
||||
|
||||
sops = {
|
||||
# age.keyFile = "/home/${user}/.config/sops/age/keys.txt";
|
||||
gnupg.home = "/home/${user}/.gnupg";
|
||||
age.keyFile = lib.mkIf (hyper.host == "NxACE") "${hyper.home}.age_nx2_key_13.txt";
|
||||
gnupg.home = lib.mkIf (hyper.host != "NxACE") "${hyper.home}.gnupg";
|
||||
defaultSopsFile = ../sops-secrets.yaml;
|
||||
|
||||
# %r is $XDG_RUNTIME_DIR
|
||||
|
||||
18
home-modules/ssh.nix
Executable file → Normal file
18
home-modules/ssh.nix
Executable file → Normal file
@@ -1,27 +1,27 @@
|
||||
{ pkgs, domain, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home = {
|
||||
packages = with pkgs; [ sshfs ];
|
||||
file.".ssh/config".text = ''
|
||||
HOST nxace
|
||||
HostName ssh.${domain}
|
||||
User nx2
|
||||
HostName ssh.${hyper.domain}
|
||||
User ${hyper.user}
|
||||
Port 50022
|
||||
|
||||
HOST nxacel
|
||||
HostName 192.168.178.32
|
||||
User nx2
|
||||
HostName 10.0.1.1
|
||||
User ${hyper.user}
|
||||
Port 50022
|
||||
|
||||
HOST nxrpil
|
||||
HostName 192.168.178.31
|
||||
User nx2
|
||||
HostName 10.0.1.31
|
||||
User ${hyper.user}
|
||||
Port 22
|
||||
|
||||
HOST nxgit
|
||||
HostName ssh.${domain}
|
||||
HostName ssh.${hyper.domain}
|
||||
User git
|
||||
Port 20022
|
||||
Port 50022
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
3
home-modules/starship.nix
Executable file → Normal file
3
home-modules/starship.nix
Executable file → Normal file
@@ -1,7 +1,8 @@
|
||||
{ lib, rice, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
package = pkgs.starship;
|
||||
# enableBashIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
settings = with rice.color; {
|
||||
|
||||
3
home-modules/tts.nix
Executable file → Normal file
3
home-modules/tts.nix
Executable file → Normal file
@@ -1,5 +1,4 @@
|
||||
{ pkgs, lib, user, ... }:
|
||||
lib.mkIf (user != "tv")
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
(writeShellApplication {
|
||||
|
||||
8
home-modules/typst.nix
Normal file
8
home-modules/typst.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ pkgs, ... }@all: with all;
|
||||
lib.mkIf (hyper.host != "NxACE")
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
typst
|
||||
tinymist
|
||||
];
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }: let
|
||||
{ pkgs, ... }@all: with all; let
|
||||
vws = pkgs.vale.withStyles (s: [ s.alex s.google ]);
|
||||
in {
|
||||
home = {
|
||||
|
||||
4
home-modules/virt-manager.nix
Executable file → Normal file
4
home-modules/virt-manager.nix
Executable file → Normal file
@@ -1,5 +1,5 @@
|
||||
{ config, pkgs, lib, host, ... }:
|
||||
lib.mkIf (host == "NxNORTH")
|
||||
{ pkgs, ... }@all: with all;
|
||||
lib.mkIf (hyper.host == "NxNORTH")
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
virt-manager
|
||||
|
||||
107
home-modules/vscode.nix
Executable file → Normal file
107
home-modules/vscode.nix
Executable file → Normal file
@@ -1,6 +1,6 @@
|
||||
{ config, pkgs, lib, user, host, rice, allowed, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
config = lib.mkIf (host != "NxACE") {
|
||||
config = lib.mkIf (hyper.host != "NxACE") {
|
||||
home.packages = [
|
||||
pkgs.vscodium
|
||||
pkgs.nixpkgs-fmt
|
||||
@@ -8,6 +8,36 @@
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
profiles.default ={
|
||||
userSettings = {
|
||||
workbench.colorTheme = "Just Black";
|
||||
editor.fontFamily = "'${rice.font.code.name}', 'monospace', monospace";
|
||||
remote.SSH.useLocalServer = false;
|
||||
};
|
||||
keybindings = [
|
||||
{
|
||||
key = "ctrl+d";
|
||||
command = "editor.action.deleteLines";
|
||||
when = "textInputFocus";
|
||||
}
|
||||
{
|
||||
key = "ctrl+shift+d";
|
||||
command = "editor.action.duplicateSelection";
|
||||
when = "textInputFocus";
|
||||
}
|
||||
{
|
||||
# unset so that ctrl d is not set twice
|
||||
key = "";
|
||||
command = "editor.action.addSelectionToNextFindMatch";
|
||||
when = "editorFocus";
|
||||
}
|
||||
{
|
||||
# unset so that ctrl shift d is not set twice
|
||||
key = "";
|
||||
command = "workbench.view.debug";
|
||||
}
|
||||
];
|
||||
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
jnoortheen.nix-ide
|
||||
ms-python.python
|
||||
@@ -23,8 +53,6 @@
|
||||
mads-hartmann.bash-ide-vscode
|
||||
bungcip.better-toml
|
||||
arrterian.nix-env-selector
|
||||
# ms-vscode-remote.remote-ssh
|
||||
|
||||
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||
{
|
||||
name = "just-black";
|
||||
@@ -50,66 +78,27 @@
|
||||
version = "0.5.16";
|
||||
sha256 = "sha256-oHwtlbB18ctEnfStDOpJ+2/Kq41JZog8FVhTa1/s7m0=";
|
||||
}
|
||||
# {
|
||||
# name = "remote-ssh-edit";
|
||||
# publisher = "ms-vscode-remote";
|
||||
# version = "0.86.0";
|
||||
# sha256 = "1hp6gjh4xp2m1xlm1jsdzxw9d8frkiidhph6nvl24d0h8z34w49g";
|
||||
# }
|
||||
# {
|
||||
# name = "remote-ssh";
|
||||
# publisher = "ms-vscode-remote";
|
||||
# version = "0.110.2024030715";
|
||||
# sha256 = "sha256-gkxrBwPRDdLFaxc1/vYFBsv4Z0JOhDzb8LrLhkToC/g=";
|
||||
# }
|
||||
];
|
||||
userSettings = {
|
||||
workbench.colorTheme = "Just Black";
|
||||
editor.fontFamily = "'${rice.font.code.name2}', 'monospace', monospace";
|
||||
remote.SSH.useLocalServer = false;
|
||||
};
|
||||
enableUpdateCheck = false;
|
||||
enableExtensionUpdateCheck = false;
|
||||
keybindings = [
|
||||
{
|
||||
key = "ctrl+d";
|
||||
command = "editor.action.deleteLines";
|
||||
when = "textInputFocus";
|
||||
}
|
||||
{
|
||||
key = "ctrl+shift+d";
|
||||
command = "editor.action.duplicateSelection";
|
||||
when = "textInputFocus";
|
||||
}
|
||||
{
|
||||
# unset so that ctrl d is not set twice
|
||||
key = "";
|
||||
command = "editor.action.addSelectionToNextFindMatch";
|
||||
when = "editorFocus";
|
||||
}
|
||||
{
|
||||
# unset so that ctrl shift d is not set twice
|
||||
key = "";
|
||||
command = "workbench.view.debug";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
imports = if host != "NxACE" then [
|
||||
# Make vscode settings writable
|
||||
(import
|
||||
(builtins.fetchurl {
|
||||
url = "https://gist.githubusercontent.com/piousdeer/b29c272eaeba398b864da6abf6cb5daa/raw/41e569ba110eb6ebbb463a6b1f5d9fe4f9e82375/mutability.nix";
|
||||
sha256 = "4b5ca670c1ac865927e98ac5bf5c131eca46cc20abf0bd0612db955bfc979de8";
|
||||
})
|
||||
{ inherit config lib; })
|
||||
# imports = if hyper.host != "NxACE" then [
|
||||
# # Make vscode settings writable
|
||||
# (import
|
||||
# (builtins.fetchurl {
|
||||
# url = "https://gist.githubusercontent.com/piousdeer/b29c272eaeba398b864da6abf6cb5daa/raw/41e569ba110eb6ebbb463a6b1f5d9fe4f9e82375/mutability.nix";
|
||||
# sha256 = "4b5ca670c1ac865927e98ac5bf5c131eca46cc20abf0bd0612db955bfc979de8";
|
||||
# })
|
||||
# { inherit config pkgs; lib = lib; })
|
||||
|
||||
(import
|
||||
(builtins.fetchurl {
|
||||
url = "https://gist.githubusercontent.com/piousdeer/b29c272eaeba398b864da6abf6cb5daa/raw/41e569ba110eb6ebbb463a6b1f5d9fe4f9e82375/vscode.nix";
|
||||
sha256 = "fed877fa1eefd94bc4806641cea87138df78a47af89c7818ac5e76ebacbd025f";
|
||||
})
|
||||
{ inherit config lib pkgs; })
|
||||
] else [];
|
||||
# (import
|
||||
# (builtins.fetchurl {
|
||||
# url = "https://gist.githubusercontent.com/piousdeer/b29c272eaeba398b864da6abf6cb5daa/raw/41e569ba110eb6ebbb463a6b1f5d9fe4f9e82375/vscode.nix";
|
||||
# sha256 = "fed877fa1eefd94bc4806641cea87138df78a47af89c7818ac5e76ebacbd025f";
|
||||
# })
|
||||
# { inherit config pkgs; lib = lib; })
|
||||
# ] else [];
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ pkgs-unstable, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = with pkgs-unstable; [
|
||||
home.packages = with pkgs; [
|
||||
(writers.writePython3Bin "change_colors_json" {
|
||||
libraries = with python3Packages; [ numpy pillow scikit-learn ];
|
||||
flakeIgnore = [ "E302" "E305" "E226" "E501" ];
|
||||
@@ -8,6 +8,8 @@
|
||||
from colorsys import hls_to_rgb, rgb_to_hls
|
||||
import json
|
||||
import sys
|
||||
import subprocess
|
||||
from time import sleep
|
||||
from typing import Literal, cast
|
||||
from numpy.typing import NDArray
|
||||
from sklearn.cluster import KMeans
|
||||
@@ -25,7 +27,7 @@ def fc(c: int) -> str:
|
||||
return s
|
||||
|
||||
class Color(object):
|
||||
def __init__(self, rgb: tuple[int, ...], frequency: float):
|
||||
def __init__(self, rgb: tuple[int, ...], frequency: float = 1):
|
||||
assert len(rgb) == 3, "RGB values must be a tuple of length 3"
|
||||
self.rgb = cast(tuple[int, int, int], rgb)
|
||||
self.freq: float = frequency
|
||||
@@ -71,7 +73,7 @@ def ensure_color(c: Color, alter_sat: bool) -> list[int]:
|
||||
new_sat = min((sat**0.5) + 0.4, 1)
|
||||
else:
|
||||
new_sat = sat
|
||||
new_lum = max(lum, 0.5)
|
||||
new_lum = 0.6
|
||||
r, g, b = hls_to_rgb(h=hue, l=new_lum, s=new_sat)
|
||||
return [int(r*255), int(g*255), int(b*255)]
|
||||
|
||||
@@ -115,14 +117,25 @@ def extract_colors(
|
||||
colors.sort(reverse=True)
|
||||
|
||||
return Palette(colors)
|
||||
|
||||
def hyprpicker() -> Color:
|
||||
ret = str(subprocess.run(["bash", "-c", "${pkgs.hyprpicker}/bin/hyprpicker -n -f rgb | tail -n 1"], capture_output=True).stdout)[2:-3]
|
||||
return Color([int(c) for c in ret.split(" ")])
|
||||
|
||||
if __name__ == "__main__":
|
||||
img = sys.argv[1]
|
||||
|
||||
if sys.argv[1] == "img":
|
||||
img = sys.argv[2]
|
||||
palette = extract_colors(image=img, palette_size=3)
|
||||
|
||||
accent = ensure_color(c=palette[0], alter_sat=False)
|
||||
secondary = ensure_color(c=palette[1], alter_sat=True)
|
||||
tertiary = ensure_color(c=palette[2], alter_sat=False)
|
||||
elif sys.argv[1] == "manual":
|
||||
accent = ensure_color(c=hyprpicker(), alter_sat=False)
|
||||
sleep(0.1)
|
||||
secondary = ensure_color(c=hyprpicker(), alter_sat=True)
|
||||
sleep(0.1)
|
||||
tertiary = ensure_color(c=hyprpicker(), alter_sat=False)
|
||||
|
||||
weird = alter_hue(ilist=accent, hue=80)
|
||||
special = alter_hue(ilist=accent, hue=180)
|
||||
foreground = alter_l(accent, 0.9)
|
||||
|
||||
177
home-modules/waybar.nix
Executable file → Normal file
177
home-modules/waybar.nix
Executable file → Normal file
@@ -1,9 +1,11 @@
|
||||
{ lib, pkgs, user, rice, ... }: let
|
||||
{ pkgs, hyper, ... }@all: with all; let
|
||||
sep = " ";
|
||||
in {
|
||||
home.packages =
|
||||
let
|
||||
waybar_mode_script = /*bash*/ ''
|
||||
sops.secrets = {
|
||||
"nx2site/radicale/password" = { };
|
||||
};
|
||||
home.packages = [
|
||||
(pkgs.writeShellApplication { name = "waybar_mode"; text = /*bash*/ ''
|
||||
print_help() {
|
||||
echo "Usage: waybar_mode {set <string>|unset}"
|
||||
}
|
||||
@@ -33,19 +35,135 @@ in {
|
||||
;;
|
||||
esac
|
||||
exit 0
|
||||
'';
|
||||
cclock_script = /*bash*/ ''
|
||||
'';})
|
||||
(pkgs.writeShellApplication { name = "cclock"; text = /*bash*/ ''
|
||||
ord=$(date +"%e" | awk '{printf("%d%s\n", $1, ($1==11||$1==12||$1==13)?"th":((($1%10)==1)?"st":((($1%10)==2)?"nd":((($1%10)==3)?"rd":"th"))))}')
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "${sep}$(date +'%A the')" "$ord" "of" "$(date +'%B')" " ${sep}$(date +'%R')"
|
||||
elif [ "$1" = "--no-icons" ]; then
|
||||
echo "$(date +'%A the')" "$ord" "of" "$(date +'%B')" "$(date +'%R')"
|
||||
fi
|
||||
'';
|
||||
in
|
||||
with pkgs; [
|
||||
(writeShellApplication { name = "waybar_mode"; text = waybar_mode_script;})
|
||||
(writeShellApplication { name = "cclock"; text = cclock_script;})
|
||||
'';})
|
||||
(pkgs.writers.writePython3Bin "caldav_event" {
|
||||
libraries = with pkgs.python3Packages; [ caldav ics pytz ];
|
||||
flakeIgnore = [ "E302" "E305" "E501" "E261" ];
|
||||
} /* python */ ''
|
||||
import os
|
||||
import json
|
||||
from caldav import DAVClient
|
||||
from datetime import datetime, timezone
|
||||
from ics import Calendar
|
||||
from pytz import UTC
|
||||
|
||||
def get_password(password_file):
|
||||
with open(password_file, "r") as file:
|
||||
return file.read().strip()
|
||||
|
||||
def datetime_converter(obj):
|
||||
if isinstance(obj, datetime):
|
||||
return obj.isoformat()
|
||||
return obj
|
||||
|
||||
def datetime_parser(dct):
|
||||
for key, value in dct.items():
|
||||
if isinstance(value, str):
|
||||
try:
|
||||
dct[key] = datetime.fromisoformat(value)
|
||||
except ValueError:
|
||||
pass
|
||||
return dct
|
||||
|
||||
def load_cache(cache_file):
|
||||
if os.path.exists(cache_file):
|
||||
with open(cache_file, "r") as file:
|
||||
return json.load(file, object_hook=datetime_parser)
|
||||
return None
|
||||
|
||||
def save_cache(cache_file, data):
|
||||
with open(cache_file, "w") as file:
|
||||
json.dump(data, file, default=datetime_converter, indent=4)
|
||||
|
||||
|
||||
def get_ongoing_or_next_event(url, username, password):
|
||||
now = datetime.now(timezone.utc)
|
||||
|
||||
try:
|
||||
client = DAVClient(url, username=username, password=password)
|
||||
principal = client.principal()
|
||||
calendars = principal.calendars()
|
||||
|
||||
next_event_dict = {
|
||||
'event_name': "fake",
|
||||
'event_begin': datetime(9000, 1, 1, tzinfo=UTC), # in the year 9000
|
||||
'event_end': datetime(9000, 1, 1, 8, tzinfo=UTC),
|
||||
}
|
||||
|
||||
for calendar in calendars:
|
||||
for event in calendar.search(start=now):
|
||||
calendar_parsed = Calendar(event.data)
|
||||
for ics_event in calendar_parsed.events:
|
||||
event_dict = {}
|
||||
event_dict['event_name'] = ics_event.name or "(No Title)"
|
||||
event_dict['event_begin'] = ics_event.begin.astimezone(timezone.utc)
|
||||
event_dict['event_end'] = ics_event.end.astimezone(timezone.utc)
|
||||
|
||||
if event_dict['event_begin'] <= now and now <= event_dict['event_end']:
|
||||
return event_dict
|
||||
elif event_dict['event_begin'] >= now and next_event_dict['event_begin'] > event_dict['event_begin']:
|
||||
next_event_dict = event_dict
|
||||
return next_event_dict
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error accessing {url}: {e}")
|
||||
return None
|
||||
|
||||
def is_expired(event_dict: dict):
|
||||
now = datetime.now(timezone.utc).timestamp()
|
||||
event_start = event_dict['event_begin'].timestamp()
|
||||
event_end = event_dict['event_end'].timestamp()
|
||||
return not (event_start <= now <= event_end)
|
||||
|
||||
if __name__ == "__main__":
|
||||
password_file = "${config.sops.secrets."nx2site/radicale/password".path}" # Path to password file
|
||||
cache_file = "/tmp/caldav_event_cache.json" # Path to cache file
|
||||
url = "https://dav.${hyper.domain}/"
|
||||
username = "nx2"
|
||||
password = get_password(password_file)
|
||||
now = datetime.now(timezone.utc).timestamp()
|
||||
|
||||
event_dict = load_cache(cache_file)
|
||||
|
||||
if (event_dict is None) or (is_expired(event_dict)):
|
||||
event_dict = get_ongoing_or_next_event(url, username, password)
|
||||
save_cache(cache_file, event_dict)
|
||||
|
||||
if event_dict is None: # none were found
|
||||
print("* zen *")
|
||||
exit(0)
|
||||
|
||||
event_start = event_dict['event_begin'].timestamp()
|
||||
event_end = event_dict['event_end'].timestamp()
|
||||
|
||||
if event_start <= now <= event_end: # is currently ongoing
|
||||
action_string = "ends"
|
||||
t = event_end - now # time_remaining
|
||||
else: # is in the future
|
||||
action_string = "starts"
|
||||
t = event_start - now # time_remaining
|
||||
|
||||
hours, rem = divmod(int(t), 3600)
|
||||
minutes, _ = divmod(rem, 60)
|
||||
hour_string = f"{hours} hour{'s ' if hours != 1 else ' '}" if hours > 0 else ""
|
||||
minu_string = f"{minutes} minute{'s ' if minutes != 1 else ' '}" if minutes > 0 else ""
|
||||
if hour_string == "" and minu_string == "":
|
||||
time_string = "now"
|
||||
elif hour_string == "" or minu_string == "":
|
||||
time_string = "in " + hour_string + minu_string
|
||||
else:
|
||||
time_string = "in " + hour_string + "and " + minu_string
|
||||
|
||||
print(f"{event_dict['event_name']} {action_string} {time_string}")
|
||||
'')
|
||||
];
|
||||
|
||||
programs.waybar = {
|
||||
@@ -64,6 +182,7 @@ in {
|
||||
margin-bottom = 0;
|
||||
margin-right = 0;
|
||||
spacing = 10;
|
||||
fixed-center = true;
|
||||
modules-left = [
|
||||
# "cpu"
|
||||
# "memory"
|
||||
@@ -78,7 +197,7 @@ in {
|
||||
];
|
||||
modules-right = [
|
||||
"custom/mode"
|
||||
"custom/ctimeremaining"
|
||||
"custom/caldav_event"
|
||||
"custom/cclock"
|
||||
"tray"
|
||||
];
|
||||
@@ -97,10 +216,12 @@ in {
|
||||
exec = "cclock";
|
||||
restart-interval = 60;
|
||||
};
|
||||
# "custom/ctimeremaining" = {
|
||||
# exec = "nx_gcal_event lookup";
|
||||
# restart-interval = 60;
|
||||
# };
|
||||
"custom/caldav_event" = {
|
||||
format = "${sep}{}";
|
||||
exec = "caldav_event";
|
||||
restart-interval = 60;
|
||||
max-width = 60;
|
||||
};
|
||||
"custom/mode" = {
|
||||
exec = "cat /tmp/waybar-mode";
|
||||
interval = "once";
|
||||
@@ -163,7 +284,7 @@ in {
|
||||
};
|
||||
style = with rice.color; let f = rice.lib.hex-to-rgb-comma-string; in ''
|
||||
* {
|
||||
font-family: ${rice.font.code.name2};
|
||||
font-family: ${rice.font.code.name};
|
||||
font-size: 1em;
|
||||
min-height: 0px;
|
||||
margin: 0px;
|
||||
@@ -182,6 +303,7 @@ in {
|
||||
#clock,
|
||||
#custom-cclock,
|
||||
#custom-mode,
|
||||
#custom-caldav-event,
|
||||
#battery,
|
||||
#cpu,
|
||||
#tray,
|
||||
@@ -198,6 +320,10 @@ in {
|
||||
color: rgb(${f accent.bright});
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
font-family: ${rice.font.code.name};
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
color: rgb(${f accent.base});
|
||||
padding-left: 15px;
|
||||
@@ -207,7 +333,7 @@ in {
|
||||
|
||||
#workspaces button.active {
|
||||
color: rgb(${f background});
|
||||
background-color: rgba(${f accent.base},${builtins.toString rice.transparency});
|
||||
background-color: rgb(${f accent.base});
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
@@ -222,8 +348,8 @@ in {
|
||||
color: rgb(${f red.base});
|
||||
}
|
||||
|
||||
#window, #custom-ctimeremaining {
|
||||
font-family: ${rice.font.base.name}, ${rice.font.code.name2};
|
||||
#window, #custom-caldav_event {
|
||||
font-family: ${rice.font.base.name}, ${rice.font.code.name};
|
||||
color: rgb(${f tertiary.bright});
|
||||
}
|
||||
|
||||
@@ -238,11 +364,14 @@ in {
|
||||
color: rgb(${f green.base});;
|
||||
}
|
||||
|
||||
#battery.critical {
|
||||
color: rgb(${f red.dark});;
|
||||
background: rgb(${f red.bright});
|
||||
#battery.charging {
|
||||
color: rgb(${f green.base});
|
||||
}
|
||||
|
||||
#battery.critical {
|
||||
background: rgb(${f negative.base});
|
||||
color: rgb(${f foreground});
|
||||
}
|
||||
#battery.charging { color: rgb(${f green.base}); }
|
||||
'';
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
|
||||
2
home-modules/wlogout.nix
Executable file → Normal file
2
home-modules/wlogout.nix
Executable file → Normal file
@@ -1,4 +1,4 @@
|
||||
{ pkgs, rice,... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home = {
|
||||
packages = with pkgs; [ wlogout ];
|
||||
|
||||
32
home-modules/xdg.nix
Normal file
32
home-modules/xdg.nix
Normal file
@@ -0,0 +1,32 @@
|
||||
{ pkgs, ... }@all: with all; {
|
||||
xdg = {
|
||||
enable = true;
|
||||
configHome = "${hyper.home}.config";
|
||||
cacheHome = "${hyper.home}.cache";
|
||||
dataHome = "${hyper.home}.local/share";
|
||||
stateHome = "${hyper.home}.local/state";
|
||||
mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = let
|
||||
browser = "firefox.desktop";
|
||||
image = "imv.desktop";
|
||||
in {
|
||||
"default-web-browser" = [ browser ];
|
||||
"text/html" = [ browser ];
|
||||
"text/htm" = [ browser ];
|
||||
"x-scheme-handler/http" = [ browser ];
|
||||
"x-scheme-handler/https" = [ browser ];
|
||||
"x-scheme-handler/about" = [ browser ];
|
||||
"x-scheme-handler/unknown" = [ browser ];
|
||||
"x-scheme-handler/mailto" = "thunderbird.desktop";
|
||||
"image/png" = image;
|
||||
"image/jpg" = image;
|
||||
"image/jpeg" = image;
|
||||
"image/webp" = image;
|
||||
"image/gif" = image;
|
||||
"application/pdf" = "zathura.desktop";
|
||||
"inode/directory" = "thunar.desktop";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
321
home-modules/yazi.nix
Executable file → Normal file
321
home-modules/yazi.nix
Executable file → Normal file
@@ -1,18 +1,207 @@
|
||||
|
||||
{ pkgs, system, rice, inputs, ... }:
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
# yazi
|
||||
dragon
|
||||
unar
|
||||
];
|
||||
|
||||
programs.yazi = {
|
||||
enable = true;
|
||||
package = inputs.yazi.packages.${system}.default;
|
||||
# package = pkgs.yazi;
|
||||
package = inputs.yazi.packages.${hyper.system}.default;
|
||||
enableFishIntegration = true;
|
||||
shellWrapperName = "ya";
|
||||
initLua = /* lua */ ''
|
||||
require("zoxide"):setup {
|
||||
update_db = true,
|
||||
}
|
||||
Status:children_add(function()
|
||||
local h = cx.active.current.hovered
|
||||
if not h or ya.target_family() ~= "unix" then
|
||||
return ""
|
||||
end
|
||||
|
||||
return ui.Line {
|
||||
ui.Span(ya.user_name(h.cha.uid) or tostring(h.cha.uid)):fg("magenta"),
|
||||
":",
|
||||
ui.Span(ya.group_name(h.cha.gid) or tostring(h.cha.gid)):fg("magenta"),
|
||||
" ",
|
||||
}
|
||||
end, 500, Status.RIGHT)
|
||||
'';
|
||||
plugins = with pkgs; {
|
||||
inherit glow git;
|
||||
};
|
||||
# initLua = /* lua */ '' '';
|
||||
keymap = {
|
||||
mgr.keymap = [
|
||||
{ on = "<Esc>"; run = "escape"; desc = "Exit visual mode, clear selected, or cancel search"; }
|
||||
{ on = "q"; run = "quit"; desc = "Exit the process"; }
|
||||
{ on = "Q"; run = "quit --no-cwd-file"; desc = "Exit the process without writing cwd-file"; }
|
||||
{ on = "<C-w>"; run = "close"; desc = "Close the current tab, or quit if it is last tab"; }
|
||||
{ on = "<C-z>"; run = "suspend"; desc = "Suspend the process"; }
|
||||
# Hopping
|
||||
{ on = "k"; run = "arrow -1"; desc = "Move cursor up"; }
|
||||
{ on = "j"; run = "arrow 1"; desc = "Move cursor down"; }
|
||||
{ on = "<Up>"; run = "arrow -1"; desc = "Move cursor up"; }
|
||||
{ on = "<Down>"; run = "arrow 1"; desc = "Move cursor down"; }
|
||||
{ on = "<C-u>"; run = "arrow -50%"; desc = "Move cursor up half page"; }
|
||||
{ on = "<C-d>"; run = "arrow 50%"; desc = "Move cursor down half page"; }
|
||||
{ on = "<C-b>"; run = "arrow -100%"; desc = "Move cursor up one page"; }
|
||||
{ on = "<C-f>"; run = "arrow 100%"; desc = "Move cursor down one page"; }
|
||||
{ on = "<PageUp>"; run = "arrow -100%"; desc = "Move cursor up one page"; }
|
||||
{ on = "<PageDown>"; run = "arrow 100%"; desc = "Move cursor down one page"; }
|
||||
{ on = [ "g" "g" ]; run = "arrow top"; desc = "Move cursor to the top"; }
|
||||
{ on = [ "g" "e" ]; run = "arrow bot"; desc = "Move cursor to the end"; }
|
||||
{ on = [ "g" "h" ]; run = "cd ~"; desc = "Go to the home directory"; }
|
||||
{ on = [ "g" "n" ]; run = "cd ~/nix-dots"; desc = "Go to the Nix-Dotfiles directory"; }
|
||||
(pkgs.lib.mkIf (hyper.host == "NxACE") { on = [ "g" "s" ]; run = "cd /var/lib/hugo/nx2site"; desc = "Go to the Hugo Nx2.Site directory"; })
|
||||
{ on = [ "g" "n" ]; run = "cd /nix/store"; desc = "Go to the Nix-Store"; }
|
||||
{ on = [ "g" "c" ]; run = "cd ~/.config"; desc = "Go to the config directory"; }
|
||||
{ on = [ "g" "l" ]; run = "cd ~/.locale"; desc = "Go to the .locale directory"; }
|
||||
{ on = [ "g" "C" ]; run = "cd ~/.cache"; desc = "Go to the .cache directory"; }
|
||||
{ on = [ "g" "m" ]; run = "cd ~/media"; desc = "Go to the media (udiskie mount) directory"; }
|
||||
{ on = [ "g" "v" ]; run = "cd ~/Videos"; desc = "Go to the Videos directory"; }
|
||||
{ on = [ "g" "t" ]; run = "cd /tmp"; desc = "Go to the /tmp directory"; }
|
||||
{ on = [ "g" "d" ]; run = "cd ~/Downloads"; desc = "Go to the downloads directory"; }
|
||||
{ on = [ "g" "D" ]; run = "cd ~/Documents"; desc = "Go to the Documents directory"; }
|
||||
{ on = [ "g" "r" ]; run = "cd /"; desc = "Go to the root (/) directory"; }
|
||||
{ on = [ "g" "p" ]; run = "cd ~/projects"; desc = "Go to the projects directory"; }
|
||||
{ on = [ "g" "/" ]; run = "cd /"; desc = "Go to the root (/) directory"; }
|
||||
{ on = [ "g" "<Space>" ]; run = "cd --interactive"; desc = "Go to a directory interactively"; }
|
||||
# Navigation
|
||||
{ on = "h"; run = "leave"; desc = "Go back to the parent directory"; }
|
||||
{ on = "l"; run = "enter"; desc = "Enter the child directory"; }
|
||||
{ on = "<Left>"; run = "leave"; desc = "Go back to the parent directory"; }
|
||||
{ on = "<Right>"; run = "enter"; desc = "Enter the child directory"; }
|
||||
{ on = "H"; run = "back"; desc = "Go back to the previous directory"; }
|
||||
{ on = "L"; run = "forward"; desc = "Go forward to the next directory"; }
|
||||
# Seeking
|
||||
{ on = "K"; run = "seek -5"; desc = "Seek up 5 units in the preview"; }
|
||||
{ on = "J"; run = "seek 5"; desc = "Seek down 5 units in the preview"; }
|
||||
# Selection
|
||||
{ on = "<Space>"; run = [ "toggle --state=none" "arrow 1" ]; desc = "Toggle the current selection state"; }
|
||||
{ on = "v"; run = "visual_mode"; desc = "Enter visual mode (selection mode)"; }
|
||||
{ on = "V"; run = "visual_mode --unset"; desc = "Enter visual mode (unset mode)"; }
|
||||
{ on = "<C-a>"; run = "toggle_all --state=on"; desc = "Select all files"; }
|
||||
{ on = "<C-n>"; run = "toggle_all --state=off"; desc = "Deselect all files"; }
|
||||
{ on = "<C-r>"; run = "toggle_all --state=none"; desc = "Inverse selection of all files"; }
|
||||
# Operation
|
||||
{ on = "o"; run = "open"; desc = "Open selected files"; }
|
||||
{ on = "O"; run = "open --interactive"; desc = "Open selected files interactively"; }
|
||||
{ on = "<Enter>"; run = "open"; desc = "Open selected files"; }
|
||||
{ on = "<S-Enter>"; run = "open --interactive"; desc = "Open selected files interactively"; }
|
||||
{ on = "y"; run = [ ''shell -- for path in "$@"; do echo "file://$path"; done | wl-copy -t text/uri-list''
|
||||
"yank" ]; desc = "Yank selected files (copy)"; }
|
||||
{ on = "y"; run = "yank"; desc = "Yank selected files (copy)"; }
|
||||
{ on = "x"; run = "yank --cut"; desc = "Yank selected files (cut)"; }
|
||||
{ on = "p"; run = "paste"; desc = "Paste yanked "; }
|
||||
{ on = "P"; run = "paste --force"; desc = "Paste yanked (overwrite if exists)"; }
|
||||
{ on = "-"; run = "link"; desc = "Symlink the absolute path of yanked files"; }
|
||||
{ on = "_"; run = "link --relative"; desc = "Symlink the relative path of yanked files"; }
|
||||
{ on = "<C-->"; run = "hardlink"; desc = "Hardlink yanked files"; }
|
||||
{ on = "Y"; run = "unyank"; desc = "Cancel the yank status"; }
|
||||
{ on = "X"; run = "unyank"; desc = "Cancel the yank status"; }
|
||||
{ on = "d"; run = "remove"; desc = "Trash selected files"; }
|
||||
{ on = "D"; run = "remove --permanently"; desc = "Permanently delete selected files"; }
|
||||
{ on = "a"; run = "create"; desc = "Create a file (ends with / for directories)"; }
|
||||
{ on = "r"; run = "rename --cursor=before_ext"; desc = "Rename selected file(s)"; }
|
||||
{ on = ";"; run = "shell --interactive"; desc = "Run a shell command"; }
|
||||
{ on = ":"; run = "shell --block --interactive"; desc = "Run a shell command (block until finishes)"; }
|
||||
{ on = "."; run = "hidden toggle"; desc = "Toggle the visibility of hidden files"; }
|
||||
{ on = "s"; run = "search fd"; desc = "Search files by name using fd"; }
|
||||
{ on = "S"; run = "search rg"; desc = "Search files by content using ripgrep"; }
|
||||
{ on = "<C-s>"; run = "escape --search"; desc = "Cancel the ongoing search"; }
|
||||
{ on = "z"; run = "plugin zoxide"; desc = "Jump to a directory using zoxide"; }
|
||||
{ on = "Z"; run = "plugin fzf"; desc = "Jump to a directory or reveal a file using fzf"; }
|
||||
# Linemode
|
||||
{ on = [ "m" "s" ]; run = "linemode size"; desc = "Set linemode to size"; }
|
||||
{ on = [ "m" "p" ]; run = "linemode permissions"; desc = "Set linemode to permissions"; }
|
||||
{ on = [ "m" "c" ]; run = "linemode ctime"; desc = "Set linemode to ctime"; }
|
||||
{ on = [ "m" "m" ]; run = "linemode mtime"; desc = "Set linemode to mtime"; }
|
||||
{ on = [ "m" "o" ]; run = "linemode owner"; desc = "Set linemode to owner"; }
|
||||
{ on = [ "m" "n" ]; run = "linemode none"; desc = "Set linemode to none"; }
|
||||
# Copy
|
||||
{ on = [ "c" "c" ]; run = "copy path"; desc = "Copy the file path"; }
|
||||
{ on = [ "c" "d" ]; run = "copy dirname"; desc = "Copy the directory path"; }
|
||||
{ on = [ "c" "f" ]; run = "copy filename"; desc = "Copy the filename"; }
|
||||
{ on = [ "c" "n" ]; run = "copy name_without_ext"; desc = "Copy the filename without extension"; }
|
||||
# Filter
|
||||
{ on = "f"; run = "filter --smart"; desc = "Filter files"; }
|
||||
# Find
|
||||
{ on = "/"; run = "find --smart"; desc = "Find next file"; }
|
||||
{ on = "?"; run = "find --previous --smart"; desc = "Find previous file"; }
|
||||
{ on = "n"; run = "find_arrow"; desc = "Go to the next found"; }
|
||||
{ on = "N"; run = "find_arrow --previous"; desc = "Go to the previous found"; }
|
||||
# Sorting
|
||||
{ on = [ "," "m" ]; run = [ "sort modified --reverse=no" "linemode mtime" ]; desc = "Sort by modified time"; }
|
||||
{ on = [ "," "M" ]; run = [ "sort modified --reverse" "linemode mtime" ]; desc = "Sort by modified time (reverse)"; }
|
||||
{ on = [ "," "c" ]; run = [ "sort created --reverse=no" "linemode ctime" ]; desc = "Sort by created time"; }
|
||||
{ on = [ "," "C" ]; run = [ "sort created --reverse" "linemode ctime" ]; desc = "Sort by created time (reverse)"; }
|
||||
{ on = [ "," "e" ]; run = "sort extension --reverse=no"; desc = "Sort by extension"; }
|
||||
{ on = [ "," "E" ]; run = "sort extension --reverse"; desc = "Sort by extension (reverse)"; }
|
||||
{ on = [ "," "a" ]; run = "sort alphabetical --reverse=no"; desc = "Sort alphabetically"; }
|
||||
{ on = [ "," "A" ]; run = "sort alphabetical --reverse"; desc = "Sort alphabetically (reverse)"; }
|
||||
{ on = [ "," "n" ]; run = "sort natural --reverse=no"; desc = "Sort naturally"; }
|
||||
{ on = [ "," "N" ]; run = "sort natural --reverse"; desc = "Sort naturally (reverse)"; }
|
||||
{ on = [ "," "s" ]; run = [ "sort size --reverse=no" "linemode size" ]; desc = "Sort by size"; }
|
||||
{ on = [ "," "S" ]; run = [ "sort size --reverse" "linemode size" ]; desc = "Sort by size (reverse)"; }
|
||||
# Tab
|
||||
{ on = "t"; run = "tab_create --current"; desc = "Create a new tab with CWD"; }
|
||||
{ on = "<C-w>"; run = "close"; desc = "Close the current tab"; }
|
||||
{ on = "1"; run = "tab_switch 0"; desc = "Switch to the first tab"; }
|
||||
{ on = "2"; run = "tab_switch 1"; desc = "Switch to the second tab"; }
|
||||
{ on = "3"; run = "tab_switch 2"; desc = "Switch to the third tab"; }
|
||||
{ on = "4"; run = "tab_switch 3"; desc = "Switch to the fourth tab"; }
|
||||
{ on = "5"; run = "tab_switch 4"; desc = "Switch to the fifth tab"; }
|
||||
{ on = "6"; run = "tab_switch 5"; desc = "Switch to the sixth tab"; }
|
||||
{ on = "7"; run = "tab_switch 6"; desc = "Switch to the seventh tab"; }
|
||||
{ on = "8"; run = "tab_switch 7"; desc = "Switch to the eighth tab"; }
|
||||
{ on = "9"; run = "tab_switch 8"; desc = "Switch to the ninth tab"; }
|
||||
{ on = "<C-1>"; run = "tab_swap 0"; desc = "Swap current tab with the first tab"; }
|
||||
{ on = "<C-2>"; run = "tab_swap 1"; desc = "Swap current tab with the second tab"; }
|
||||
{ on = "<C-3>"; run = "tab_swap 2"; desc = "Swap current tab with the third tab"; }
|
||||
{ on = "<C-4>"; run = "tab_swap 3"; desc = "Swap current tab with the fourth tab"; }
|
||||
{ on = "<C-5>"; run = "tab_swap 4"; desc = "Swap current tab with the fifth tab"; }
|
||||
{ on = "<C-5>"; run = "tab_swap 4"; desc = "Swap current tab with "; }
|
||||
{ on = "<C-6>"; run = "tab_swap 5"; desc = "Swap current tab with the sixth tab"; }
|
||||
{ on = "<C-6>"; run = "tab_swap 5"; desc = "Swap current tab with "; }
|
||||
{ on = "<C-7>"; run = "tab_swap 6"; desc = "Swap current tab with the seventh tab"; }
|
||||
{ on = "<C-7>"; run = "tab_swap 6"; desc = "Swap current tab with tab"; }
|
||||
{ on = "<C-8>"; run = "tab_swap 7"; desc = "Swap current tab with the eighth tab"; }
|
||||
{ on = "<C-8>"; run = "tab_swap 7"; desc = "Swap current tab with b"; }
|
||||
{ on = "<C-9>"; run = "tab_swap 8"; desc = "Swap current tab with the ninth tab"; }
|
||||
{ on = "<C-9>"; run = "tab_swap 8"; desc = "Swap current tab with "; }
|
||||
{ on = "["; run = "tab_switch -1 --relative"; desc = "Switch to the previous tab"; }
|
||||
{ on = "["; run = "tab_switch -1 --relative"; desc = "Switch to thtab"; }
|
||||
{ on = "]"; run = "tab_switch 1 --relative"; desc = "Switch to the next tab"; }
|
||||
{ on = "]"; run = "tab_switch 1 --relative"; desc = "Switch ttab"; }
|
||||
{ on = "{"; run = "tab_swap -1"; desc = "Swap current tab with previous tab"; }
|
||||
{ on = "{"; run = "tab_swap -1"; desc = "Swap current tab wittab"; }
|
||||
{ on = "}"; run = "tab_swap 1"; desc = "Swap current tab with next tab"; }
|
||||
# Tasks
|
||||
{ on = "w"; run = "tasks_show"; desc = "Show task manager"; }
|
||||
];
|
||||
tasks.keymap = [
|
||||
# Task
|
||||
{ on = "w"; run = "close"; desc = "Close Task View"; }
|
||||
{ on = "q"; run = "close"; desc = "Close Task View"; }
|
||||
{ on = "<Esc>"; run = "close"; desc = "Close Task View"; }
|
||||
{ on = "c"; run = "cancel"; desc = "Cancel Task"; }
|
||||
{ on = "i"; run = "inspect"; desc = "Inspect Task"; }
|
||||
{ on = "j"; run = "arrow -1"; desc = "Up in list"; }
|
||||
{ on = "k"; run = "arrow 1"; desc = "Down in list"; }
|
||||
{ on = "u"; run = "arrow -5"; desc = "Up in list (fast)"; }
|
||||
{ on = "d"; run = "arrow 5"; desc = "Down in list (fast)"; }
|
||||
];
|
||||
help.keymap = [
|
||||
# Help
|
||||
{ on = "~"; run = "help"; desc = "Open help"; }
|
||||
{ on = "?"; run = "help"; desc = "Open help"; }
|
||||
{ on = "<F1>"; run = "help"; desc = "Open help"; }
|
||||
];
|
||||
};
|
||||
settings = {
|
||||
manager = {
|
||||
mgr = {
|
||||
layout = [2 3 4];
|
||||
sort_by = "natural";
|
||||
sort_sensitive = true;
|
||||
@@ -21,19 +210,15 @@
|
||||
linemode = "size";
|
||||
show_hidden = false;
|
||||
show_symlink = true;
|
||||
append_keymap = [
|
||||
{ on = [ "<C-g>" ]; run = "lazygit"; desc = "Run Lazygit in current directory"; }
|
||||
{ on = [ "<C-D>" ]; run = ''shell 'dragon -x -i -T "$1"' --confirm''; }
|
||||
];
|
||||
};
|
||||
opener = {
|
||||
"edit" = [
|
||||
{ run = ''hx "$@"''; desc = "helix"; block = true; }
|
||||
{ run = ''codium "$@"''; orphan = true;}
|
||||
{ run = ''nano "$@"''; desc = "nano"; block = true;}
|
||||
{ run = ''codium "$@"''; desc = "code"; orphan = true; }
|
||||
];
|
||||
"play" = [
|
||||
{ run = ''mpv "$@"''; }
|
||||
{ run = ''mpv "$@"''; desc = "mpv"; orphan = true; }
|
||||
{ run = ''mpv --vf=negate "$@"''; desc = "mpv inverted"; orphan = true; }
|
||||
{ run = ''mediainfo "$1"; echo "Press enter to exit"; read''; block = true; desc = "Show mediainfo"; }
|
||||
];
|
||||
"archive" = [
|
||||
@@ -42,33 +227,38 @@
|
||||
{ run = ''unzip "$1"''; desc = "unzip"; }
|
||||
];
|
||||
"image" = [
|
||||
{ run = ''imv "$@"''; desc = "imv";}
|
||||
{ run = ''gimp "$@"''; desc = "gimp";}
|
||||
{ run = ''imv "$@"''; desc = "imv"; orphan = true; }
|
||||
{ run = ''gimp "$@"''; desc = "gimp"; orphan = true; }
|
||||
{ run = ''swww img --transition-type wipe --transition-angle 60 --transition-step 120 --transition-fps 120 "$@"''; desc = "swww wallpaper"; }
|
||||
{ run = ''exiftool "$@"; echo "Press enter to exit"; read''; desc = "View Exif Data"; }
|
||||
{ run = ''for f in "$@"; do magick "$f" -auto-orient "''${f%.*}.pdf"; done''; desc = "Convert to PDF"; }
|
||||
];
|
||||
"svg" = [
|
||||
{ run = ''inkscape "$@"''; desc = "inkscape";}
|
||||
{ run = ''firefoc "$@"''; desc = "firefox";}
|
||||
{ run = ''inkscape "$@"''; desc = "inkscape"; orphan = true; }
|
||||
{ run = ''firefox "$@"''; desc = "firefox"; orphan = true; }
|
||||
];
|
||||
"font" = [
|
||||
{ run = ''fontpreview "$@"''; desc = "fontpreview"; }
|
||||
{ run = ''fontforge "$@"''; desc = "fortforge"; }
|
||||
{ run = ''fontpreview "$@"''; desc = "fontpreview"; orphan = true; }
|
||||
{ run = ''fontforge "$@"''; desc = "fortforge"; orphan = true; }
|
||||
];
|
||||
"document" = [
|
||||
{ run = ''zathura "$@"''; desc = "zathura"; }
|
||||
{ run = ''xournal "$@"''; desc = "xournal"; }
|
||||
{ run = ''firefox "$@"''; desc = "firefox"; }
|
||||
{ run = ''zathura "$@"''; desc = "zathura"; orphan = true; }
|
||||
{ run = ''xournal "$@"''; desc = "xournal"; orphan = true; }
|
||||
{ run = ''firefox "$@"''; desc = "firefox"; orphan = true; }
|
||||
{ run = ''nxgs flip "$@"''; desc = "nxgs flip"; }
|
||||
{ run = ''nxgs rotate "$@"''; desc = "nxgs rotate"; }
|
||||
{ run = ''nxgs interactive-merge "$@"''; block = true; desc = "nxgs merge"; }
|
||||
];
|
||||
"browser" = [
|
||||
{ run = ''firefox "$@"''; desc = "firefox"; }
|
||||
{ run = ''zen "$@"''; desc = "zen"; }
|
||||
{ run = ''chromium --enable-features=UseOzonePlatform --ozone-platform=wayland "$@"''; desc = "chromium"; }
|
||||
{ run = ''firefox "$@"''; desc = "firefox"; orphan = true; }
|
||||
{ run = ''zen "$@"''; desc = "zen"; orphan = true; }
|
||||
{ run = ''chromium --enable-features=UseOzonePlatform --ozone-platform=wayland "$@"''; desc = "chromium"; orphan = true; }
|
||||
{ run = ''w3m "$@"''; desc = "w3m"; }
|
||||
{ run = ''lynx "$@"''; desc = "lynx"; }
|
||||
];
|
||||
"office" = [
|
||||
{ run = ''libreoffice "$@"''; desc = "libreoffice"; }
|
||||
{ run = ''libreoffice --view "$@"''; desc = "libreoffice read-only"; }
|
||||
{ run = ''libreoffice "$@"''; desc = "libreoffice"; orphan = true; }
|
||||
{ run = ''libreoffice --view "$@"''; desc = "libreoffice read-only"; orphan = true; }
|
||||
];
|
||||
"shell" = [
|
||||
{ run = ''bash -c "$@"''; desc = "bash -c"; }
|
||||
@@ -87,6 +277,7 @@
|
||||
{ mime = "text/htm"; use = [ "edit" "browser" ]; }
|
||||
{ mime = "text/x-python"; use = "python"; }
|
||||
{ mime = "text/*"; use = "edit"; }
|
||||
{ mime = "text"; use = "edit"; }
|
||||
|
||||
{ mine = "inode/x-empty"; use = "edit"; }
|
||||
{ mine = "inode/directory"; use = "edit"; }
|
||||
@@ -94,9 +285,11 @@
|
||||
{ mime = "image/*"; use = "image"; }
|
||||
{ mime = "image/svg"; use = [ "image" "edit" ]; }
|
||||
|
||||
{ mime = "video/*"; use = "video"; }
|
||||
{ mime = "video/*"; use = "play"; }
|
||||
{ mime = "audio/*"; use = "play"; }
|
||||
|
||||
{ mime = "application/x-httpd-php"; use = [ "edit" "browser" ]; }
|
||||
{ mime = "application/javascript"; use = "edit"; }
|
||||
{ mime = "application/json"; use = "edit"; }
|
||||
{ mime = "application/ld+json"; use = "edit"; }
|
||||
{ mime = "application/pdf"; use = "document"; }
|
||||
@@ -120,7 +313,7 @@
|
||||
];
|
||||
};
|
||||
theme = with rice.color; {
|
||||
manager = {
|
||||
mgr = {
|
||||
cwd = { fg = foreground; bg = background; };
|
||||
hovered = { fg = background; bg = accent.base; };
|
||||
preview_hovered = { underline = false; };
|
||||
@@ -203,4 +396,74 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
xdg = {
|
||||
# # https://github.com/hunkyburrito/xdg-desktop-portal-termfilechooser/pull/44
|
||||
configFile = let
|
||||
wrapper = pkgs.writeShellApplication { name = "yazi-wrapper.sh"; text = /*bash*/ ''
|
||||
set -ex
|
||||
|
||||
multiple="$1"
|
||||
directory="$2"
|
||||
save="$3"
|
||||
path="$4"
|
||||
out="$5"
|
||||
|
||||
cmd="yazi"
|
||||
termcmd="''${TERMCMD:-kitty --title 'termfilechooser'}"
|
||||
|
||||
if [ "$save" = "1" ]; then
|
||||
# save a file
|
||||
set -- --chooser-file="$out" "$path"
|
||||
elif [ "$directory" = "1" ]; then
|
||||
# upload files from a directory
|
||||
set -- --chooser-file="$out" --cwd-file="$out" "$path"
|
||||
elif [ "$multiple" = "1" ]; then
|
||||
# upload multiple files
|
||||
set -- --chooser-file="$out" "$path"
|
||||
else
|
||||
# upload only 1 file
|
||||
set -- --chooser-file="$out" "$path"
|
||||
fi
|
||||
|
||||
command="$termcmd $cmd"
|
||||
for arg in "$@"; do
|
||||
# escape double quotes
|
||||
escaped=$(printf "%s" "$arg" | sed -E 's/[\"\(\)\{\}\|]//g')
|
||||
# escape spaces
|
||||
command="$command \"$escaped\""
|
||||
done
|
||||
|
||||
sh -c "$command"
|
||||
'';};
|
||||
in {
|
||||
"xdg-desktop-portal-termfilechooser/config".text = ''
|
||||
[filechooser]
|
||||
cmd=${wrapper}/bin/yazi-wrapper.sh
|
||||
env=TERMCMD=ghostty --title="terminal-file-picker -e"
|
||||
default_dir=$HOME
|
||||
open_mode=suggested
|
||||
save_mode=last
|
||||
'';
|
||||
# "xdg-desktop-portal-termfilechooser/config".text = ''
|
||||
# [filechooser]
|
||||
# cmd=${pkgs.latest.xdg-desktop-portal-termfilechooser}/share/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh
|
||||
# env=TERMCMD=ghostty --title="terminal-file-picker -e"
|
||||
# default_dir=$HOME
|
||||
# open_mode=suggested
|
||||
# save_mode=last
|
||||
# '';
|
||||
};
|
||||
portal = {
|
||||
enable = true;
|
||||
extraPortals = [ pkgs.latest.xdg-desktop-portal-termfilechooser ];
|
||||
config = {
|
||||
common = {
|
||||
"org.freedesktop.impl.portal.FileChooser" = "termfilechooser";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
home.sessionVariables = {
|
||||
GTK_USE_PORTAL = "1";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,18 +1,24 @@
|
||||
{ pkgs, rice, ... }:
|
||||
{ rice, ... }:
|
||||
{
|
||||
programs.zathura = {
|
||||
enable = true;
|
||||
options = with rice.color; {
|
||||
options = let
|
||||
f = rice.lib.hex-to-rgb-comma-string;
|
||||
t = builtins.toString rice.transparency;
|
||||
in with rice.color; {
|
||||
completion-bg = background;
|
||||
completion-fg = foreground;
|
||||
completion-highlight-bg = background;
|
||||
completion-highlight-fg = accent.base;
|
||||
default-bg = "rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency})";
|
||||
default-bg = "rgba(${f background},${t})";
|
||||
default-fg = foreground;
|
||||
highlight-active-color = "rgba(${rice.lib.hex-to-rgb-comma-string accent.base},0.5)";
|
||||
highlight-color = "rgba(${rice.lib.hex-to-rgb-comma-string secondary.base},0.5)";
|
||||
highlight-fg = "rgba(${rice.lib.hex-to-rgb-comma-string secondary.base},0.5)";
|
||||
index-active-bg = background;
|
||||
highlight-active-color = "rgba(${f accent.base},0.5)";
|
||||
highlight-color = "rgba(${f secondary.base},0.5)";
|
||||
highlight-fg = "rgba(${f secondary.base},0.5)";
|
||||
index-fg = accent.bright;
|
||||
index-bg = black.dark;
|
||||
index-active-fg = background;
|
||||
index-active-bg = foreground;
|
||||
inputbar-bg = background;
|
||||
inputbar-fg = foreground;
|
||||
notification-bg = background;
|
||||
@@ -31,6 +37,19 @@
|
||||
|
||||
n-completion-items = 9999999999999;
|
||||
exec-command = "open";
|
||||
page-padding = rice.border-width;
|
||||
|
||||
#stop at page boundries
|
||||
scroll-page-aware = true;
|
||||
smooth-scroll = true;
|
||||
scroll-full-overlap = 0.01;
|
||||
scroll-step = 100;
|
||||
};
|
||||
mappings = {
|
||||
h = ''feedkeys "<C-Left>"'';
|
||||
j = ''feedkeys "<C-Down>"'';
|
||||
k = ''feedkeys "<C-Up>"'';
|
||||
l = ''feedkeys "<C-Right>"'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
0
home-modules/zoxide.nix
Executable file → Normal file
0
home-modules/zoxide.nix
Executable file → Normal file
122
home.nix
Executable file → Normal file
122
home.nix
Executable file → Normal file
@@ -1,19 +1,22 @@
|
||||
{ pkgs, pkgs-unstable, host, user, inputs, ... }:
|
||||
{
|
||||
{ pkgs, ... }@all: with all; {
|
||||
imports = [
|
||||
./home-modules/auto-mount.nix
|
||||
./home-modules/bash.nix
|
||||
./home-modules/bitwarden.nix
|
||||
./home-modules/calendar.nix
|
||||
./home-modules/chatterino.nix
|
||||
./home-modules/clipboard.nix
|
||||
./home-modules/color-pallete.nix
|
||||
./home-modules/direnv.nix
|
||||
./home-modules/discord.nix
|
||||
./home-modules/email.nix
|
||||
./home-modules/figlet.nix
|
||||
./home-modules/firefox.nix
|
||||
./home-modules/fish.nix
|
||||
# ./home-modules/foot.nix
|
||||
./home-modules/games.nix
|
||||
./home-modules/gestures.nix
|
||||
./home-modules/ghostty.nix
|
||||
./home-modules/gimp.nix
|
||||
./home-modules/git.nix
|
||||
./home-modules/gpg.nix
|
||||
./home-modules/gtk.nix
|
||||
@@ -24,125 +27,52 @@
|
||||
./home-modules/latex.nix
|
||||
./home-modules/mako.nix
|
||||
# ./home-modules/matrix.nix
|
||||
# ./home-modules/nm.nix
|
||||
./home-modules/nh.nix
|
||||
./home-modules/nixd.nix
|
||||
./home-modules/nvidia.nix
|
||||
./home-modules/nx2site.nix
|
||||
# ./home-modules/nx-gcal-event.nix
|
||||
./home-modules/nxgs.nix
|
||||
./home-modules/obs.nix
|
||||
./home-modules/office.nix
|
||||
./home-modules/ollama.nix
|
||||
./home-modules/opencode.nix
|
||||
./home-modules/pandoc.nix
|
||||
./home-modules/pkgs-list/desktop.nix
|
||||
./home-modules/pkgs-list/programs.nix
|
||||
./home-modules/pkgs-list/shell.nix
|
||||
./home-modules/pnx.nix
|
||||
./home-modules/programming/c.nix
|
||||
./home-modules/programming/gleam.nix
|
||||
./home-modules/programming/node.nix
|
||||
./home-modules/programming/go.nix
|
||||
./home-modules/programming/java.nix
|
||||
./home-modules/programming/js.nix
|
||||
./home-modules/programming/python.nix
|
||||
./home-modules/qt.nix
|
||||
./home-modules/rofi.nix
|
||||
./home-modules/scanning.nix
|
||||
./home-modules/sent.nix
|
||||
./home-modules/sops.nix
|
||||
./home-modules/ssh.nix
|
||||
./home-modules/starship.nix
|
||||
./home-modules/tts.nix
|
||||
./home-modules/typst.nix
|
||||
./home-modules/vale.nix
|
||||
./home-modules/virt-manager.nix
|
||||
./home-modules/vscode.nix
|
||||
./home-modules/wallpaper-to-colors.nix
|
||||
./home-modules/waybar.nix
|
||||
./home-modules/wlogout.nix
|
||||
./home-modules/xdg.nix
|
||||
./home-modules/yazi.nix
|
||||
./home-modules/zathura.nix
|
||||
./home-modules/zoxide.nix
|
||||
];
|
||||
home.username = user;
|
||||
home.homeDirectory = "/home/${user}";
|
||||
home.stateVersion = "24.05";
|
||||
home.packages = with pkgs; [
|
||||
chromium
|
||||
|
||||
# zathura
|
||||
xfce.thunar
|
||||
|
||||
# spotify
|
||||
spicetify-cli
|
||||
|
||||
swww playerctl
|
||||
|
||||
imv mpv mediainfo exiftool ffmpeg
|
||||
pavucontrol
|
||||
fontpreview gtk2fontsel
|
||||
lynx w3m browsh
|
||||
bat du-dust eza neofetch tldr fzf figlet ripgrep lolcat jq glow
|
||||
brightnessctl wev
|
||||
piper-tts
|
||||
sssnake pipes
|
||||
dig
|
||||
screen
|
||||
reflex
|
||||
|
||||
gnumake
|
||||
cmake
|
||||
|
||||
speedtest-go
|
||||
|
||||
glib
|
||||
gsettings-desktop-schemas
|
||||
wl-clipboard
|
||||
xclip
|
||||
xournal
|
||||
ghostscript
|
||||
|
||||
inputs.zen-browser.packages."${system}".default
|
||||
|
||||
] ++ (with pkgs-unstable; [
|
||||
obsidian
|
||||
firefox
|
||||
spotify
|
||||
]) ++ (if host != "NxACE" then (with pkgs; [
|
||||
signal-desktop
|
||||
zoom-us
|
||||
gimp
|
||||
inkscape
|
||||
]) else (with pkgs-unstable; [
|
||||
|
||||
]));
|
||||
|
||||
xdg = {
|
||||
enable = true;
|
||||
configHome = /home/${user}/.config;
|
||||
cacheHome = /home/${user}/.cache;
|
||||
dataHome = /home/${user}/.local/share;
|
||||
stateHome = /home/${user}/.local/state;
|
||||
mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications =
|
||||
let
|
||||
browser = "firefox.desktop";
|
||||
in
|
||||
{
|
||||
"default-web-browser" = [ browser ];
|
||||
"text/html" = [ browser ];
|
||||
"text/htm" = [ browser ];
|
||||
"x-scheme-handler/http" = [ browser ];
|
||||
"x-scheme-handler/https" = [ browser ];
|
||||
"x-scheme-handler/about" = [ browser ];
|
||||
"x-scheme-handler/unknown" = [ browser ];
|
||||
"x-scheme-handler/mailto" = "thunderbird.desktop";
|
||||
"image/png" = "imv.desktop";
|
||||
"image/jpg" = "imv.desktop";
|
||||
"image/jpeg" = "imv.desktop";
|
||||
"image/webp" = "imv.desktop";
|
||||
"image/gif" = "imv.desktop";
|
||||
"application/pdf" = "zathura.desktop";
|
||||
"inode/directory" = "thunar.desktop";
|
||||
};
|
||||
};
|
||||
};
|
||||
# Wayland, X, etc. support for session vars
|
||||
# systemd.user.sessionVariables = home.sessionVariables;
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
] ++ (if (hyper.host == "NxACE") then [
|
||||
./home-modules/nx2site.nix
|
||||
./home-modules/nx2site-backup.nix
|
||||
./home-modules/calendar-campuszeit-fix.nix
|
||||
] else []);
|
||||
home.username = hyper.user;
|
||||
# home.homeDirectory = hyper.home; # for some reason you cant use hyper.home here
|
||||
home.homeDirectory = "/home/${hyper.user}";
|
||||
home.stateVersion = hyper.pkgs-version;
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
|
||||
24
nix-on-droid.nix
Normal file
24
nix-on-droid.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
# Simply install just the packages
|
||||
environment.packages = with pkgs; [
|
||||
helix
|
||||
git
|
||||
lazygit
|
||||
yazi
|
||||
];
|
||||
|
||||
# Backup etc files instead of failing to activate generation if a file already exists in /etc
|
||||
environment.etcBackupExtension = ".bak";
|
||||
|
||||
# Read the changelog before changing this value
|
||||
system.stateVersion = pkgs.version;
|
||||
|
||||
# Set up nix for flakes
|
||||
nix.extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
|
||||
# Set your time zone
|
||||
time.timeZone = "Europe/Berlin";
|
||||
}
|
||||
35
nixos-wsl.nix
Normal file
35
nixos-wsl.nix
Normal file
@@ -0,0 +1,35 @@
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
imports = [
|
||||
inputs.nixos-wsl.nixosModules.default
|
||||
./system-modules/users.nix
|
||||
./system-modules/gc.nix
|
||||
./system-modules/docker.nix
|
||||
./system-modules/gpg.nix
|
||||
./system-modules/networking.nix
|
||||
./system-modules/nixd.nix
|
||||
# ./system-modules/sops.nix
|
||||
# ./system-modules/sshd.nix
|
||||
# ./system-modules/syncthing.nix
|
||||
];
|
||||
system.stateVersion = pkgs.version;
|
||||
# system.stateVersion = "24.11";
|
||||
wsl = {
|
||||
defaultUser = hyper.user;
|
||||
enable = true;
|
||||
};
|
||||
nix = {
|
||||
settings = {
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
substitute = true;
|
||||
substituters = [
|
||||
"https://yazi.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"yazi.cachix.org-1:Dcdz63NZKfvUCbDGngQDAZq6kOroIrFoyO064uvLh8k="
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs.hostPlatform = hyper.system;
|
||||
}
|
||||
0
nxlib/ricelib.nix
Executable file → Normal file
0
nxlib/ricelib.nix
Executable file → Normal file
44
shell-only.nix
Normal file
44
shell-only.nix
Normal file
@@ -0,0 +1,44 @@
|
||||
{ pkgs, ... }@all: with all;
|
||||
{
|
||||
imports = [
|
||||
./home-modules/bash.nix
|
||||
./home-modules/color-pallete.nix
|
||||
./home-modules/direnv.nix
|
||||
./home-modules/fish.nix
|
||||
./home-modules/git.nix
|
||||
./home-modules/gpg.nix
|
||||
./home-modules/helix.nix
|
||||
./home-modules/latex.nix
|
||||
./home-modules/nh.nix
|
||||
./home-modules/nixd.nix
|
||||
./home-modules/nxgs.nix
|
||||
./home-modules/pandoc.nix
|
||||
./home-modules/programming/c.nix
|
||||
./home-modules/programming/gleam.nix
|
||||
./home-modules/programming/go.nix
|
||||
./home-modules/programming/java.nix
|
||||
./home-modules/programming/js.nix
|
||||
./home-modules/programming/python.nix
|
||||
# ./home-modules/sops.nix
|
||||
./home-modules/ssh.nix
|
||||
./home-modules/starship.nix
|
||||
./home-modules/vale.nix
|
||||
./home-modules/yazi.nix
|
||||
./home-modules/zoxide.nix
|
||||
|
||||
./home-modules/pkgs-list/shell.nix
|
||||
];
|
||||
home.username = hyper.user;
|
||||
# home.homeDirectory = hyper.home; # for some reason you cant use hyper.home here
|
||||
home.homeDirectory = "/home/${hyper.user}";
|
||||
home.stateVersion = pkgs.version;
|
||||
xdg = {
|
||||
enable = true;
|
||||
configHome = "${hyper.home}/.config";
|
||||
cacheHome = "${hyper.home}/.cache";
|
||||
dataHome = "${hyper.home}/.local/share";
|
||||
stateHome = "${hyper.home}/.local/state";
|
||||
};
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user