Compare commits
196 Commits
c5a0f61faa
...
nod
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e73b7333fc | ||
|
|
fcfc125373 | ||
|
|
3418cfd8f3 | ||
|
|
2585c76039 | ||
|
|
04f10a4afd | ||
|
|
651458875c | ||
|
|
9d04a09de8 | ||
|
|
0eaa052cd5 | ||
|
|
64a54b2cd6 | ||
|
|
55a22804c5 | ||
|
|
d85386bf9c | ||
|
|
1698d0f851 | ||
|
|
18d93e6b0c | ||
|
|
91020c0072 | ||
|
|
e6c5cd5ead | ||
|
|
068fd19353 | ||
|
|
6f7449839d | ||
|
|
9e2eb410ab | ||
|
|
fb974329e7 | ||
|
|
7a70d7dae3 | ||
|
|
e7c1c255bc | ||
|
|
52fe355b0a | ||
|
|
29a917ed37 | ||
|
|
7655e7b3bd | ||
|
|
858a8b77ec | ||
|
|
ba199f9568 | ||
|
|
5f3a3a6f30 | ||
|
|
9472550aaa | ||
|
|
1b7fe7f7ca | ||
|
|
b64abba7e5 | ||
|
|
df06425803 | ||
|
|
6befb22a59 | ||
|
|
b4cd70b5f6 | ||
|
|
78975da970 | ||
|
|
90c093fcef | ||
|
|
40eefbf948 | ||
|
|
042e8c7ee7 | ||
|
|
685a34fcbb | ||
|
|
812555c467 | ||
|
|
ffddb4773b | ||
|
|
98c0a26209 | ||
|
|
e25ad7891d | ||
|
|
470922dce2 | ||
|
|
b0cb61f05e | ||
|
|
e8373d6293 | ||
|
|
ff5de39a19 | ||
|
|
1fc8b2a7cb | ||
|
|
e19ed3ece1 | ||
|
|
4c178e57fa | ||
|
|
f7de7f740d | ||
|
|
6809a6494f | ||
|
|
21fee7056a | ||
|
|
d581209fdf | ||
|
|
67c1f6fb25 | ||
|
|
c1ca5b2cf5 | ||
|
|
3818645825 | ||
|
|
8e84355efd | ||
|
|
f11db2239e | ||
|
|
ebfd72baa8 | ||
|
|
6804f98b99 | ||
|
|
418dcad22c | ||
|
|
31925a5074 | ||
|
|
d3a407f1a5 | ||
|
|
122a4c6cd8 | ||
|
|
5fda879078 | ||
|
|
7b3d4e5dfd | ||
|
|
61984aecf9 | ||
|
|
e422234758 | ||
|
|
b7eb065442 | ||
|
|
60b4066e9b | ||
|
|
cea416b457 | ||
|
|
9d28a08cd4 | ||
|
|
6a4f270959 | ||
|
|
a4d6b98b4b | ||
|
|
ea3d4937ff | ||
|
|
aa6962cb0d | ||
|
|
fa168f01a6 | ||
|
|
511dac22a8 | ||
|
|
74fd62d6dc | ||
|
|
d8704de501 | ||
|
|
9f49dbbd98 | ||
|
|
caf48a81dd | ||
|
|
9399657469 | ||
|
|
10a50773e1 | ||
|
|
d81aa406a4 | ||
|
|
0f17b0c56e | ||
|
|
9b999bae90 | ||
|
|
1da06c73d1 | ||
|
|
84f7003bb6 | ||
|
|
4a83be441b | ||
|
|
e98cc3f4c5 | ||
|
|
07c637749a | ||
|
|
579887e825 | ||
|
|
a2003bc5aa | ||
|
|
d0964c01a7 | ||
|
|
04b2b7da33 | ||
|
|
f4f9e36b16 | ||
|
|
99b534a6a5 | ||
|
|
03131c8a65 | ||
|
|
7565b3163a | ||
|
|
960e786ee5 | ||
|
|
75904231c5 | ||
|
|
1085acc0f5 | ||
|
|
cd25a1a569 | ||
|
|
d009d109a9 | ||
|
|
b4b7378afa | ||
|
|
01deb843e4 | ||
|
|
efe96374de | ||
|
|
35c5760f50 | ||
|
|
fb17f37662 | ||
|
|
e81d82ad6e | ||
|
|
2c6e0f0b73 | ||
|
|
432c1e18f8 | ||
|
|
482b96d0ae | ||
|
|
208d1ed7b4 | ||
|
|
0162b27d79 | ||
|
|
1191019cf8 | ||
|
|
880b3abd60 | ||
|
|
5c9d924606 | ||
|
|
151f61d31e | ||
|
|
eba7f91576 | ||
|
|
eed5c14a25 | ||
|
|
8982916aee | ||
|
|
87ec047d20 | ||
|
|
8be6a841d0 | ||
|
|
bfc57081b8 | ||
|
|
edb394c95c | ||
|
|
5d3491ecec | ||
|
|
871a270a21 | ||
|
|
f222c3b595 | ||
|
|
de8e26e6e3 | ||
|
|
83af085bd6 | ||
|
|
9d84b4bcf0 | ||
|
|
69090a5aa2 | ||
|
|
a62a2113ca | ||
|
|
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 |
@@ -2,6 +2,9 @@ keys:
|
|||||||
- &users:
|
- &users:
|
||||||
- &nx2 22FB2CC03DC5292AB81CF67D0AF27B383170E634
|
- &nx2 22FB2CC03DC5292AB81CF67D0AF27B383170E634
|
||||||
- &nx2_key_13 age1x2lpsennl74n0f5jl60uv2ffjcuqymzf9ap3frlz2quyv0x3hq3scnewwq
|
- &nx2_key_13 age1x2lpsennl74n0f5jl60uv2ffjcuqymzf9ap3frlz2quyv0x3hq3scnewwq
|
||||||
|
- &xps-home age1pn4utvwpqdrswn0xurfdexn5nks9cd06jxzwg3m3m6za25ap4vxqxd0p3k
|
||||||
|
- &ace-home age1ur5zpr325cv7w0yn49azz9f48xsxd73w2sytt22yrnw5qs9r34nsv3vl05
|
||||||
|
- &north-home age1jr72q042ccgxpdgdaaev0arzc0vh3r02etv2tzhhsejl0mfaxs3q9hhlaz
|
||||||
- &hosts:
|
- &hosts:
|
||||||
- &north age1vkqn2nars5qmpr35tac0x9vshphrq6nnzjfyxwusgn27kt3zualssv0u8e
|
- &north age1vkqn2nars5qmpr35tac0x9vshphrq6nnzjfyxwusgn27kt3zualssv0u8e
|
||||||
- &xps age1jvf2lyrt2dw9jfnwgvnhmj9fmvyq8vvtepqjpkyycc5dqkkd4edqhxsgv6
|
- &xps age1jvf2lyrt2dw9jfnwgvnhmj9fmvyq8vvtepqjpkyycc5dqkkd4edqhxsgv6
|
||||||
@@ -14,5 +17,8 @@ creation_rules:
|
|||||||
- *xps
|
- *xps
|
||||||
- *ace
|
- *ace
|
||||||
- *nx2_key_13
|
- *nx2_key_13
|
||||||
|
- *xps-home
|
||||||
|
- *ace-home
|
||||||
|
- *north-home
|
||||||
pgp:
|
pgp:
|
||||||
- *nx2
|
- *nx2
|
||||||
|
|||||||
@@ -1,45 +1,44 @@
|
|||||||
{ pkgs, hyper, inputs, ... }:
|
{ ... }@all: with all; {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
inputs.nixpkgs.nixosModules.readOnlyPkgs
|
|
||||||
|
|
||||||
./system-modules/adb.nix
|
./system-modules/adb.nix
|
||||||
./system-modules/auto-mount.nix
|
./system-modules/auto-mount.nix
|
||||||
|
./system-modules/tz.nix
|
||||||
|
./system-modules/bluetooth.nix
|
||||||
./system-modules/boot.nix
|
./system-modules/boot.nix
|
||||||
./system-modules/boot.nix
|
./system-modules/cache.nix
|
||||||
./system-modules/calendar.nix
|
./system-modules/calendar.nix
|
||||||
./system-modules/dm.nix
|
./system-modules/dm.nix
|
||||||
./system-modules/docker.nix
|
./system-modules/docker.nix
|
||||||
./system-modules/fcitx5.nix
|
./system-modules/fcitx5.nix
|
||||||
./system-modules/fonts.nix
|
./system-modules/fonts.nix
|
||||||
./system-modules/fonts.nix
|
|
||||||
./system-modules/fuse.nix
|
|
||||||
./system-modules/fuse.nix
|
./system-modules/fuse.nix
|
||||||
./system-modules/games.nix
|
./system-modules/games.nix
|
||||||
./system-modules/gc.nix
|
./system-modules/gc.nix
|
||||||
./system-modules/gc.nix
|
|
||||||
./system-modules/gpg.nix
|
./system-modules/gpg.nix
|
||||||
./system-modules/hardware-configuration.nix
|
./system-modules/hardware-configuration.nix
|
||||||
./system-modules/hardware-configuration.nix
|
|
||||||
./system-modules/health_reminder.nix
|
./system-modules/health_reminder.nix
|
||||||
./system-modules/hsmw.nix
|
./system-modules/hsmw.nix
|
||||||
./system-modules/kanata.nix
|
./system-modules/kanata.nix
|
||||||
|
./system-modules/terminal.nix
|
||||||
./system-modules/kodi.nix
|
./system-modules/kodi.nix
|
||||||
./system-modules/networking.nix
|
./system-modules/networking.nix
|
||||||
./system-modules/nixd.nix
|
./system-modules/nixd.nix
|
||||||
./system-modules/nvidia.nix
|
./system-modules/nvidia.nix
|
||||||
./system-modules/nvidia.nix
|
./system-modules/obs.nix
|
||||||
./system-modules/ollama.nix
|
./system-modules/ollama.nix
|
||||||
./system-modules/qmk.nix
|
./system-modules/qmk.nix
|
||||||
./system-modules/scanning.nix
|
./system-modules/scanning.nix
|
||||||
./system-modules/sops.nix
|
./system-modules/sops.nix
|
||||||
./system-modules/sound.nix
|
./system-modules/sound.nix
|
||||||
./system-modules/sound.nix
|
|
||||||
./system-modules/sshd.nix
|
./system-modules/sshd.nix
|
||||||
|
./system-modules/input.nix
|
||||||
./system-modules/syncthing.nix
|
./system-modules/syncthing.nix
|
||||||
./system-modules/tuda.nix
|
./system-modules/tuda.nix
|
||||||
./system-modules/users.nix
|
./system-modules/gui.nix
|
||||||
|
./system-modules/editor.nix
|
||||||
|
./system-modules/printing.nix
|
||||||
|
./system-modules/security.nix
|
||||||
./system-modules/users.nix
|
./system-modules/users.nix
|
||||||
./system-modules/virtualisation.nix
|
./system-modules/virtualisation.nix
|
||||||
./system-modules/ydotool.nix
|
./system-modules/ydotool.nix
|
||||||
@@ -49,113 +48,26 @@
|
|||||||
./system-modules/postgres.nix
|
./system-modules/postgres.nix
|
||||||
./system-modules/nx2site/proxy.nix
|
./system-modules/nx2site/proxy.nix
|
||||||
./system-modules/nx2site/audiobookshelf.nix
|
./system-modules/nx2site/audiobookshelf.nix
|
||||||
# ./system-modules/nx2site/dyn_dns.nix
|
./system-modules/nx2site/copyparty.nix
|
||||||
./system-modules/nx2site/gitea.nix
|
./system-modules/nx2site/gitea.nix
|
||||||
./system-modules/nx2site/open-web-calendar.nix
|
./system-modules/nx2site/open-web-calendar.nix
|
||||||
./system-modules/nx2site/radicale.nix
|
./system-modules/nx2site/radicale.nix
|
||||||
# ./system-modules/nx2site/nextcloud.nix
|
|
||||||
./system-modules/nx2site/vaultwarden.nix
|
./system-modules/nx2site/vaultwarden.nix
|
||||||
./system-modules/nx2site/paperless.nix
|
./system-modules/nx2site/paperless.nix
|
||||||
|
./system-modules/calendar/publish.nix
|
||||||
./system-modules/calendar-publish.nix
|
./system-modules/calendar/lec.nix
|
||||||
./system-modules/calendar-lec.nix
|
./system-modules/calendar/lr.nix
|
||||||
./system-modules/calendar-lr.nix
|
./system-modules/calendar/dicos.nix
|
||||||
./system-modules/calendar-dicos.nix
|
|
||||||
] else [
|
] else [
|
||||||
]);
|
]);
|
||||||
|
environment.systemPackages = import ./system-modules/base-packages.nix pkgs;
|
||||||
# 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
|
|
||||||
parallel
|
|
||||||
# ]) ++ (with pkgs-unstable; [
|
|
||||||
# # sendme
|
|
||||||
]);
|
|
||||||
|
|
||||||
environment.variables = {
|
|
||||||
EDITOR = "hx";
|
|
||||||
VISUAL = "hx";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
programs.hyprland = {
|
|
||||||
# config is done with home-manager
|
|
||||||
enable = true;
|
|
||||||
xwayland.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.extraConfig = "DefaultLimitNOFILE=2048";
|
systemd.extraConfig = "DefaultLimitNOFILE=2048";
|
||||||
boot.tmp.useTmpfs = false;
|
system.stateVersion = hyper.pkgs-version;
|
||||||
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
system.stateVersion = pkgs.version;
|
|
||||||
|
|
||||||
nixpkgs.pkgs = pkgs;
|
|
||||||
|
|
||||||
nix = {
|
|
||||||
settings = {
|
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
substitute = true;
|
|
||||||
substituters = [
|
|
||||||
"https://yazi.cachix.org"
|
|
||||||
];
|
|
||||||
trusted-public-keys = [
|
|
||||||
"yazi.cachix.org-1:Dcdz63NZKfvUCbDGngQDAZq6kOroIrFoyO064uvLh8k="
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.bash.shellInit = ''
|
programs.bash.shellInit = ''
|
||||||
|
if [[ "$USER" == "${hyper.user}" ]]; then
|
||||||
source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
|
source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||||
|
fi
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
unfree = [
|
unfree = [
|
||||||
|
"cursor"
|
||||||
"discord"
|
"discord"
|
||||||
"spotify"
|
"spotify"
|
||||||
"obsidian"
|
"obsidian"
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
{
|
{
|
||||||
"base": {
|
"base": {
|
||||||
"foreground": "#fefefe",
|
"foreground": "#eddbef",
|
||||||
"background": "#020202"
|
"background": "#100711"
|
||||||
},
|
},
|
||||||
"to_alter": {
|
"to_alter": {
|
||||||
"accent": "#aaaaff",
|
"accent": "#ba71c0",
|
||||||
"secondary": "#aaeeff",
|
"secondary": "#3266ff",
|
||||||
"tertiary": "#aaffaa",
|
"tertiary": "#4bb6e6",
|
||||||
"special": "#aaffaa",
|
"special": "#76c071",
|
||||||
"weird": "#ffffaa"
|
"weird": "#c08571"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,10 +7,24 @@ pkgs: rec {
|
|||||||
gap-size = 5;
|
gap-size = 5;
|
||||||
border-width = 2;
|
border-width = 2;
|
||||||
color = let
|
color = let
|
||||||
dark = (-0.5);
|
dark = (-0.4);
|
||||||
bright = (0.5);
|
darker = (-0.6);
|
||||||
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; };
|
bright = 0.4;
|
||||||
alter = let f = lib.alter-luminace-hex; in color-value: { base = color-value; dark = f color-value dark; bright = f color-value bright; };
|
brighter = 0.7;
|
||||||
|
alter-set = let f = lib.alter-luminace-hex; in color-name: color-value: {
|
||||||
|
base = color-value;
|
||||||
|
dark = f color-value dark;
|
||||||
|
darker = f color-value darker;
|
||||||
|
bright = f color-value bright;
|
||||||
|
brighter = f color-value brighter;
|
||||||
|
};
|
||||||
|
alter = let f = lib.alter-luminace-hex; in color-value: {
|
||||||
|
base = color-value;
|
||||||
|
dark = f color-value dark;
|
||||||
|
darker = f color-value darker;
|
||||||
|
bright = f color-value bright;
|
||||||
|
brighter = f color-value brighter;
|
||||||
|
};
|
||||||
# ccolor = builtins.mapAttrs alter-set (builtins.fromJSON (builtins.readFile ./colors.json));
|
# ccolor = builtins.mapAttrs alter-set (builtins.fromJSON (builtins.readFile ./colors.json));
|
||||||
ccolor = builtins.mapAttrs alter-set {
|
ccolor = builtins.mapAttrs alter-set {
|
||||||
black = "#040404"; # "#111111" "#001100";
|
black = "#040404"; # "#111111" "#001100";
|
||||||
@@ -26,13 +40,14 @@ pkgs: rec {
|
|||||||
fbcolor = (builtins.fromJSON (builtins.readFile ./colors.json)).base;
|
fbcolor = (builtins.fromJSON (builtins.readFile ./colors.json)).base;
|
||||||
fcolor = facolor // fbcolor;
|
fcolor = facolor // fbcolor;
|
||||||
xcolor = with ccolor; with fcolor; {
|
xcolor = with ccolor; with fcolor; {
|
||||||
background = "#000000";
|
# background = "#000000";
|
||||||
# foreground = "#dddddd";
|
# foreground = "#dddddd";
|
||||||
# accent = blue;
|
# accent = blue;
|
||||||
# secondary = cyan;
|
# secondary = cyan;
|
||||||
# tertiary = magenta;
|
# tertiary = magenta;
|
||||||
# special = yellow;
|
# special = yellow;
|
||||||
# weird = green;
|
# weird = green;
|
||||||
|
subtle = { darker = "#111111"; dark = "#444444"; base = "#777777"; bright = "#999999"; brighter = "#cccccc"; };
|
||||||
positive = alter "#00dd00";
|
positive = alter "#00dd00";
|
||||||
negative = alter "#dd0000";
|
negative = alter "#dd0000";
|
||||||
border = accent.base;
|
border = accent.base;
|
||||||
@@ -40,17 +55,16 @@ pkgs: rec {
|
|||||||
};
|
};
|
||||||
in ccolor // fcolor // xcolor;
|
in ccolor // fcolor // xcolor;
|
||||||
font = {
|
font = {
|
||||||
code = {
|
code = rec {
|
||||||
name = "JetBrainsMono Nerd Font";
|
name = "JetBrainsMono Nerd Font";
|
||||||
package = pkgs.nerd-fonts.jetbrains-mono;
|
package = pkgs.nerd-fonts.jetbrains-mono;
|
||||||
# name = "CascadiaCove-NF";
|
regular-path = "${package}/share/fonts/truetype/NerdFonts/JetBrainsMonoNerdFont-Regular.ttf";
|
||||||
# package = (pkgs.nerdfonts.override { fonts = [ "CascadiaCode" ]; });
|
|
||||||
};
|
};
|
||||||
base = {
|
base = {
|
||||||
# name = "NewComputerModern08";
|
# name = "NewComputerModern08";
|
||||||
# package = pkgs.newcomputermodern;
|
# package = pkgs.newcomputermodern;
|
||||||
name = "Atkinson Hyperlegible";
|
name = "Atkinson Hyperlegible";
|
||||||
package = pkgs.atkinson-hyperlegible;
|
package = pkgs.atkinson-hyperlegible-next;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
cursor = {
|
cursor = {
|
||||||
|
|||||||
299
flake.lock
generated
299
flake.lock
generated
@@ -20,11 +20,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749155310,
|
"lastModified": 1760101617,
|
||||||
"narHash": "sha256-t0HfHg/1+TbSra5s6nNM0o4tnb3uqWedShSpZXsUMYY=",
|
"narHash": "sha256-8jf/3ZCi+B7zYpIyV04+3wm72BD7Z801IlOzsOACR7I=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "aquamarine",
|
"repo": "aquamarine",
|
||||||
"rev": "94981cf75a9f11da0b6dd6a1abbd7c50a36ab2d3",
|
"rev": "1826a9923881320306231b1c2090379ebf9fa4f8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -33,6 +33,25 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"copyparty": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1761517857,
|
||||||
|
"narHash": "sha256-1xYv73nGA+Lm/hKRqjiUyuBzabaRwmeDxBCIMve5CWU=",
|
||||||
|
"owner": "9001",
|
||||||
|
"repo": "copyparty",
|
||||||
|
"rev": "e9ab040ce8e72e299a3d8fbd109865b1e218eb57",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "9001",
|
||||||
|
"repo": "copyparty",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"crane": {
|
"crane": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731098351,
|
"lastModified": 1731098351,
|
||||||
@@ -51,11 +70,11 @@
|
|||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696426674,
|
"lastModified": 1747046372,
|
||||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -118,8 +137,23 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1678901627,
|
||||||
|
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_3"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731533236,
|
"lastModified": 1731533236,
|
||||||
@@ -186,11 +220,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749154018,
|
"lastModified": 1758463745,
|
||||||
"narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=",
|
"narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111",
|
"rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -200,23 +234,23 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home-manager_2": {
|
"home-manager24": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nix-on-droid",
|
"nixpkgs24"
|
||||||
"nixpkgs"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709445365,
|
"lastModified": 1726989464,
|
||||||
"narHash": "sha256-DVv6nd9FQBbMWbOmhq0KVqmlc3y3FMSYl49UXmMcO+0=",
|
"narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "4de84265d7ec7634a69ba75028696d74de9a44a7",
|
"rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
|
"ref": "release-24.05",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -237,11 +271,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749155331,
|
"lastModified": 1753964049,
|
||||||
"narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=",
|
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprcursor",
|
"repo": "hyprcursor",
|
||||||
"rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80",
|
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -266,11 +300,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749238452,
|
"lastModified": 1760445448,
|
||||||
"narHash": "sha256-8qiKEWcxUrjpUpK+WyFNg/72C8rp70LUuyTD23T+SdQ=",
|
"narHash": "sha256-fXGjL6dw31FPFRrmIemzGiNSlfvEJTJNsmadZi+qNhI=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprgraphics",
|
"repo": "hyprgraphics",
|
||||||
"rev": "c7225d73755a6c4c7c72f4d4f3925ea426e325a8",
|
"rev": "50fb9f069219f338a11cf0bcccb9e58357d67757",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -289,17 +323,17 @@
|
|||||||
"hyprlang": "hyprlang",
|
"hyprlang": "hyprlang",
|
||||||
"hyprutils": "hyprutils",
|
"hyprutils": "hyprutils",
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"pre-commit-hooks": "pre-commit-hooks",
|
"pre-commit-hooks": "pre-commit-hooks",
|
||||||
"systems": "systems",
|
"systems": "systems",
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749982876,
|
"lastModified": 1761249114,
|
||||||
"narHash": "sha256-SCorI7O9GEF804gf/VcDwXHZx5Y2ISvsOoVsShpHJbA=",
|
"narHash": "sha256-KDy8Vtlwe+7Z053HtD4fCRqlHBt0Kils0Zea4D77R7o=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "d037c54260d4f55c7f7b5ca69faa2ebe10289ef8",
|
"rev": "aa5a239ac92a6bd6947cce2ca3911606df392cb6",
|
||||||
"revCount": 6193,
|
"revCount": 6522,
|
||||||
"submodules": true,
|
"submodules": true,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/hyprwm/Hyprland"
|
"url": "https://github.com/hyprwm/Hyprland"
|
||||||
@@ -327,11 +361,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749980366,
|
"lastModified": 1761653710,
|
||||||
"narHash": "sha256-sB2jmzoZgxMOpLsw4EfQyp2NbO3qhorR6gAdbNXHxOk=",
|
"narHash": "sha256-MhHSU9m/9HSckJ61OXcom/6F92NQf3s1QfLbRUApalc=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-plugins",
|
"repo": "hyprland-plugins",
|
||||||
"rev": "4783860953a0777fee43d45fee0df9173f9e8c9e",
|
"rev": "e689220b1740aa99ca67fa06055792f82fa9ed85",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -352,11 +386,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749046714,
|
"lastModified": 1759610243,
|
||||||
"narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=",
|
"narHash": "sha256-+KEVnKBe8wz+a6dTLq8YDcF3UrhQElwsYJaVaHXJtoI=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-protocols",
|
"repo": "hyprland-protocols",
|
||||||
"rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330",
|
"rev": "bd153e76f751f150a09328dbdeb5e4fab9d23622",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -420,11 +454,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749155776,
|
"lastModified": 1759080228,
|
||||||
"narHash": "sha256-t1PM0wxQLQwv2F2AW23uA7pm5giwmcgYEWbNIRct9r4=",
|
"narHash": "sha256-RgDoAja0T1hnF0pTc56xPfLfFOO8Utol2iITwYbUhTk=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-qtutils",
|
"repo": "hyprland-qtutils",
|
||||||
"rev": "396e8aa1c06274835b69da7f9a015fff9a9b7522",
|
"rev": "629b15c19fa4082e4ce6be09fdb89e8c3312aed7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -449,11 +483,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749145882,
|
"lastModified": 1758927902,
|
||||||
"narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=",
|
"narHash": "sha256-LZgMds7M94+vuMql2bERQ6LiFFdhgsEFezE4Vn+Ys3A=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlang",
|
"repo": "hyprlang",
|
||||||
"rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676",
|
"rev": "4dafa28d4f79877d67a7d1a654cddccf8ebf15da",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -462,27 +496,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hyprspace": {
|
|
||||||
"inputs": {
|
|
||||||
"hyprland": [
|
|
||||||
"hyprland"
|
|
||||||
],
|
|
||||||
"systems": "systems_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1747531250,
|
|
||||||
"narHash": "sha256-uDhXNURTJgQSpiaCgzqAizbblpcEWEB1WGWEqtCnLLM=",
|
|
||||||
"owner": "KZDKM",
|
|
||||||
"repo": "Hyprspace",
|
|
||||||
"rev": "511d399120bdcafb43e57ca5ff35167c2bba6db8",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "KZDKM",
|
|
||||||
"repo": "Hyprspace",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprutils": {
|
"hyprutils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -495,11 +508,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749819919,
|
"lastModified": 1759619523,
|
||||||
"narHash": "sha256-7F/KG8dwSH9JXdlpOVrEEArS+PJSn0iEnx5eVCk89/I=",
|
"narHash": "sha256-r1ed7AR2ZEb2U8gy321/Xcp1ho2tzn+gG1te/Wxsj1A=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprutils",
|
"repo": "hyprutils",
|
||||||
"rev": "57ab2a867d8b554ad89f29060c15efd11631db91",
|
"rev": "3df7bde01efb3a3e8e678d1155f2aa3f19e177ef",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -520,11 +533,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749145760,
|
"lastModified": 1755184602,
|
||||||
"narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=",
|
"narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprwayland-scanner",
|
"repo": "hyprwayland-scanner",
|
||||||
"rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6",
|
"rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -538,7 +551,7 @@
|
|||||||
"crane": "crane",
|
"crane": "crane",
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
|
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
|
||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
@@ -582,10 +595,12 @@
|
|||||||
},
|
},
|
||||||
"nix-on-droid": {
|
"nix-on-droid": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": [
|
||||||
|
"home-manager24"
|
||||||
|
],
|
||||||
"nix-formatter-pack": "nix-formatter-pack",
|
"nix-formatter-pack": "nix-formatter-pack",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs24"
|
||||||
],
|
],
|
||||||
"nixpkgs-docs": "nixpkgs-docs",
|
"nixpkgs-docs": "nixpkgs-docs",
|
||||||
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap",
|
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap",
|
||||||
@@ -609,14 +624,14 @@
|
|||||||
"nixos-wsl": {
|
"nixos-wsl": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_3",
|
"flake-compat": "flake-compat_3",
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749574455,
|
"lastModified": 1761563673,
|
||||||
"narHash": "sha256-fm2/8KPOYvvIAnNVtjDlTt/My00lIbZQ+LMrfQIWVzs=",
|
"narHash": "sha256-d+1TpVAmRjcNBfjZsh2yQSdwUfN7Xgz1blJ185g73+A=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"rev": "917af390377c573932d84b5e31dd9f2c1b5c0f09",
|
"rev": "a518cf710e5ebb935518dc7ac98e07e7ee5014c3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -628,18 +643,17 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749794982,
|
"lastModified": 1748162331,
|
||||||
"narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=",
|
"narHash": "sha256-rqc2RKYTxP3tbjA+PB3VMRQNnjesrT0pEofXQTrMsS8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81",
|
"rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"id": "nixpkgs",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-25.05",
|
||||||
"repo": "nixpkgs",
|
"type": "indirect"
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-docs": {
|
"nixpkgs-docs": {
|
||||||
@@ -676,11 +690,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-latest": {
|
"nixpkgs-latest": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750014763,
|
"lastModified": 1761810199,
|
||||||
"narHash": "sha256-lO6pbyJy8AlmCH50M9Am1L6BmvrGwI6qqQYhyBp/DQI=",
|
"narHash": "sha256-iMLB/90mK7lncjk3GVYlAmN1K+D6/7JVhOSau3O7eK0=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "edcaeb67ef6ef8d57443ddc35be953d8ac39258b",
|
"rev": "d03f6e8ae73c291f8088abf52ae378c448a2cce3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -708,11 +722,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749794982,
|
"lastModified": 1761672384,
|
||||||
"narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=",
|
"narHash": "sha256-o9KF3DJL7g7iYMZq9SWgfS1BFlNbsm6xplRjVlOCkXI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81",
|
"rev": "08dacfca559e1d7da38f3cf05f1f45ee9bfd213c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -721,7 +735,39 @@
|
|||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs24": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1735563628,
|
||||||
|
"narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-24.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1761114652,
|
||||||
|
"narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731919951,
|
"lastModified": 1731919951,
|
||||||
"narHash": "sha256-vOM6ETpl1yu9KLi/icTmLJIPbbdJCdAVYUXZceO/Ce4=",
|
"narHash": "sha256-vOM6ETpl1yu9KLi/icTmLJIPbbdJCdAVYUXZceO/Ce4=",
|
||||||
@@ -737,29 +783,29 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749173751,
|
"lastModified": 1761373498,
|
||||||
"narHash": "sha256-ENY3y3v6S9ZmLDDLI3LUT8MXmfXg/fSt2eA4GCnMVCE=",
|
"narHash": "sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ed29f002b6d6e5e7e32590deb065c34a31dc3e91",
|
"rev": "6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-24.11",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749857119,
|
"lastModified": 1761468971,
|
||||||
"narHash": "sha256-tG5xUn3hFaPpAHYIvr2F88b+ovcIO5k1HqajFy7ZFPM=",
|
"narHash": "sha256-vY2OLVg5ZTobdroQKQQSipSIkHlxOTrIF1fsMzPh8w8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "5f4f306bea96741f1588ea4f450b2a2e29f42b98",
|
"rev": "78e34d1667d32d8a0ffc3eba4591ff256e80576e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -768,13 +814,13 @@
|
|||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747312588,
|
"lastModified": 1756288264,
|
||||||
"narHash": "sha256-MmJvj6mlWzeRwKGLcwmZpKaOPZ5nJb/6al5CXqJsgjo=",
|
"narHash": "sha256-Om8adB1lfkU7D33VpR+/haZ2gI5r3Q+ZbIPzE5sYnwE=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b1bebd0fe266bbd1820019612ead889e96a8fa2d",
|
"rev": "ddd1826f294a0ee5fdc198ab72c8306a0ea73aa9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -848,11 +894,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749636823,
|
"lastModified": 1760663237,
|
||||||
"narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=",
|
"narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "623c56286de5a3193aa38891a6991b28f9bab056",
|
"rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -890,16 +936,18 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"copyparty": "copyparty",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
"home-manager24": "home-manager24",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"hyprland-plugins": "hyprland-plugins",
|
"hyprland-plugins": "hyprland-plugins",
|
||||||
"hyprspace": "hyprspace",
|
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
"nix-on-droid": "nix-on-droid",
|
"nix-on-droid": "nix-on-droid",
|
||||||
"nixos-wsl": "nixos-wsl",
|
"nixos-wsl": "nixos-wsl",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_5",
|
||||||
"nixpkgs-latest": "nixpkgs-latest",
|
"nixpkgs-latest": "nixpkgs-latest",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
|
"nixpkgs24": "nixpkgs24",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"yazi": "yazi"
|
"yazi": "yazi"
|
||||||
}
|
}
|
||||||
@@ -933,11 +981,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747363019,
|
"lastModified": 1756348497,
|
||||||
"narHash": "sha256-N4dwkRBmpOosa4gfFkFf/LTD8oOcNkAyvZ07JvRDEf0=",
|
"narHash": "sha256-xJp3VnoYh4kpsaKFO/7SsGbwOz7pI1ZmjbqpXEuR2cw=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "0e624f2b1972a34be1a9b35290ed18ea4b419b6f",
|
"rev": "0adf92c70d23fb4f703aea5d3ebb51ac65994f7f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -969,11 +1017,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749592509,
|
"lastModified": 1760998189,
|
||||||
"narHash": "sha256-VunQzfZFA+Y6x3wYi2UE4DEQ8qKoAZZCnZPUlSoqC+A=",
|
"narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "50754dfaa0e24e313c626900d44ef431f3210138",
|
"rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -998,21 +1046,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_2": {
|
"systems_2": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1689347949,
|
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default-linux",
|
|
||||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default-linux",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems_3": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
@@ -1055,11 +1088,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749490041,
|
"lastModified": 1760713634,
|
||||||
"narHash": "sha256-R9Dn9IyUdPaJHD2Oqd7XJnnxpka6M6UYw4Ld0iA46HM=",
|
"narHash": "sha256-5HXelmz2x/uO26lvW7MudnadbAfoBnve4tRBiDVLtOM=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"rev": "3cf35e178bc192ee51e3fddfd69e531e2c106a30",
|
"rev": "753bbbdf6a052994da94062e5b753288cef28dfb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1070,16 +1103,16 @@
|
|||||||
},
|
},
|
||||||
"yazi": {
|
"yazi": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils_2",
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_6",
|
||||||
"rust-overlay": "rust-overlay_2"
|
"rust-overlay": "rust-overlay_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749888828,
|
"lastModified": 1761655046,
|
||||||
"narHash": "sha256-D6suAjGrP3W3tXGrVffS7EMtMUNQEq0cBzQb5+vjMyY=",
|
"narHash": "sha256-lG7eQqs8HDmmOl6vFkJ1iDlQBR+jY30uD4YtvWulCZc=",
|
||||||
"owner": "sxyazi",
|
"owner": "sxyazi",
|
||||||
"repo": "yazi",
|
"repo": "yazi",
|
||||||
"rev": "917fee939f23b00a6ea6180f74f7f0e76afc56f9",
|
"rev": "564b8851961a7545a93ebf04c0f8dd5778d0eccb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
104
flake.nix
104
flake.nix
@@ -2,88 +2,140 @@
|
|||||||
description = "Multisystem NixOS Flake of Lennart J. Kurzweg";
|
description = "Multisystem NixOS Flake of Lennart J. Kurzweg";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs = { url = "nixpkgs/nixos-25.05"; };
|
nixpkgs.url = "nixpkgs/nixos-25.05";
|
||||||
nixpkgs-unstable = { url = "nixpkgs/nixos-unstable"; };
|
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
|
||||||
nixpkgs-latest = { url = "github:nixos/nixpkgs?ref=master"; };
|
nixpkgs-latest.url = "github:nixos/nixpkgs?ref=master";
|
||||||
|
nixpkgs24.url = "github:NixOS/nixpkgs/nixos-24.05";
|
||||||
|
|
||||||
home-manager = { url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; };
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager/release-25.05";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
home-manager24 ={
|
||||||
|
url = "github:nix-community/home-manager/release-24.05";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs24";
|
||||||
|
};
|
||||||
|
|
||||||
nixos-wsl = { url = "github:nix-community/NixOS-WSL/main"; };
|
nix-on-droid = {
|
||||||
|
url = "github:nix-community/nix-on-droid/release-24.05";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs24";
|
||||||
|
inputs.home-manager.follows = "home-manager24";
|
||||||
|
};
|
||||||
|
|
||||||
sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; };
|
nixos-wsl.url = "github:nix-community/NixOS-WSL/main";
|
||||||
lanzaboote = { url = "github:nix-community/lanzaboote/v0.4.2"; };
|
|
||||||
|
|
||||||
hyprland = { url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; };
|
sops-nix ={
|
||||||
hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; };
|
url = "github:Mic92/sops-nix";
|
||||||
hyprspace = { url = "github:KZDKM/Hyprspace"; inputs.hyprland.follows = "hyprland"; };
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
yazi = { url = "github:sxyazi/yazi"; };
|
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";
|
||||||
|
};
|
||||||
|
|
||||||
|
yazi.url = "github:sxyazi/yazi";
|
||||||
|
|
||||||
|
copyparty.url = "github:9001/copyparty";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { ... }@inputs: with inputs; let
|
outputs = { ... }@inputs: with inputs; let
|
||||||
|
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
config = { allowUnfreePredicate = pkg: builtins.elem (pkgs.lib.getName pkg) (import ./flake-modules/allowed.nix).unfree; };
|
simple-pkgs = import nixpkgs { inherit system; };
|
||||||
|
config = { allowUnfreePredicate = pkg: builtins.elem (simple-pkgs.lib.getName pkg) (import ./flake-modules/allowed.nix).unfree; };
|
||||||
|
|
||||||
hyper-base = rec {
|
hyper-base = rec {
|
||||||
inherit system;
|
system = "x86_64-linux";
|
||||||
user = "nx2";
|
user = "nx2";
|
||||||
domain = "nx2.site";
|
domain = "nx2.site";
|
||||||
home = "/home/${user}/";
|
home = "/home/${user}";
|
||||||
webroot = "/var/lib/hugo/nx2site/public";
|
webroot = "/var/lib/hugo/nx2site/public";
|
||||||
};
|
};
|
||||||
|
|
||||||
pkgs = (import nixpkgs { inherit system config; }) // {
|
get-pkgs = { host, system?system, nixpkgs?inputs.nixpkgs, version?"25.05" }: import nixpkgs {
|
||||||
|
inherit system config;
|
||||||
|
overlays = [(final: prev: {
|
||||||
unstable = import nixpkgs-unstable { inherit system config; };
|
unstable = import nixpkgs-unstable { inherit system config; };
|
||||||
latest = import nixpkgs-latest { inherit system config; };
|
latest = import nixpkgs-latest { inherit system config; };
|
||||||
version = "25.05";
|
inherit version;
|
||||||
|
})] ++ (if host == "NxACE" then [
|
||||||
|
copyparty.overlays.default
|
||||||
|
] else []);
|
||||||
};
|
};
|
||||||
|
|
||||||
nvidia-base = import ./flake-modules/nvidia.nix;
|
nvidia-base = import ./flake-modules/nvidia.nix;
|
||||||
secrets = import ./git-crypt/secrets.nix;
|
secrets = import ./git-crypt/secrets.nix;
|
||||||
rice = import ./flake-modules/rice.nix pkgs;
|
rice = import ./flake-modules/rice.nix simple-pkgs;
|
||||||
in {
|
in {
|
||||||
nixosConfigurations = let
|
nixosConfigurations = let
|
||||||
make-nixos-system = host: nvidia-settings: nixpkgs.lib.nixosSystem {
|
make-nixos-system = host: nvidia-settings: nixpkgs.lib.nixosSystem {
|
||||||
|
pkgs = get-pkgs { inherit host; };
|
||||||
modules = [ ./configuration.nix ];
|
modules = [ ./configuration.nix ];
|
||||||
specialArgs = let
|
specialArgs = let
|
||||||
hyper = hyper-base // { inherit host; nvidia = (nvidia-base // nvidia-settings); };
|
hyper = hyper-base // { inherit host; nvidia = (nvidia-base // nvidia-settings); };
|
||||||
in { inherit pkgs inputs hyper rice secrets; };
|
in { inherit inputs hyper rice secrets; };
|
||||||
};
|
};
|
||||||
make-nixos-wsl-system = host: nixpkgs.lib.nixosSystem {
|
make-nixos-wsl-system = host: nixpkgs.lib.nixosSystem {
|
||||||
modules = [ ./nixos-wsl.nix ];
|
pkgs = get-pkgs { inherit host; };
|
||||||
|
modules = [ ./wsl.nix ];
|
||||||
specialArgs = let
|
specialArgs = let
|
||||||
hyper = hyper-base // { inherit host; };
|
hyper = hyper-base // { inherit host; };
|
||||||
in { inherit pkgs inputs hyper rice; };
|
rice = import ./flake-modules/rice.nix pkgs;
|
||||||
|
in { inherit inputs hyper rice; };
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
NxXPS = make-nixos-system "NxXPS" { enable = true; prime = true; };
|
NxXPS = make-nixos-system "NxXPS" { enable = true; prime = true; };
|
||||||
NxNORTH = make-nixos-system "NxNORTH" { enable = true; prime = false; };
|
NxNORTH = make-nixos-system "NxNORTH" { enable = true; prime = false; };
|
||||||
NxACE = make-nixos-system "NxACE" { enable = false; };
|
NxACE = make-nixos-system "NxACE" { enable = false; };
|
||||||
NxWSL = make-nixos-wsl-system "NxWSL";
|
NxDCS = make-nixos-wsl-system "NxDCS";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nixOnDroidConfigurations = let
|
||||||
|
makeNODConfiguration = host: nix-on-droid.lib.nixOnDroidConfiguration rec {
|
||||||
|
pkgs = let
|
||||||
|
options = { inherit host; system = "aarch64-linux"; };
|
||||||
|
in (get-pkgs options) //
|
||||||
|
(get-pkgs (options // { version = "24.05"; nixpkgs = nixpkgs24; } )
|
||||||
|
);
|
||||||
|
modules = [ ./nod.nix ];
|
||||||
|
home-manager-path = home-manager24.outPath;
|
||||||
|
extraSpecialArgs = let
|
||||||
|
hyper = hyper-base // {
|
||||||
|
inherit host;
|
||||||
|
system = "aarch64-linux";
|
||||||
|
user = "nix-on-droid";
|
||||||
|
home = "/data/data/com.termux.nix/files/home";
|
||||||
|
};
|
||||||
|
rice = import ./flake-modules/rice.nix pkgs;
|
||||||
|
in { inherit inputs hyper rice; };
|
||||||
|
};
|
||||||
|
in { NxS23U = makeNODConfiguration "NxS23U"; };
|
||||||
|
|
||||||
homeConfigurations = let
|
homeConfigurations = let
|
||||||
make-home-configuration = host: user: nvidia-settings: home-manager.lib.homeManagerConfiguration {
|
make-home-configuration = host: user: nvidia-settings: home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
pkgs = get-pkgs { inherit host; };
|
||||||
modules = [ ./home.nix ];
|
modules = [ ./home.nix ];
|
||||||
extraSpecialArgs = let
|
extraSpecialArgs = let
|
||||||
hyper = hyper-base // { inherit host; nvidia = nvidia-base // nvidia-settings; };
|
hyper = hyper-base // { inherit host; nvidia = nvidia-base // nvidia-settings; };
|
||||||
in { inherit pkgs inputs hyper rice secrets; };
|
in { inherit inputs hyper rice secrets; };
|
||||||
};
|
};
|
||||||
make-shell-configuration = host: user: home-manager.lib.homeManagerConfiguration {
|
make-shell-configuration = host: user: home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
pkgs = get-pkgs { inherit host; };
|
||||||
modules = [ ./shell-only.nix ];
|
modules = [ ./shell-only.nix ];
|
||||||
extraSpecialArgs = let
|
extraSpecialArgs = let
|
||||||
hyper = hyper-base // { inherit host; };
|
hyper = hyper-base // { inherit host; };
|
||||||
in { inherit pkgs inputs hyper rice secrets; };
|
in { inherit inputs hyper rice secrets; };
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
"${hyper-base.user}@NxXPS" = make-home-configuration "NxXPS" hyper-base.user { enable = true; prime = true; };
|
"${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}@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}@NxACE" = make-home-configuration "NxACE" hyper-base.user { enable = false; };
|
||||||
|
|
||||||
"${hyper-base.user}@NxWSL" = make-shell-configuration "NxWSL" hyper-base.user;
|
"${hyper-base.user}@NxDCS" = make-shell-configuration "NxDCS" hyper-base.user;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
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' $@
|
||||||
|
$@
|
||||||
|
$@
|
||||||
|
$@
|
||||||
|
$@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@
|
||||||
|
@@
|
||||||
9
home-modules/bar.nix
Normal file
9
home-modules/bar.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{ ... }: {
|
||||||
|
imports = [
|
||||||
|
# ./bar/submap-indicator.nix
|
||||||
|
./bar/cclock.nix
|
||||||
|
./bar/caldav-event.nix
|
||||||
|
# ./bar/waybar.nix
|
||||||
|
./bar/hyprpanel.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
126
home-modules/bar/caldav-event.nix
Normal file
126
home-modules/bar/caldav-event.nix
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
{ pkgs, ... }@all: with all; {
|
||||||
|
sops.secrets = {
|
||||||
|
"nx2site/radicale/password" = { };
|
||||||
|
};
|
||||||
|
home.packages = [
|
||||||
|
(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_end = event_dict['event_end'].timestamp()
|
||||||
|
return not (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}")
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
}
|
||||||
14
home-modules/bar/cclock.nix
Normal file
14
home-modules/bar/cclock.nix
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{ pkgs, ... }: let
|
||||||
|
sep = " ";
|
||||||
|
in {
|
||||||
|
home.packages = [
|
||||||
|
(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
|
||||||
|
'';})
|
||||||
|
];
|
||||||
|
}
|
||||||
515
home-modules/bar/hyprpanel.nix
Normal file
515
home-modules/bar/hyprpanel.nix
Normal file
@@ -0,0 +1,515 @@
|
|||||||
|
{ pkgs, ... }@all: with all; {
|
||||||
|
xdg.configFile = {
|
||||||
|
"hyprpanel/modules.scss".text = with rice.color; /* scss */ ''
|
||||||
|
@include styleModule('cmodule-cclock', (
|
||||||
|
'text-color': ${accent.base},
|
||||||
|
/* 'icon-color': , */
|
||||||
|
/* 'icon-background': , */
|
||||||
|
/* 'label-background': #242438, */
|
||||||
|
/* 'inner-spacing': 0.5em, */
|
||||||
|
/* 'border-enabled': false, */
|
||||||
|
/* 'border-color': #cba6f7, */
|
||||||
|
/* 'icon-size': 1.2em */
|
||||||
|
));
|
||||||
|
@include styleModule('cmodule-caldav_event', (
|
||||||
|
'text-color': ${accent.base},
|
||||||
|
));
|
||||||
|
'';
|
||||||
|
"hyprpanel/modules.json".text = builtins.toJSON {
|
||||||
|
"custom/cclock" = {
|
||||||
|
execute = "cclock";
|
||||||
|
executeOnAction = "";
|
||||||
|
label = "{}";
|
||||||
|
interval = 60000;
|
||||||
|
hideOnEmpty = true;
|
||||||
|
actions.onLeftClick = "menu:calendar";
|
||||||
|
};
|
||||||
|
"custom/caldav_event" = {
|
||||||
|
execute = "caldav_event";
|
||||||
|
label = " {}";
|
||||||
|
interval = 60000;
|
||||||
|
hideOnEmpty = false;
|
||||||
|
actions = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
programs.hyprpanel = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.unstable.hyprpanel;
|
||||||
|
settings = with rice.color; let
|
||||||
|
t = builtins.toString (builtins.ceil (rice.transparency * 100));
|
||||||
|
in {
|
||||||
|
"bar.layouts" = {
|
||||||
|
"*" = {
|
||||||
|
"left" = [
|
||||||
|
"volume"
|
||||||
|
# "microphone"
|
||||||
|
# "cpu"
|
||||||
|
# "cputemp"
|
||||||
|
# "ram"
|
||||||
|
(pkgs.lib.mkIf (hyper.host == "NxXPS") "battery")
|
||||||
|
# "bluetooth"
|
||||||
|
"network"
|
||||||
|
"windowtitle"
|
||||||
|
"media"
|
||||||
|
];
|
||||||
|
"middle" = [ "workspaces" ];
|
||||||
|
"right" = [
|
||||||
|
"submap"
|
||||||
|
"custom/caldav_event"
|
||||||
|
"custom/cclock"
|
||||||
|
"notifications"
|
||||||
|
"systray"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"bar.bluetooth.label" = true;
|
||||||
|
|
||||||
|
"bar.customModules.submap.disabledIcon" = "";
|
||||||
|
"bar.customModules.submap.disabledText" = "";
|
||||||
|
"bar.customModules.submap.enabledIcon" = "";
|
||||||
|
"bar.customModules.submap.enabledText" = "[SUBMAP]";
|
||||||
|
"bar.customModules.submap.icon" = false;
|
||||||
|
"bar.customModules.submap.label" = true;
|
||||||
|
"bar.customModules.submap.showSubmapIcon" = false;
|
||||||
|
"bar.customModules.submap.showSubmapName" = false;
|
||||||
|
|
||||||
|
"bar.workspaces.applicationIconEmptyWorkspace" = "";
|
||||||
|
"bar.workspaces.applicationIconOncePerWorkspace" = false;
|
||||||
|
"bar.workspaces.numbered_active_indicator" = "color";
|
||||||
|
"bar.workspaces.scroll_speed" = 1;
|
||||||
|
"bar.workspaces.showAllActive" = false;
|
||||||
|
"bar.workspaces.showApplicationIcons" = true;
|
||||||
|
"bar.workspaces.show_icons" = false;
|
||||||
|
"bar.workspaces.show_numbered" = false;
|
||||||
|
"bar.workspaces.showWsIcons" = true;
|
||||||
|
"bar.workspaces.spacing" = 1;
|
||||||
|
"bar.workspaces.workspaceMask" = true;
|
||||||
|
"bar.workspaces.workspaces" = 5;
|
||||||
|
|
||||||
|
"theme.bar.background" = background;
|
||||||
|
"theme.bar.border.color" = accent.base;
|
||||||
|
"theme.bar.border_radius" = "0.2em";
|
||||||
|
|
||||||
|
"theme.bar.buttons.background" = background;
|
||||||
|
"theme.bar.buttons.background_opacity" = 0;
|
||||||
|
"theme.bar.buttons.spacing" = "0em";
|
||||||
|
"theme.bar.buttons.padding_x" = "0.5rem";
|
||||||
|
|
||||||
|
"theme.bar.buttons.battery.background" = background;
|
||||||
|
"theme.bar.buttons.battery.border" = accent.base;
|
||||||
|
"theme.bar.buttons.battery.icon_background" = background;
|
||||||
|
"theme.bar.buttons.battery.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.battery.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.bluetooth.background" = background;
|
||||||
|
"theme.bar.buttons.bluetooth.border" = accent.base;
|
||||||
|
"theme.bar.buttons.bluetooth.icon_background" = background;
|
||||||
|
"theme.bar.buttons.bluetooth.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.bluetooth.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.borderColor" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.clock.background" = background;
|
||||||
|
"theme.bar.buttons.clock.border" = accent.base;
|
||||||
|
"theme.bar.buttons.clock.icon_background" = background;
|
||||||
|
"theme.bar.buttons.clock.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.clock.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.dashboard.background" = background;
|
||||||
|
"theme.bar.buttons.dashboard.border" = accent.base;
|
||||||
|
"theme.bar.buttons.dashboard.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.icon_background" = background;
|
||||||
|
|
||||||
|
"theme.bar.buttons.icon" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.media.background" = background;
|
||||||
|
"theme.bar.buttons.media.border" = accent.base;
|
||||||
|
"theme.bar.buttons.media.icon_background" = background;
|
||||||
|
"theme.bar.buttons.media.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.media.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.modules.cava.background" = background;
|
||||||
|
"theme.bar.buttons.modules.cava.border" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.cava.icon_background" = background;
|
||||||
|
"theme.bar.buttons.modules.cava.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.cava.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.modules.cpu.background" = background;
|
||||||
|
"theme.bar.buttons.modules.cpu.border" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.cpu.icon_background" = background;
|
||||||
|
"theme.bar.buttons.modules.cpu.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.cpu.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.modules.cpuTemp.background" = background;
|
||||||
|
"theme.bar.buttons.modules.cpuTemp.border" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.cpuTemp.icon_background" = background;
|
||||||
|
"theme.bar.buttons.modules.cpuTemp.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.cpuTemp.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.modules.hypridle.background" = background;
|
||||||
|
"theme.bar.buttons.modules.hypridle.border" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.hypridle.icon_background" = background;
|
||||||
|
"theme.bar.buttons.modules.hypridle.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.hypridle.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.modules.hyprsunset.background" = background;
|
||||||
|
"theme.bar.buttons.modules.hyprsunset.border" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.hyprsunset.icon_background" = background;
|
||||||
|
"theme.bar.buttons.modules.hyprsunset.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.hyprsunset.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.modules.kbLayout.background" = background;
|
||||||
|
"theme.bar.buttons.modules.kbLayout.border" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.kbLayout.icon_background" = background;
|
||||||
|
"theme.bar.buttons.modules.kbLayout.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.kbLayout.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.modules.microphone.background" = background;
|
||||||
|
"theme.bar.buttons.modules.microphone.border" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.microphone.icon_background" = background;
|
||||||
|
"theme.bar.buttons.modules.microphone.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.microphone.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.modules.netstat.background" = background;
|
||||||
|
"theme.bar.buttons.modules.netstat.border" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.netstat.icon_background" = background;
|
||||||
|
"theme.bar.buttons.modules.netstat.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.netstat.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.modules.power.background" = background;
|
||||||
|
"theme.bar.buttons.modules.power.border" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.power.icon_background" = background;
|
||||||
|
"theme.bar.buttons.modules.power.icon" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.modules.ram.background" = background;
|
||||||
|
"theme.bar.buttons.modules.ram.border" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.ram.icon_background" = background;
|
||||||
|
"theme.bar.buttons.modules.ram.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.ram.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.modules.storage.background" = background;
|
||||||
|
"theme.bar.buttons.modules.storage.border" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.storage.icon_background" = background;
|
||||||
|
"theme.bar.buttons.modules.storage.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.storage.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.modules.submap.background" = background;
|
||||||
|
"theme.bar.buttons.modules.submap.border" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.submap.icon_background" = background;
|
||||||
|
"theme.bar.buttons.modules.submap.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.submap.text" = special.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.modules.updates.background" = background;
|
||||||
|
"theme.bar.buttons.modules.updates.border" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.updates.icon_background" = background;
|
||||||
|
"theme.bar.buttons.modules.updates.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.updates.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.modules.weather.background" = background;
|
||||||
|
"theme.bar.buttons.modules.weather.border" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.weather.icon_background" = background;
|
||||||
|
"theme.bar.buttons.modules.weather.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.weather.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.modules.worldclock.background" = background;
|
||||||
|
"theme.bar.buttons.modules.worldclock.border" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.worldclock.icon_background" = background;
|
||||||
|
"theme.bar.buttons.modules.worldclock.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.modules.worldclock.text" = accent.base;
|
||||||
|
"theme.bar.buttons.monochrome" = false;
|
||||||
|
|
||||||
|
"theme.bar.buttons.network.background" = background;
|
||||||
|
"theme.bar.buttons.network.border" = accent.base;
|
||||||
|
"theme.bar.buttons.network.icon_background" = background;
|
||||||
|
"theme.bar.buttons.network.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.network.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.notifications.background" = background;
|
||||||
|
"theme.bar.buttons.notifications.border" = accent.base;
|
||||||
|
"theme.bar.buttons.notifications.icon_background" = background;
|
||||||
|
"theme.bar.buttons.notifications.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.notifications.total" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.opacity" = t;
|
||||||
|
|
||||||
|
"theme.bar.buttons.separator.color" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.style" = "default";
|
||||||
|
|
||||||
|
"theme.bar.buttons.systray.background" = background;
|
||||||
|
"theme.bar.buttons.systray.border" = accent.base;
|
||||||
|
"theme.bar.buttons.systray.customIcon" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.volume.background" = background;
|
||||||
|
"theme.bar.buttons.volume.border" = accent.base;
|
||||||
|
"theme.bar.buttons.volume.icon_background" = background;
|
||||||
|
"theme.bar.buttons.volume.icon" = accent.base;
|
||||||
|
"theme.bar.buttons.volume.text" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.windowtitle.background" = background;
|
||||||
|
"theme.bar.buttons.windowtitle.border" = secondary.base;
|
||||||
|
"theme.bar.buttons.windowtitle.icon_background" = background;
|
||||||
|
"theme.bar.buttons.windowtitle.icon" = secondary.base;
|
||||||
|
"theme.bar.buttons.windowtitle.text" = secondary.base;
|
||||||
|
|
||||||
|
"theme.bar.buttons.workspaces.active" = accent.bright;
|
||||||
|
"theme.bar.buttons.workspaces.available" = accent.base;
|
||||||
|
"theme.bar.buttons.workspaces.background" = background;
|
||||||
|
"theme.bar.buttons.workspaces.border" = accent.base;
|
||||||
|
"theme.bar.buttons.workspaces.hover" = foreground;
|
||||||
|
"theme.bar.buttons.workspaces.numbered_active_highlighted" = accent.base;
|
||||||
|
"theme.bar.buttons.workspaces.numbered_active_highlighted_text_color" = accent.dark;
|
||||||
|
"theme.bar.buttons.workspaces.numbered_active_highlight_padding" = "0.4em";
|
||||||
|
"theme.bar.buttons.workspaces.numbered_active_underline_color" = accent.bright;
|
||||||
|
"theme.bar.buttons.workspaces.numbered_inactive_padding" = "0.4em";
|
||||||
|
"theme.bar.buttons.workspaces.occupied" = secondary.base;
|
||||||
|
"theme.bar.buttons.workspaces.pill.width" = "4em";
|
||||||
|
"theme.bar.buttons.workspaces.smartHighlight" = true;
|
||||||
|
"theme.bar.buttons.y_margins" = "0em";
|
||||||
|
|
||||||
|
"theme.bar.location" = "bottom";
|
||||||
|
|
||||||
|
"theme.bar.menus.menu.battery.background.color" = background;
|
||||||
|
"theme.bar.menus.menu.battery.border.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.battery.card.color" = accent.dark;
|
||||||
|
"theme.bar.menus.menu.battery.icons.active" = accent.base;
|
||||||
|
"theme.bar.menus.menu.battery.icons.passive" = accent.base;
|
||||||
|
"theme.bar.menus.menu.battery.label.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.battery.listitems.active" = accent.base;
|
||||||
|
"theme.bar.menus.menu.battery.listitems.passive" = accent.base;
|
||||||
|
"theme.bar.menus.menu.battery.slider.background" = background;
|
||||||
|
"theme.bar.menus.menu.battery.slider.backgroundhover" = background;
|
||||||
|
"theme.bar.menus.menu.battery.slider.primary" = accent.base;
|
||||||
|
"theme.bar.menus.menu.battery.slider.puck" = accent.base;
|
||||||
|
"theme.bar.menus.menu.battery.text" = foreground;
|
||||||
|
|
||||||
|
"theme.bar.menus.menu.bluetooth.background.color" = background;
|
||||||
|
"theme.bar.menus.menu.bluetooth.border.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.bluetooth.card.color" = accent.dark;
|
||||||
|
"theme.bar.menus.menu.bluetooth.iconbutton.active" = accent.base;
|
||||||
|
"theme.bar.menus.menu.bluetooth.iconbutton.passive" = accent.base;
|
||||||
|
"theme.bar.menus.menu.bluetooth.icons.active" = accent.base;
|
||||||
|
"theme.bar.menus.menu.bluetooth.icons.passive" = accent.base;
|
||||||
|
"theme.bar.menus.menu.bluetooth.label.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.bluetooth.listitems.active" = accent.base;
|
||||||
|
"theme.bar.menus.menu.bluetooth.listitems.passive" = accent.base;
|
||||||
|
"theme.bar.menus.menu.bluetooth.scroller.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.bluetooth.status" = accent.base;
|
||||||
|
"theme.bar.menus.menu.bluetooth.switch.disabled" = accent.base;
|
||||||
|
"theme.bar.menus.menu.bluetooth.switch_divider" = accent.base;
|
||||||
|
"theme.bar.menus.menu.bluetooth.switch.enabled" = accent.base;
|
||||||
|
"theme.bar.menus.menu.bluetooth.switch.puck" = accent.base;
|
||||||
|
"theme.bar.menus.menu.bluetooth.text" = foreground;
|
||||||
|
|
||||||
|
"theme.bar.menus.menu.clock.background.color" = background;
|
||||||
|
"theme.bar.menus.menu.clock.border.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.calendar.contextdays" = foreground;
|
||||||
|
"theme.bar.menus.menu.clock.calendar.currentday" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.calendar.days" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.calendar.paginator" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.calendar.weekdays" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.calendar.yearmonth" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.card.color" = accent.dark;
|
||||||
|
"theme.bar.menus.menu.clock.text" = foreground;
|
||||||
|
"theme.bar.menus.menu.clock.time.time" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.time.timeperiod" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.weather.hourly.icon" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.weather.hourly.temperature" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.weather.hourly.time" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.weather.icon" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.weather.stats" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.weather.status" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.weather.temperature" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.weather.thermometer.cold" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.weather.thermometer.extremelycold" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.weather.thermometer.extremelyhot" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.weather.thermometer.hot" = accent.base;
|
||||||
|
"theme.bar.menus.menu.clock.weather.thermometer.moderate" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.menus.menu.dashboard.background.color" = background;
|
||||||
|
"theme.bar.menus.menu.dashboard.border.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.card.color" = accent.dark;
|
||||||
|
|
||||||
|
"theme.bar.menus.menu.dashboard.controls.bluetooth.background" = background;
|
||||||
|
"theme.bar.menus.menu.dashboard.controls.bluetooth.text" = foreground;
|
||||||
|
"theme.bar.menus.menu.dashboard.controls.disabled" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.controls.input.background" = background;
|
||||||
|
"theme.bar.menus.menu.dashboard.controls.input.text" = foreground;
|
||||||
|
"theme.bar.menus.menu.dashboard.controls.notifications.background" = background;
|
||||||
|
"theme.bar.menus.menu.dashboard.controls.notifications.text" = foreground;
|
||||||
|
"theme.bar.menus.menu.dashboard.controls.volume.background" = background;
|
||||||
|
"theme.bar.menus.menu.dashboard.controls.volume.text" = foreground;
|
||||||
|
"theme.bar.menus.menu.dashboard.controls.wifi.background" = background;
|
||||||
|
"theme.bar.menus.menu.dashboard.controls.wifi.text" = foreground;
|
||||||
|
|
||||||
|
"theme.bar.menus.menu.dashboard.directories.left.bottom.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.directories.left.middle.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.directories.left.top.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.directories.right.bottom.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.directories.right.middle.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.directories.right.top.color" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.menus.menu.dashboard.monitors.bar_background" = background;
|
||||||
|
"theme.bar.menus.menu.dashboard.monitors.cpu.bar" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.monitors.cpu.icon" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.monitors.cpu.label" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.monitors.disk.bar" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.monitors.disk.icon" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.monitors.disk.label" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.monitors.gpu.bar" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.monitors.gpu.icon" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.monitors.gpu.label" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.monitors.ram.bar" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.monitors.ram.icon" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.monitors.ram.label" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.menus.menu.dashboard.powermenu.confirmation.background" = background;
|
||||||
|
"theme.bar.menus.menu.dashboard.powermenu.confirmation.body" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.powermenu.confirmation.border" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text" = foreground;
|
||||||
|
"theme.bar.menus.menu.dashboard.powermenu.confirmation.card" = accent.dark;
|
||||||
|
"theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.powermenu.confirmation.deny" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.powermenu.confirmation.label" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.powermenu.logout" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.powermenu.restart" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.powermenu.shutdown" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.powermenu.sleep" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.profile.name" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.shortcuts.background" = background;
|
||||||
|
"theme.bar.menus.menu.dashboard.shortcuts.recording" = accent.base;
|
||||||
|
"theme.bar.menus.menu.dashboard.shortcuts.text" = foreground;
|
||||||
|
|
||||||
|
"theme.bar.menus.menu.media.album" = accent.base;
|
||||||
|
"theme.bar.menus.menu.media.artist" = accent.base;
|
||||||
|
"theme.bar.menus.menu.media.background.color" = "#000000";
|
||||||
|
"theme.bar.menus.menu.media.border.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.media.buttons.background" = background;
|
||||||
|
"theme.bar.menus.menu.media.buttons.enabled" = accent.base;
|
||||||
|
"theme.bar.menus.menu.media.buttons.inactive" = accent.base;
|
||||||
|
"theme.bar.menus.menu.media.buttons.text" = foreground;
|
||||||
|
"theme.bar.menus.menu.media.card.color" = accent.dark;
|
||||||
|
"theme.bar.menus.menu.media.card.tint" = accent.dark;
|
||||||
|
"theme.bar.menus.menu.media.slider.background" = accent.dark;
|
||||||
|
"theme.bar.menus.menu.media.slider.backgroundhover" = secondary.dark;
|
||||||
|
"theme.bar.menus.menu.media.slider.primary" = accent.base;
|
||||||
|
"theme.bar.menus.menu.media.slider.puck" = accent.bright;
|
||||||
|
"theme.bar.menus.menu.media.song" = accent.base;
|
||||||
|
"theme.bar.menus.menu.media.timestamp" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.menus.menu.network.background.color" = background;
|
||||||
|
"theme.bar.menus.menu.network.border.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.network.card.color" = accent.dark;
|
||||||
|
"theme.bar.menus.menu.network.iconbuttons.active" = accent.base;
|
||||||
|
"theme.bar.menus.menu.network.iconbuttons.passive" = accent.base;
|
||||||
|
"theme.bar.menus.menu.network.icons.active" = accent.base;
|
||||||
|
"theme.bar.menus.menu.network.icons.passive" = accent.base;
|
||||||
|
"theme.bar.menus.menu.network.label.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.network.listitems.active" = accent.base;
|
||||||
|
"theme.bar.menus.menu.network.listitems.passive" = accent.base;
|
||||||
|
"theme.bar.menus.menu.network.scroller.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.network.status.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.network.switch.disabled" = accent.base;
|
||||||
|
"theme.bar.menus.menu.network.switch.enabled" = accent.base;
|
||||||
|
"theme.bar.menus.menu.network.switch.puck" = accent.base;
|
||||||
|
"theme.bar.menus.menu.network.text" = foreground;
|
||||||
|
|
||||||
|
"theme.bar.menus.menu.notifications.background" = background;
|
||||||
|
"theme.bar.menus.menu.notifications.border" = accent.base;
|
||||||
|
"theme.bar.menus.menu.notifications.card" = accent.dark;
|
||||||
|
"theme.bar.menus.menu.notifications.clear" = accent.base;
|
||||||
|
"theme.bar.menus.menu.notifications.label" = accent.base;
|
||||||
|
"theme.bar.menus.menu.notifications.no_notifications_label" = accent.base;
|
||||||
|
"theme.bar.menus.menu.notifications.pager.background" = background;
|
||||||
|
"theme.bar.menus.menu.notifications.pager.button" = accent.base;
|
||||||
|
"theme.bar.menus.menu.notifications.pager.label" = accent.bright;
|
||||||
|
"theme.bar.menus.menu.notifications.scrollbar.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.notifications.switch.disabled" = accent.base;
|
||||||
|
"theme.bar.menus.menu.notifications.switch_divider" = accent.base;
|
||||||
|
"theme.bar.menus.menu.notifications.switch.enabled" = accent.base;
|
||||||
|
"theme.bar.menus.menu.notifications.switch.puck" = accent.base;
|
||||||
|
|
||||||
|
|
||||||
|
"theme.bar.menus.menu.power.background.color" = background;
|
||||||
|
"theme.bar.menus.menu.power.border.color" = accent.base;
|
||||||
|
|
||||||
|
"theme.bar.menus.menu.power.buttons.logout.background" = background;
|
||||||
|
"theme.bar.menus.menu.power.buttons.logout.icon_background" = background;
|
||||||
|
"theme.bar.menus.menu.power.buttons.logout.icon" = accent.base;
|
||||||
|
"theme.bar.menus.menu.power.buttons.logout.text" = foreground;
|
||||||
|
|
||||||
|
"theme.bar.menus.menu.power.buttons.restart.background" = background;
|
||||||
|
"theme.bar.menus.menu.power.buttons.restart.icon_background" = background;
|
||||||
|
"theme.bar.menus.menu.power.buttons.restart.icon" = accent.base;
|
||||||
|
"theme.bar.menus.menu.power.buttons.restart.text" = foreground;
|
||||||
|
|
||||||
|
"theme.bar.menus.menu.power.buttons.shutdown.background" = background;
|
||||||
|
"theme.bar.menus.menu.power.buttons.shutdown.icon_background" = background;
|
||||||
|
"theme.bar.menus.menu.power.buttons.shutdown.icon" = accent.base;
|
||||||
|
"theme.bar.menus.menu.power.buttons.shutdown.text" = foreground;
|
||||||
|
|
||||||
|
"theme.bar.menus.menu.power.buttons.sleep.background" = background;
|
||||||
|
"theme.bar.menus.menu.power.buttons.sleep.icon_background" = background;
|
||||||
|
"theme.bar.menus.menu.power.buttons.sleep.icon" = accent.base;
|
||||||
|
"theme.bar.menus.menu.power.buttons.sleep.text" = foreground;
|
||||||
|
|
||||||
|
|
||||||
|
"theme.bar.menus.menu.systray.dropdownmenu.background" = background;
|
||||||
|
"theme.bar.menus.menu.systray.dropdownmenu.divider" = accent.base;
|
||||||
|
"theme.bar.menus.menu.systray.dropdownmenu.text" = foreground;
|
||||||
|
|
||||||
|
"theme.bar.menus.menu.volume.audio_slider.background" = background;
|
||||||
|
"theme.bar.menus.menu.volume.audio_slider.backgroundhover" = background;
|
||||||
|
"theme.bar.menus.menu.volume.audio_slider.primary" = accent.base;
|
||||||
|
"theme.bar.menus.menu.volume.audio_slider.puck" = accent.base;
|
||||||
|
"theme.bar.menus.menu.volume.background.color" = background;
|
||||||
|
"theme.bar.menus.menu.volume.border.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.volume.card.color" = accent.dark;
|
||||||
|
"theme.bar.menus.menu.volume.iconbutton.active" = accent.base;
|
||||||
|
"theme.bar.menus.menu.volume.iconbutton.passive" = accent.base;
|
||||||
|
"theme.bar.menus.menu.volume.input_slider.background" = background;
|
||||||
|
"theme.bar.menus.menu.volume.input_slider.backgroundhover" = background;
|
||||||
|
"theme.bar.menus.menu.volume.input_slider.primary" = accent.base;
|
||||||
|
"theme.bar.menus.menu.volume.input_slider.puck" = accent.base;
|
||||||
|
"theme.bar.menus.menu.volume.label.color" = accent.base;
|
||||||
|
"theme.bar.menus.menu.volume.listitems.active" = accent.base;
|
||||||
|
"theme.bar.menus.menu.volume.listitems.passive" = accent.base;
|
||||||
|
"theme.bar.menus.menu.volume.text" = foreground;
|
||||||
|
|
||||||
|
"theme.bar.menus.monochrome" = false;
|
||||||
|
|
||||||
|
"theme.bar.opacity" = t;
|
||||||
|
"theme.bar.outer_spacing" = "0em";
|
||||||
|
"theme.bar.transparent" = false;
|
||||||
|
|
||||||
|
"theme.font.name" = rice.font.code.name;
|
||||||
|
"theme.font.size" = "12px";
|
||||||
|
|
||||||
|
"theme.notification.actions.background" = background;
|
||||||
|
"theme.notification.actions.text" = foreground;
|
||||||
|
"theme.notification.background" = background;
|
||||||
|
"theme.notification.border" = border;
|
||||||
|
"theme.notification.close_button.background" = accent.dark;
|
||||||
|
"theme.notification.close_button.label" = accent.base;
|
||||||
|
"theme.notification.label" = accent.bright;
|
||||||
|
"theme.notification.labelicon" = accent.base;
|
||||||
|
"theme.notification.opacity" = 100;
|
||||||
|
"theme.notification.text" = foreground;
|
||||||
|
"theme.notification.time" = accent.base;
|
||||||
|
|
||||||
|
"theme.osd.bar_color" = accent.base;
|
||||||
|
"theme.osd.bar_container" = accent.dark;
|
||||||
|
"theme.osd.bar_empty_color" = accent.dark;
|
||||||
|
"theme.osd.bar_overflow_color" = accent.base;
|
||||||
|
"theme.osd.border.color" = border;
|
||||||
|
"theme.osd.icon_container" = secondary.dark;
|
||||||
|
"theme.osd.icon" = secondary.bright;
|
||||||
|
"theme.osd.label" = accent.bright;
|
||||||
|
"theme.osd.opacity" = t;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
37
home-modules/bar/submap-indicator.nix
Normal file
37
home-modules/bar/submap-indicator.nix
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
home.packages = [
|
||||||
|
(pkgs.writeShellApplication { name = "submap_indicator"; text = /*bash*/ ''
|
||||||
|
print_help() {
|
||||||
|
echo "Usage: submap_indicator {set <string>|unset}"
|
||||||
|
}
|
||||||
|
if [ $# -lt 1 ]; then
|
||||||
|
print_help; exit 1;
|
||||||
|
fi
|
||||||
|
case "$1" in
|
||||||
|
set)
|
||||||
|
# Check if there is a second argument for the 'set' operation
|
||||||
|
if [ $# -eq 2 ]; then
|
||||||
|
echo "$2" > /tmp/submap-indictor
|
||||||
|
pkill -RTMIN+8 waybar
|
||||||
|
pkill -RTMIN+8 hyprpanel
|
||||||
|
else
|
||||||
|
echo "Error: 'set' operation requires exactly one string argument."
|
||||||
|
print_help
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
unset)
|
||||||
|
echo "" > /tmp/submap-indictor
|
||||||
|
pkill -RTMIN+8 waybar
|
||||||
|
pkill -RTMIN+8 hyprpanel
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Error: Unknown command '$1'"
|
||||||
|
print_help
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
exit 0
|
||||||
|
'';})
|
||||||
|
];
|
||||||
|
}
|
||||||
165
home-modules/bar/waybar.nix
Normal file
165
home-modules/bar/waybar.nix
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
{ pkgs, ... }@all: with all; let
|
||||||
|
sep = " ";
|
||||||
|
in {
|
||||||
|
programs.waybar = {
|
||||||
|
enable = false;
|
||||||
|
package = pkgs.waybar;
|
||||||
|
settings = {
|
||||||
|
bar = {
|
||||||
|
# height = 20;
|
||||||
|
layer = "top";
|
||||||
|
position = "bottom";
|
||||||
|
margin-top = 0;
|
||||||
|
# margin-left = rice.gap-size;
|
||||||
|
# margin-bottom = rice.gap-size;
|
||||||
|
# margin-right = rice.gap-size;
|
||||||
|
margin-left = 0;
|
||||||
|
margin-bottom = 0;
|
||||||
|
margin-right = 0;
|
||||||
|
spacing = 10;
|
||||||
|
fixed-center = true;
|
||||||
|
modules-left = [
|
||||||
|
# "cpu"
|
||||||
|
# "memory"
|
||||||
|
"wireplumber"
|
||||||
|
"backlight"
|
||||||
|
"battery"
|
||||||
|
"network"
|
||||||
|
"hyprland/window"
|
||||||
|
];
|
||||||
|
modules-center = [
|
||||||
|
"hyprland/workspaces"
|
||||||
|
];
|
||||||
|
modules-right = [
|
||||||
|
"custom/mode"
|
||||||
|
"custom/caldav_event"
|
||||||
|
"custom/cclock"
|
||||||
|
"tray"
|
||||||
|
];
|
||||||
|
"hyprland/workspaces" = {
|
||||||
|
on-click = "activate";
|
||||||
|
format = "{name}";
|
||||||
|
all-outputs = false;
|
||||||
|
active-only = false;
|
||||||
|
};
|
||||||
|
"hyprland/window" = {
|
||||||
|
# format = "${sep}{}";
|
||||||
|
format = "{}";
|
||||||
|
separate-outputs = true;
|
||||||
|
};
|
||||||
|
"custom/cclock" = {
|
||||||
|
exec = "cclock";
|
||||||
|
restart-interval = 60;
|
||||||
|
};
|
||||||
|
"custom/caldav_event" = {
|
||||||
|
format = "${sep}{}";
|
||||||
|
exec = "caldav_event";
|
||||||
|
restart-interval = 60;
|
||||||
|
max-width = 60;
|
||||||
|
};
|
||||||
|
"custom/mode" = {
|
||||||
|
exec = "cat /tmp/submap-indictor";
|
||||||
|
interval = "once";
|
||||||
|
signal = 8;
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu = {
|
||||||
|
interval = 1;
|
||||||
|
format = "${sep}{}%";
|
||||||
|
max-length = 10;
|
||||||
|
};
|
||||||
|
memory = {
|
||||||
|
interval = 5;
|
||||||
|
format = "${sep}{avail:.0f}G free";
|
||||||
|
};
|
||||||
|
battery = {
|
||||||
|
interval = 60;
|
||||||
|
tooltip = false;
|
||||||
|
format = "{icon}${sep}{capacity}%";
|
||||||
|
states = {
|
||||||
|
warning = 15;
|
||||||
|
critical = 5;
|
||||||
|
};
|
||||||
|
format-icons = [ " " " " " " " " " " ];
|
||||||
|
format-charging = "{icon}${sep}+{capacity}%";
|
||||||
|
format-plugged = "{icon}${sep}P{capacity}%";
|
||||||
|
format-full = "{icon}${sep}F{capacity}%";
|
||||||
|
};
|
||||||
|
backlight = {
|
||||||
|
device = "eDP-1";
|
||||||
|
format = "{icon}${sep}{percent}%";
|
||||||
|
format-icons = [ "" "" "" "" "" "" "" "" "" ];
|
||||||
|
};
|
||||||
|
network = {
|
||||||
|
format-wifi = "${sep}{essid}";
|
||||||
|
format-ethernet = "${sep}Wired";
|
||||||
|
format-disconnected = "${sep}Disconnected";
|
||||||
|
};
|
||||||
|
wireplumber = {
|
||||||
|
format = "${sep}{volume}%";
|
||||||
|
format-muted = "${sep}--%";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
style = with rice.color; let f = rice.lib.hex-to-rgb-comma-string; in /* css */ ''
|
||||||
|
* {
|
||||||
|
font-family: ${rice.font.code.name};
|
||||||
|
font-size: 1em;
|
||||||
|
min-height: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background: rgba(${f background},${builtins.toString rice.transparency});
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock,
|
||||||
|
#custom-cclock,
|
||||||
|
#custom-mode,
|
||||||
|
#custom-caldav-event,
|
||||||
|
#battery,
|
||||||
|
#cpu,
|
||||||
|
#tray,
|
||||||
|
#disk,
|
||||||
|
#backlight,
|
||||||
|
#network,
|
||||||
|
#wireplumber,
|
||||||
|
#memory,
|
||||||
|
#window,
|
||||||
|
#workspaces {
|
||||||
|
padding: 0px 3px;
|
||||||
|
margin-top: 0.3em;
|
||||||
|
border-radius: ${builtins.toString rice.rounding}px;
|
||||||
|
color: rgb(${f accent.bright});
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
color: rgb(${f accent.base});
|
||||||
|
padding-left: 15px;
|
||||||
|
padding-right: 15px;
|
||||||
|
border-radius: ${builtins.toString rice.rounding}px;
|
||||||
|
}
|
||||||
|
#workspaces button.active { color: rgb(${f background}); background-color: rgb(${f accent.base}); }
|
||||||
|
#workspaces button:hover { color: rgb(${f tertiary.bright}); }
|
||||||
|
#workspaces button.urgent { background-color: rgba(${f magenta.base},${builtins.toString rice.transparency}); }
|
||||||
|
|
||||||
|
#window, #custom-caldav_event {
|
||||||
|
font-family: ${rice.font.base.name}, ${rice.font.code.name};
|
||||||
|
color: rgb(${f tertiary.bright});
|
||||||
|
}
|
||||||
|
|
||||||
|
#wireplumber.muted { color: rgb(${f tertiary.bright}); }
|
||||||
|
#wireplumber { padding-left: 10px; }
|
||||||
|
|
||||||
|
#battery.warning:not(.charging) { color: rgb(${f green.base});; }
|
||||||
|
#battery.charging { color: rgb(${f green.base}); }
|
||||||
|
#battery.critical {
|
||||||
|
background: rgb(${f negative.base});
|
||||||
|
color: rgb(${f foreground});
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-mode { color: rgb(${f red.base}); }
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,6 +1,10 @@
|
|||||||
{ ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
programs.bash = {
|
programs.bash = let
|
||||||
|
init = /* bash */ ''
|
||||||
|
source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||||
|
'';
|
||||||
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
ll = "ls -l";
|
ll = "ls -l";
|
||||||
@@ -15,5 +19,10 @@
|
|||||||
"checkjobs"
|
"checkjobs"
|
||||||
];
|
];
|
||||||
enableCompletion = false;
|
enableCompletion = false;
|
||||||
|
|
||||||
|
} // pkgs.lib.mkIf (pkgs.version != "24.05") {
|
||||||
|
shellInit = init;
|
||||||
|
} // pkgs.lib.mkIf (pkgs.version != "25.05") {
|
||||||
|
profileExtra = init;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, hyper, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
bitwarden
|
bitwarden
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, user, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home.packages = let
|
home.packages = let
|
||||||
u = pkgs.writers.writePython3Bin "nx_fix_campuszeit_python" {
|
u = pkgs.writers.writePython3Bin "nx_fix_campuszeit_python" {
|
||||||
@@ -20,17 +20,16 @@ def replace_campus_timezone(directory):
|
|||||||
with open(filepath, 'r', encoding='utf-8') as f:
|
with open(filepath, 'r', encoding='utf-8') as f:
|
||||||
content = f.read()
|
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')
|
start_idx = content.find('BEGIN:VTIMEZONE')
|
||||||
end_idx = content.find('END:VTIMEZONE', start_idx)
|
end_idx = content.find('END:VTIMEZONE', start_idx)
|
||||||
if start_idx != -1 and end_idx != -1:
|
if start_idx != -1 and end_idx != -1:
|
||||||
content = content[:start_idx] + content[end_idx + len('END:VTIMEZONE\n'):]
|
content = content[:start_idx] + content[end_idx + len('END:VTIMEZONE\n'):]
|
||||||
|
|
||||||
# Replace all TZID references
|
# Replace all TZID references
|
||||||
content = content.replace('TZID:Europe/Berlin', 'TZID:Europe/Berlin')
|
content = content.replace('TZID:CampusNetZeit', 'TZID:Europe/Berlin')
|
||||||
content = content.replace('TZID="Europe/Berlin"', 'TZID="Europe/Berlin"')
|
content = content.replace('TZID=CampusNetZeit', 'TZID=Europe/Berlin')
|
||||||
|
content = content.replace('TZID:"CampusNetZeit"', 'TZID:"Europe/Berlin"')
|
||||||
|
content = content.replace('TZID="CampusNetZeit"', 'TZID="Europe/Berlin"')
|
||||||
|
|
||||||
with open(filepath, 'w', encoding='utf-8') as f:
|
with open(filepath, 'w', encoding='utf-8') as f:
|
||||||
f.write(content)
|
f.write(content)
|
||||||
@@ -49,7 +48,7 @@ if __name__ == "__main__":
|
|||||||
text = /*bash*/ ''
|
text = /*bash*/ ''
|
||||||
echo CHANGING OWNERSHIP OF "$(realpath "$1")" RECURSIVELY
|
echo CHANGING OWNERSHIP OF "$(realpath "$1")" RECURSIVELY
|
||||||
read -r -p "Continue?"
|
read -r -p "Continue?"
|
||||||
sudo chown -R ${user} "$1"
|
sudo chown -R ${hyper.user} "$1"
|
||||||
${u}/bin/nx_fix_campuszeit_python "$1"
|
${u}/bin/nx_fix_campuszeit_python "$1"
|
||||||
sudo chown -R radicale "$1"
|
sudo chown -R radicale "$1"
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, hyper, secrets, ... }: let
|
{ pkgs, ... }@all: with all; let
|
||||||
calendars = with hyper; [
|
calendars = with hyper; [
|
||||||
{
|
{
|
||||||
name = "Preservation";
|
name = "Preservation";
|
||||||
@@ -47,6 +47,13 @@
|
|||||||
read-only = true;
|
read-only = true;
|
||||||
type = "ics";
|
type = "ics";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "Worlds";
|
||||||
|
url = "https://zlypher.github.io/lol-events/cal/league-of-legends-world-championship.ical";
|
||||||
|
color = "#A4C3DE";
|
||||||
|
read-only = true;
|
||||||
|
type = "ics";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "Feiertage Hessen";
|
name = "Feiertage Hessen";
|
||||||
url = "https://ics.tools/Feiertage/hessen.ics";
|
url = "https://ics.tools/Feiertage/hessen.ics";
|
||||||
@@ -54,13 +61,6 @@
|
|||||||
read-only = true;
|
read-only = true;
|
||||||
type = "ics";
|
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 = {
|
default_set = {
|
||||||
# name =
|
# name =
|
||||||
@@ -85,7 +85,7 @@ in {
|
|||||||
userName = hyper.user; # my globally set username
|
userName = hyper.user; # my globally set username
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in pkgs.lib.attrsets.mergeAttrsList (
|
in lib.attrsets.mergeAttrsList (
|
||||||
map (calendar: {
|
map (calendar: {
|
||||||
"${calendar.name}" = transform_caledar_set ( default_set // calendar );
|
"${calendar.name}" = transform_caledar_set ( default_set // calendar );
|
||||||
}) calendars
|
}) calendars
|
||||||
@@ -93,7 +93,7 @@ in {
|
|||||||
|
|
||||||
programs.thunderbird.settings = let
|
programs.thunderbird.settings = let
|
||||||
to_safe_name = name: (builtins.replaceStrings ["."] ["-"]) name;
|
to_safe_name = name: (builtins.replaceStrings ["."] ["-"]) name;
|
||||||
in (pkgs.lib.attrsets.mergeAttrsList (
|
in (lib.attrsets.mergeAttrsList (
|
||||||
map (calendar: with ( default_set // calendar ); {
|
map (calendar: with ( default_set // calendar ); {
|
||||||
"calendar.registry.${to_safe_name calendar.name}.cache.enabled" = true;
|
"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-default" = primary;
|
||||||
@@ -106,7 +106,7 @@ in {
|
|||||||
"calendar.registry.${to_safe_name calendar.name}.readOnly" = read-only;
|
"calendar.registry.${to_safe_name calendar.name}.readOnly" = read-only;
|
||||||
}) calendars
|
}) calendars
|
||||||
) // {
|
) // {
|
||||||
"calendar.list.sortOrder" = pkgs.lib.fold (calendar: acc: calendar.name + " " + acc) "" calendars;
|
"calendar.list.sortOrder" = lib.fold (calendar: acc: calendar.name + " " + acc) "" calendars;
|
||||||
"calendar.week.start" = 1;
|
"calendar.week.start" = 1;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, hyper, rice, secrets, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
let
|
let
|
||||||
channels = [
|
channels = [
|
||||||
"Caedrel"
|
"Caedrel"
|
||||||
@@ -6,7 +6,10 @@ let
|
|||||||
# "asmongold"
|
# "asmongold"
|
||||||
# "Caedrel"
|
# "Caedrel"
|
||||||
# "EintrachtSpandau"
|
# "EintrachtSpandau"
|
||||||
"GamesDoneQuick"
|
# "GamesDoneQuick"
|
||||||
|
"Odoamne"
|
||||||
|
"iwdominate"
|
||||||
|
"imls"
|
||||||
"gdolphn"
|
"gdolphn"
|
||||||
"GRONKH"
|
"GRONKH"
|
||||||
"handofblood"
|
"handofblood"
|
||||||
@@ -17,13 +20,13 @@ let
|
|||||||
"lol_nemesis"
|
"lol_nemesis"
|
||||||
# "NASA"
|
# "NASA"
|
||||||
"NoWay4u_Sir"
|
"NoWay4u_Sir"
|
||||||
"OfficialMikeShinoda"
|
# "OfficialMikeShinoda"
|
||||||
"Rekkles"
|
"Rekkles"
|
||||||
"riotgames"
|
"riotgames"
|
||||||
"thebausffs"
|
"thebausffs"
|
||||||
"ThePrimeagen"
|
"ThePrimeagen"
|
||||||
"Tolkin"
|
"Tolkin"
|
||||||
# "TSM_ImperialHal"
|
"imperialhal__"
|
||||||
"velja_lol"
|
"velja_lol"
|
||||||
# "Xisuma"
|
# "Xisuma"
|
||||||
"zackrawrr"
|
"zackrawrr"
|
||||||
@@ -43,13 +46,13 @@ let
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
sops.secrets."streamlink/twitch-oauth" = { path = "%r/secrets/streamlink/twich-oauth"; };
|
# sops.secrets."streamlink/twitch-oauth" = { path = "%r/secrets/streamlink/twich-oauth"; };
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
chatterino2
|
chatterino2
|
||||||
streamlink
|
streamlink
|
||||||
mpv
|
# mpv
|
||||||
];
|
];
|
||||||
file = {
|
file = {
|
||||||
".local/share/chatterino/Settings/settings.json".text = with secrets.chatterino; /* json */ ''
|
".local/share/chatterino/Settings/settings.json".text = with secrets.chatterino; /* json */ ''
|
||||||
@@ -74,18 +77,27 @@ in {
|
|||||||
"separateMessages": true,
|
"separateMessages": true,
|
||||||
"showTimestamps": false,
|
"showTimestamps": false,
|
||||||
"timestampFormat": "h =mm",
|
"timestampFormat": "h =mm",
|
||||||
"usernameDisplayMode": 1
|
"usernameDisplayMode": 1,
|
||||||
|
"findAllUsernames": true
|
||||||
},
|
},
|
||||||
|
"showReplyButton": false,
|
||||||
|
"showTabCloseButton": false,
|
||||||
|
"showTabLiveButton": false,
|
||||||
"splitheader": {
|
"splitheader": {
|
||||||
"showGame": true,
|
"showGame": true,
|
||||||
"showTitle": true,
|
"showTitle": true,
|
||||||
"showUptime": true,
|
"showUptime": true,
|
||||||
"showViewerCount": true
|
"showViewerCount": true
|
||||||
},
|
},
|
||||||
|
"tabStyle": "compact",
|
||||||
"tabVisibility": 0,
|
"tabVisibility": 0,
|
||||||
"theme": { "name": "nxtheme.json" }
|
"theme": { "name": "nxtheme.json" }
|
||||||
},
|
},
|
||||||
"behaviour": {
|
"behaviour": {
|
||||||
|
"autocopletion": {
|
||||||
|
"ShowUsernameCompeltionMenu": false,
|
||||||
|
"userCompletinOnlyWithAt": true
|
||||||
|
},
|
||||||
"pauseOnHoverDuration": 5.0,
|
"pauseOnHoverDuration": 5.0,
|
||||||
"showJoins": false,
|
"showJoins": false,
|
||||||
"usernameRightClickBehavior": 0,
|
"usernameRightClickBehavior": 0,
|
||||||
@@ -100,13 +112,13 @@ in {
|
|||||||
{ "alert": false, "color": "#7f7f3f49", "displayName": "Broadcaster", "name": "broadcaster", "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": "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": "Staff", "name": "staff", "showInMentions": false, "sound": false, "soundUrl": "" },
|
||||||
{ "alert": false, "displayName": "Moderator", "name": "moderator", "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": "" }
|
{ "alert": false, "color": "#7f7f3578", "displayName": "VIP", "name": "vip", "showInMentions": false, "sound": false, "soundUrl": "" }
|
||||||
],
|
],
|
||||||
"selfMessageHighlight": { "color": "#73008cff", "enabled": true }
|
"selfMessageHighlight": { "color": "#73008cff", "enabled": true }
|
||||||
},
|
},
|
||||||
"hotkeys": {
|
"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" ],
|
"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" },
|
"change channel": { "action": "changeChannel", "arguments": [], "category": "split", "keySequence": "Ctrl+R" },
|
||||||
"close popup window": { "action": "delete", "arguments": [], "category": "popupWindow", "keySequence": "Esc" },
|
"close popup window": { "action": "delete", "arguments": [], "category": "popupWindow", "keySequence": "Esc" },
|
||||||
@@ -127,6 +139,7 @@ in {
|
|||||||
"new tab": { "action": "newTab", "arguments": [], "category": "window", "keySequence": "Ctrl+Shift+T" },
|
"new tab": { "action": "newTab", "arguments": [], "category": "window", "keySequence": "Ctrl+Shift+T" },
|
||||||
"next message": { "action": "nextMessage", "arguments": [], "category": "splitInput", "keySequence": "Down" },
|
"next message": { "action": "nextMessage", "arguments": [], "category": "splitInput", "keySequence": "Down" },
|
||||||
"open debug popup": { "action": "debug", "arguments": [], "category": "split", "keySequence": "F10" },
|
"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 quick switcher": { "action": "openQuickSwitcher", "arguments": [], "category": "window", "keySequence": "Ctrl+K" },
|
||||||
"open settings": { "action": "openSettings", "arguments": [], "category": "window", "keySequence": "Ctrl+P" },
|
"open settings": { "action": "openSettings", "arguments": [], "category": "window", "keySequence": "Ctrl+P" },
|
||||||
"popup accept": { "action": "accept", "arguments": [], "category": "popupWindow", "keySequence": "Return" },
|
"popup accept": { "action": "accept", "arguments": [], "category": "popupWindow", "keySequence": "Return" },
|
||||||
@@ -169,14 +182,15 @@ in {
|
|||||||
"send message and keep text": { "action": "sendMessage", "arguments": [ "keepInput" ], "category": "splitInput", "keySequence": "Ctrl+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 global search": { "action": "showGlobalSearch", "arguments": [], "category": "split", "keySequence": "Ctrl+Shift+F" },
|
||||||
"show search": { "action": "showSearch", "arguments": [], "category": "split", "keySequence": "Ctrl+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 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" },
|
"toggle tab visibility": { "action": "setTabVisibility", "arguments": [ "toggle" ], "category": "window", "keySequence": "Ctrl+U" },
|
||||||
"zoom in": { "action": "zoom", "arguments": [ "in" ], "category": "window", "keySequence": "Ctrl++" },
|
"zoom in": { "action": "zoom", "arguments": [ "in" ], "category": "window", "keySequence": "Ctrl++" },
|
||||||
"zoom out": { "action": "zoom", "arguments": [ "out" ], "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" }
|
"zoom reset": { "action": "zoom", "arguments": [ "reset" ], "category": "window", "keySequence": "Ctrl+0" }
|
||||||
},
|
},
|
||||||
"misc": {
|
"misc": {
|
||||||
|
"askOnTabVisibilityToggle": false,
|
||||||
"currentVersion": "2.5.3",
|
"currentVersion": "2.5.3",
|
||||||
"lockNotebookLayout": false
|
"lockNotebookLayout": false
|
||||||
},
|
},
|
||||||
@@ -315,10 +329,9 @@ in {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
".config/streamlink/config".text = ''
|
".config/streamlink/config".text = /* ini */ ''
|
||||||
twitch-api-header=Authorization=OAuth='$(cat ${config.sops.secrets."streamlink/twitch-oauth".path})'
|
twitch-api-header=Authorization=OAuth ${secrets.streamlink.twitch-oauth}
|
||||||
player=mpv
|
player=mpv
|
||||||
player-args='--no-terminal'
|
|
||||||
twitch-low-latency
|
twitch-low-latency
|
||||||
default-stream=best
|
default-stream=best
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
services.clipman = {
|
services.clipman = {
|
||||||
package = pkgs.clipman;
|
package = pkgs.clipman;
|
||||||
|
|||||||
@@ -3,20 +3,30 @@
|
|||||||
home.file.".config/color-pallete.html".text = with rice.color; let
|
home.file.".config/color-pallete.html".text = with rice.color; let
|
||||||
cb = color-set: color-name: size: /* html */ ''
|
cb = color-set: color-name: size: /* html */ ''
|
||||||
<div class="color-container" style="border-color: ${color-set.base}">
|
<div class="color-container" style="border-color: ${color-set.base}">
|
||||||
|
<div class="color-box" style="background: ${color-set.darker}; height: ${builtins.toString size}px;">
|
||||||
|
<p style="color: ${color-set.bright}"> ${color-name}.darker </p>
|
||||||
|
<p sktyle="color: ${color-set.bright}"> ${color-set.darker} </p>
|
||||||
|
</div>
|
||||||
<div class="color-box" style="background: ${color-set.dark}; height: ${builtins.toString size}px;">
|
<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.brighter}"> ${color-name}.dark </p>
|
||||||
<p style="color: ${color-set.bright}"> ${color-set.dark} </p>
|
<p style="color: ${color-set.brighter}"> ${color-set.dark} </p>
|
||||||
</div>
|
</div>
|
||||||
<div class="color-box" style="background: ${color-set.base}; height: ${builtins.toString size}px;">
|
<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-name}.base </p>
|
||||||
<p class="dynamic-text"> ${color-set.base} </p>
|
<p class="dynamic-text"> ${color-set.base} </p>
|
||||||
</div>
|
</div>
|
||||||
<div class="color-box" style="background: ${color-set.bright}; height: ${builtins.toString size}px;">
|
<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.darker}"> ${color-name}.bright </p>
|
||||||
<p style="color: ${color-set.dark}"> ${color-set.bright} </p>
|
<p style="color: ${color-set.darker}"> ${color-set.bright} </p>
|
||||||
|
</div>
|
||||||
|
<div class="color-box" style="background: ${color-set.brighter}; height: ${builtins.toString size}px;">
|
||||||
|
<p style="color: ${color-set.dark}"> ${color-name}.brighter </p>
|
||||||
|
<p style="color: ${color-set.dark}"> ${color-set.brighter} </p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
'';
|
'';
|
||||||
|
rgb = rice.lib.hex-to-rgb-comma-string;
|
||||||
|
s = builtins.toString;
|
||||||
in /* html */ ''
|
in /* html */ ''
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<head>
|
<head>
|
||||||
@@ -30,27 +40,26 @@
|
|||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
html {
|
html {
|
||||||
background: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency});
|
background: transparent;
|
||||||
padding: auto;
|
|
||||||
}
|
}
|
||||||
body {
|
body {
|
||||||
font-family: ${rice.font.base.name};
|
font-family: ${rice.font.base.name};
|
||||||
color: ${foreground};
|
color: ${foreground};
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
margin: 10px auto 10px auto;
|
margin: 10px auto 10px auto;
|
||||||
background: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency});
|
background: rgba(${rgb background},${s rice.transparency});
|
||||||
border: ${builtins.toString rice.border-width}px solid ${border};
|
border: ${s rice.border-width}px solid ${border};
|
||||||
border-radius: ${builtins.toString rice.rounding}px;
|
border-radius: ${s rice.rounding}px;
|
||||||
padding: ${builtins.toString rice.gap-size}px;
|
padding: ${s rice.gap-size}px;
|
||||||
}
|
}
|
||||||
h1 {
|
h1 {
|
||||||
margin: ${builtins.toString rice.gap-size}px;
|
margin: ${s rice.gap-size}px;
|
||||||
}
|
}
|
||||||
.color-container {
|
.color-container {
|
||||||
font-family: ${rice.font.code.name};
|
font-family: ${rice.font.code.name};
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: ${builtins.toString rice.gap-size}px;
|
gap: ${s rice.gap-size}px;
|
||||||
margin: ${builtins.toString rice.gap-size}px;
|
margin: ${s rice.gap-size}px;
|
||||||
}
|
}
|
||||||
.color-box {
|
.color-box {
|
||||||
width: 200px;
|
width: 200px;
|
||||||
@@ -58,7 +67,7 @@
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
border-radius: ${builtins.toString rice.rounding}px;
|
border-radius: ${s rice.rounding}px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
@@ -67,8 +76,9 @@
|
|||||||
${cb accent "accent" 100}
|
${cb accent "accent" 100}
|
||||||
${cb secondary "secondary" 100}
|
${cb secondary "secondary" 100}
|
||||||
${cb tertiary "tertiary" 100}
|
${cb tertiary "tertiary" 100}
|
||||||
${cb weird "weird" 100}
|
${cb weird "weird" 80}
|
||||||
${cb special "special" 100}
|
${cb special "special" 80}
|
||||||
|
${cb subtle "subtle" 80}
|
||||||
<br>
|
<br>
|
||||||
${cb positive "positive" 70}
|
${cb positive "positive" 70}
|
||||||
${cb negative "negative" 70}
|
${cb negative "negative" 70}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
{ pkgs, hyper, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
pkgs.lib.mkIf (hyper.host != "NxACE")
|
lib.mkIf (hyper.host != "NxACE")
|
||||||
{
|
{
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
# vesktop
|
vesktop
|
||||||
discord
|
# discord
|
||||||
];
|
];
|
||||||
|
|
||||||
# file.".config/vesktop/settings/settings.json".text = let
|
# file.".config/vesktop/settings/settings.json".text = let
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{ pkgs, hyper, rice, secrets, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
pkgs.lib.mkIf (hyper.host != "NxACE")
|
lib.mkIf (hyper.host != "NxACE")
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
thunderbird
|
thunderbird
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.thunderbird = let
|
programs.thunderbird = let
|
||||||
inherit (pkgs.lib.generators) toJSON;
|
inherit (lib.generators) toJSON;
|
||||||
extensions = toJSON {} {
|
extensions = toJSON {} {
|
||||||
"addon@darkreader.org" = "71d6c69d-55f9-4c56-888c-abdcf6efd73d";
|
"addon@darkreader.org" = "71d6c69d-55f9-4c56-888c-abdcf6efd73d";
|
||||||
};
|
};
|
||||||
@@ -137,37 +137,37 @@ pkgs.lib.mkIf (hyper.host != "NxACE")
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
hsmw = with secrets.email.hsmw; {
|
# hsmw = with secrets.email.hsmw; {
|
||||||
address = "${un}@hs-mittweida.de";
|
# address = "${un}@hs-mittweida.de";
|
||||||
userName = "${un}@hs-mittweida.de";
|
# userName = "${un}@hs-mittweida.de";
|
||||||
realName = "Lennart J. Kurzweg";
|
# realName = "Lennart J. Kurzweg";
|
||||||
imap = {
|
# imap = {
|
||||||
port = 993;
|
# port = 993;
|
||||||
host = "xc.hs-mittweida.de";
|
# host = "xc.hs-mittweida.de";
|
||||||
};
|
# };
|
||||||
smtp = {
|
# smtp = {
|
||||||
port = 587;
|
# port = 587;
|
||||||
host = "xc.hs-mittweida.de";
|
# host = "xc.hs-mittweida.de";
|
||||||
tls.useStartTls = true;
|
# tls.useStartTls = true;
|
||||||
};
|
# };
|
||||||
signature = {
|
# signature = {
|
||||||
text = ''
|
# text = ''
|
||||||
MatNr: ${mnr}
|
# MatNr: ${mnr}
|
||||||
SemGr: ${semgr}
|
# SemGr: ${semgr}
|
||||||
About Me: https://nx2.site/about-me
|
# About Me: https://nx2.site/about-me
|
||||||
Contact: https://nx2.site/contact
|
# Contact: https://nx2.site/contact
|
||||||
GPG: https://nx2.site/gpg
|
# GPG: https://nx2.site/gpg
|
||||||
'';
|
# '';
|
||||||
showSignature = "append";
|
# showSignature = "append";
|
||||||
};
|
# };
|
||||||
thunderbird = {
|
# thunderbird = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
profiles = [ "nx2" ];
|
# profiles = [ "nx2" ];
|
||||||
settings = id: {
|
# settings = id: {
|
||||||
"mail.server.server_${id}.fcc_folder" = "imap://${un}%40hs-mittweida.de@xc.hs-mittweida.de/Sent";
|
# "mail.server.server_${id}.fcc_folder" = "imap://${un}%40hs-mittweida.de@xc.hs-mittweida.de/Sent";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
tuda = with secrets.email.tuda; {
|
tuda = with secrets.email.tuda; {
|
||||||
address = "${un}@stud.tu-darmstadt.de";
|
address = "${un}@stud.tu-darmstadt.de";
|
||||||
userName = tuid;
|
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,262 +1,16 @@
|
|||||||
{ pkgs, hyper, rice, ... }:
|
{ pkgs, ... }@all: with all; {
|
||||||
# browser.tabs.allow_transparent_browser
|
programs.firefox.profiles."{hyper.user}".settings = {
|
||||||
# https://www.reddit.com/r/FirefoxCSS/comments/1dqws4b/firefox_128_will_allow_the_main_browser_content/
|
"widget.use-xdg-desktop-portal.file-picker" = 1;
|
||||||
{
|
};
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
firefox
|
firefox
|
||||||
];
|
];
|
||||||
file = with rice.color; let
|
file = {
|
||||||
blur = builtins.toString 20;
|
".mozilla/firefox/${hyper.user}/chrome/userChrome.css".text = import ./userChrome.nix rice;
|
||||||
in {
|
".mozilla/firefox/${hyper.user}/chrome/userContent.css".text = import ./userContent.nix rice;
|
||||||
".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;
|
|
||||||
--arrowpanel-border-color : ${border} !important;
|
|
||||||
--arrowpanel-color : ${secondary.base} !important;
|
|
||||||
--arrowpanel-dimmed : rgba(${rice.lib.hex-to-rgb-comma-string background},0.4) !important;
|
|
||||||
--arrowpanel-dimmed-further : rgba(${rice.lib.hex-to-rgb-comma-string background},0.6) !important;
|
|
||||||
--arrowpanel-dimmed-even-further : rgba(${rice.lib.hex-to-rgb-comma-string background},0.8) !important;
|
|
||||||
|
|
||||||
/* Autocomplete */
|
|
||||||
--autocomplete-popup-background : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
|
|
||||||
--autocomplete-popup-color : ${foreground} !important;
|
|
||||||
--autocomplete-popup-highlight-background: ${accent.base} !important;
|
|
||||||
--autocomplete-popup-highlight-color : ${foreground} !important;
|
|
||||||
|
|
||||||
/* Toolbar background */
|
|
||||||
--toolbar-bgcolor : rgba(${rice.lib.hex-to-rgb-comma-string background},0.4) !important;
|
|
||||||
--toolbar-non-lwt-bgcolor : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
|
|
||||||
--toolbar-non-lwt-bgimage : none !important;
|
|
||||||
--toolbar-color : ${foreground} !important;
|
|
||||||
|
|
||||||
/* Tabs */
|
|
||||||
--tab-selected-bgcolor : ${accent.base} !important;
|
|
||||||
--tabs-border-color : ${border} !important;
|
|
||||||
--tab-line-color : ${accent.base} !important;
|
|
||||||
--tab-loader-size : 16px !important;
|
|
||||||
|
|
||||||
/* Sidebar */
|
|
||||||
--lwt-sidebar-background-color : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
|
|
||||||
--lwt-sidebar-text-color : ${foreground} !important;
|
|
||||||
--sidebar-background-color : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
|
|
||||||
--sidebar-text-color : ${foreground} !important;
|
|
||||||
--sidebar-border-color : ${border} !important;
|
|
||||||
|
|
||||||
/* URL bar */
|
|
||||||
--urlbar-popup-url-color : ${foreground} !important;
|
|
||||||
--urlbar-popup-action-color : ${secondary.base} !important;
|
|
||||||
--toolbar-field-background-color : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
|
|
||||||
--toolbar-field-focus-background-color : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
|
|
||||||
--toolbar-field-color : ${accent.base} !important;
|
|
||||||
--toolbar-field-focus-color : ${foreground} !important;
|
|
||||||
--toolbar-field-focus-border-color : ${accent.base} !important;
|
|
||||||
|
|
||||||
/* Buttons */
|
|
||||||
--toolbarbutton-icon-fill : ${foreground} !important;
|
|
||||||
--toolbarbutton-hover-background : rgba(${rice.lib.hex-to-rgb-comma-string accent.base}, 0.2) !important;
|
|
||||||
--toolbarbutton-active-background : rgba(${rice.lib.hex-to-rgb-comma-string accent.base}, 0.4) !important;
|
|
||||||
|
|
||||||
/* Notification and panel */
|
|
||||||
--panel-disabled-color : rgba(${rice.lib.hex-to-rgb-comma-string foreground},0.3) !important;
|
|
||||||
--panel-separator-color : ${border} !important;
|
|
||||||
|
|
||||||
/* New tab page */
|
|
||||||
--newtab-background-color : ${background} !important;
|
|
||||||
--newtab-background-color-secondary : ${background} !important;
|
|
||||||
--newtab-text-primary-color : ${foreground} !important;
|
|
||||||
--newtab-text-secondary-color : ${secondary.base} !important;
|
|
||||||
--newtab-search-icon-color : ${accent.base} !important;
|
|
||||||
|
|
||||||
--tabpanel-background-color : transparent !important;
|
|
||||||
background : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
|
|
||||||
}
|
|
||||||
.tabbrowser-tab[selected="true"] {
|
|
||||||
color: ${background} !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#appcontent {
|
|
||||||
background: transparent !important;
|
|
||||||
}
|
|
||||||
#navigator-toolbox {
|
|
||||||
--tabs-border-color: transparent !important;
|
|
||||||
}
|
|
||||||
#toolbar-menubar, #TabsToolbar, #PersonalToolbar, #navigator-toolbox, #sidebar-box {
|
|
||||||
background-color: transparent !important;
|
|
||||||
-moz-appearance: none !important;
|
|
||||||
background-image: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
window, #nav-bar{
|
|
||||||
background-color: transparent !important;
|
|
||||||
-moz-appearance: none !important;
|
|
||||||
background-image: none !important;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
|
|
||||||
".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) {
|
|
||||||
html:not(#ublock0-epicker), html:not(#ublock0-epicker) body, #newtab-customize-overlay {
|
|
||||||
background: ${background} !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Sets up minimal incognito scrollbar */
|
|
||||||
@-moz-document url(about:privatebrowsing) {
|
|
||||||
:root{
|
|
||||||
scrollbar-width: thin !important;
|
|
||||||
scrollbar-color: rgb(161, 161, 161) transparent !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* new-tab */
|
|
||||||
@-moz-document url-prefix(about:home), url-prefix(about:newtab) {
|
|
||||||
:root{
|
|
||||||
--newtab-background-color-secondary: ${background} !important;
|
|
||||||
}
|
|
||||||
body, html {
|
|
||||||
background: transparent !important;
|
|
||||||
}
|
|
||||||
.tile, .search-handoff-button {
|
|
||||||
border: ${builtins.toString rice.border-width}px solid ${border} !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@-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(${blur}px);
|
|
||||||
}
|
|
||||||
body, html, .bg-neutral-background, .threadline, reddit-sidebar-nav, shreddit-post, aside, .reddit-search-bar, comment-body-header, shreddit-comment-tree{
|
|
||||||
background-color: transparent !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@-moz-document domain(reddit.com) {
|
|
||||||
header {
|
|
||||||
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
|
|
||||||
}
|
|
||||||
body, html, reddit-sidebar-nav, shreddit-post, aside, .reddit-search-bar{
|
|
||||||
background-color: transparent !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@-moz-document domain(google.com) {
|
|
||||||
.sfbg {
|
|
||||||
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
|
|
||||||
backdrop-filter: blur(${blur}px);
|
|
||||||
}
|
|
||||||
body, html, div#search > * {
|
|
||||||
background-color: transparent !important;
|
|
||||||
border: ${builtins.toString rice.border-width} solid ${border};
|
|
||||||
}
|
|
||||||
.g, .appbar {
|
|
||||||
background-color: transparent !important;
|
|
||||||
border: ${builtins.toString rice.border-width} solid ${border};
|
|
||||||
}
|
|
||||||
div#rso {
|
|
||||||
* {
|
|
||||||
background-color: transparent !important;
|
|
||||||
border: ${builtins.toString rice.border-width} solid ${border};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
div#cnt > div {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@-moz-document domain(mynixos.com) {
|
|
||||||
body, html {
|
|
||||||
background-color: transparent !important;
|
|
||||||
}
|
|
||||||
header, footer {
|
|
||||||
background-color: rgba(0,0,0,1) !important;
|
|
||||||
backdrop-filter: blur(100px);
|
|
||||||
border-radius: ${builtins.toString rice.rounding}px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@-moz-document domain(moodle.informatik.tu-darmstadt.de) {
|
|
||||||
body, html , .main-inner, .main-inner * {
|
|
||||||
background-color: transparent !important;
|
|
||||||
}
|
|
||||||
.bg-primary {
|
|
||||||
background-color: rgba(${rice.lib.hex-to-rgb-comma-string accent.base}, 0.5) !important!
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@-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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
# browser.tabs.allow_transparent_browser
|
||||||
|
# https://www.reddit.com/r/FirefoxCSS/comments/1dqws4b/firefox_128_will_allow_the_main_browser_content/
|
||||||
|
|||||||
19
home-modules/firefox/firefox.nix
Normal file
19
home-modules/firefox/firefox.nix
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{ 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/
|
||||||
|
{
|
||||||
|
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;
|
||||||
|
f = rice.lib.hex-to-rgb-comma-string;
|
||||||
|
in {
|
||||||
|
".mozilla/firefox/${hyper.user}/chrome/userChrome.css".text = import ./userChrome.nix rice;
|
||||||
|
".mozilla/firefox/${hyper.user}/chrome/userContent.css".text = import ./userContent.nix rice; };
|
||||||
|
};
|
||||||
|
}
|
||||||
92
home-modules/firefox/userChrome.nix
Normal file
92
home-modules/firefox/userChrome.nix
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
rice: with rice.color; let
|
||||||
|
f = rice.lib.hex-to-rgb-comma-string;
|
||||||
|
# blur = builtins.toString 20;
|
||||||
|
in /* css */ ''
|
||||||
|
:root{
|
||||||
|
/* Popup panels */
|
||||||
|
--arrowpanel-background : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
|
||||||
|
--arrowpanel-border-color : ${border} !important;
|
||||||
|
--arrowpanel-color : ${secondary.base} !important;
|
||||||
|
--arrowpanel-dimmed : rgba(${f background},0.4) !important;
|
||||||
|
--arrowpanel-dimmed-further : rgba(${f background},0.6) !important;
|
||||||
|
--arrowpanel-dimmed-even-further : rgba(${f background},0.8) !important;
|
||||||
|
|
||||||
|
/* Autocomplete */
|
||||||
|
--autocomplete-popup-background : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
|
||||||
|
--autocomplete-popup-color : ${foreground} !important;
|
||||||
|
--autocomplete-popup-highlight-background: ${accent.base} !important;
|
||||||
|
--autocomplete-popup-highlight-color : ${foreground} !important;
|
||||||
|
|
||||||
|
/* Toolbar background */
|
||||||
|
--toolbar-bgcolor : transparent !important;
|
||||||
|
--toolbar-non-lwt-bgcolor : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
|
||||||
|
--toolbar-non-lwt-bgimage : none !important;
|
||||||
|
--toolbar-color : ${foreground} !important;
|
||||||
|
|
||||||
|
/* Tabs */
|
||||||
|
--tab-selected-bgcolor : ${accent.base} !important;
|
||||||
|
--tabs-border-color : ${border} !important;
|
||||||
|
--tab-line-color : ${accent.base} !important;
|
||||||
|
--tab-loader-size : 16px !important;
|
||||||
|
|
||||||
|
/* Sidebar */
|
||||||
|
--lwt-sidebar-background-color : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
|
||||||
|
--lwt-sidebar-text-color : ${foreground} !important;
|
||||||
|
--sidebar-background-color : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
|
||||||
|
--sidebar-text-color : ${foreground} !important;
|
||||||
|
--sidebar-border-color : ${border} !important;
|
||||||
|
|
||||||
|
/* URL bar */
|
||||||
|
--urlbar-popup-url-color : ${foreground} !important;
|
||||||
|
--urlbar-popup-action-color : ${secondary.base} !important;
|
||||||
|
--toolbar-field-background-color : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
|
||||||
|
--toolbar-field-focus-background-color : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
|
||||||
|
--toolbar-field-color : ${accent.base} !important;
|
||||||
|
--toolbar-field-focus-color : ${foreground} !important;
|
||||||
|
--toolbar-field-focus-border-color : ${accent.base} !important;
|
||||||
|
|
||||||
|
/* Buttons */
|
||||||
|
--toolbarbutton-icon-fill : ${foreground} !important;
|
||||||
|
--toolbarbutton-hover-background : rgba(${f accent.base}, 0.2) !important;
|
||||||
|
--toolbarbutton-active-background : rgba(${f accent.base}, 0.4) !important;
|
||||||
|
|
||||||
|
/* Notification and panel */
|
||||||
|
--panel-disabled-color : rgba(${f foreground},0.3) !important;
|
||||||
|
--panel-separator-color : ${border} !important;
|
||||||
|
|
||||||
|
/* New tab page */
|
||||||
|
--newtab-background-color : transparent !important;
|
||||||
|
--newtab-background-color-secondary : ${secondary.dark} !important;
|
||||||
|
--newtab-text-primary-color : ${foreground} !important;
|
||||||
|
--newtab-text-secondary-color : ${secondary.base} !important;
|
||||||
|
--newtab-search-icon-color : ${accent.base} !important;
|
||||||
|
--newtab-background-card : ${accent.dark} !important;
|
||||||
|
--tabpanel-background-color : transparent !important;
|
||||||
|
|
||||||
|
background : linear-gradient(180deg,rgba(${f secondary.dark}, ${builtins.toString rice.transparency}) 0%, rgba(${f accent.dark}, ${builtins.toString rice.transparency}) 100%) !important;
|
||||||
|
}
|
||||||
|
.tabbrowser-tab[selected="true"] {
|
||||||
|
color: ${background} !important;
|
||||||
|
}
|
||||||
|
hbox#browser {
|
||||||
|
backround-color: transparent: !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#appcontent {
|
||||||
|
background: transparent !important;
|
||||||
|
}
|
||||||
|
#navigator-toolbox {
|
||||||
|
--tabs-border-color: transparent !important;
|
||||||
|
}
|
||||||
|
#toolbar-menubar, #TabsToolbar, #PersonalToolbar, #navigator-toolbox, #sidebar-box {
|
||||||
|
background-color: transparent !important;
|
||||||
|
-moz-appearance: none !important;
|
||||||
|
background-image: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
window, #nav-bar{
|
||||||
|
background-color: transparent !important;
|
||||||
|
-moz-appearance: none !important;
|
||||||
|
background-image: none !important;
|
||||||
|
}
|
||||||
|
''
|
||||||
226
home-modules/firefox/userContent.nix
Normal file
226
home-modules/firefox/userContent.nix
Normal file
@@ -0,0 +1,226 @@
|
|||||||
|
rice: with rice.color; let
|
||||||
|
f = rice.lib.hex-to-rgb-comma-string;
|
||||||
|
blur = builtins.toString 20;
|
||||||
|
in /* css */ ''
|
||||||
|
/* Removes the white loading page */
|
||||||
|
/* url(about:newtab), url(about:home) */
|
||||||
|
@-moz-document url(about:blank) {
|
||||||
|
html:not(#ublock0-epicker), html:not(#ublock0-epicker) body, #newtab-customize-overlay {
|
||||||
|
background: transparent !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Sets up minimal incognito scrollbar */
|
||||||
|
@-moz-document url(about:privatebrowsing) {
|
||||||
|
:root{
|
||||||
|
scrollbar-width: thin !important;
|
||||||
|
scrollbar-color: rgb(161, 161, 161) transparent !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* new-tab */
|
||||||
|
@-moz-document url-prefix(about:home), url-prefix(about:newtab) {
|
||||||
|
:root{
|
||||||
|
--newtab-background-color-secondary: rgba(${f background},0.5) !important;
|
||||||
|
}
|
||||||
|
body, html {
|
||||||
|
background: transparent !important;
|
||||||
|
}
|
||||||
|
.tile, .search-handoff-button {
|
||||||
|
border: ${builtins.toString rice.border-width}px solid ${border} !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-moz-document domain(reddit.com) {
|
||||||
|
header {
|
||||||
|
background-color: rgba(${f background},${builtins.toString rice.transparency}) !important;
|
||||||
|
backdrop-filter: blur(${blur}px);
|
||||||
|
}
|
||||||
|
body, html, .bg-neutral-background, .threadline, reddit-sidebar-nav, shreddit-post, aside, .reddit-search-bar, comment-body-header, shreddit-comment-tree, #flex-left-nav-container {
|
||||||
|
background-color: transparent !important;
|
||||||
|
}
|
||||||
|
#main-content {
|
||||||
|
background-color: rgba(${f background},0.5)!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@-moz-document domain(reddit.com) {
|
||||||
|
header {
|
||||||
|
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
|
||||||
|
}
|
||||||
|
body, html, reddit-sidebar-nav, shreddit-post, aside, .reddit-search-bar{
|
||||||
|
background-color: transparent !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-moz-document domain(google.com) {
|
||||||
|
.sfbg {
|
||||||
|
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
|
||||||
|
backdrop-filter: blur(${blur}px);
|
||||||
|
}
|
||||||
|
body, html, div#search > * {
|
||||||
|
background-color: transparent !important;
|
||||||
|
border: ${builtins.toString rice.border-width} solid ${border};
|
||||||
|
}
|
||||||
|
.g, .appbar {
|
||||||
|
background-color: transparent !important;
|
||||||
|
border: ${builtins.toString rice.border-width} solid ${border};
|
||||||
|
}
|
||||||
|
div#rso {
|
||||||
|
* {
|
||||||
|
background-color: transparent !important;
|
||||||
|
border: ${builtins.toString rice.border-width} solid ${border};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
div#cnt > div {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@-moz-document domain(youtube.com) {
|
||||||
|
body, html, div#content, ytd-app, #frosted-glass.with-chipbar.ytd-app, ytd-shorts[is-dark] #cinematic-shorts-scrim.ytd-shorts {
|
||||||
|
background-color: transparent !important;
|
||||||
|
}
|
||||||
|
#background.ytd-masthead, div#background {
|
||||||
|
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
|
||||||
|
backdrop-filter: blur(100px);
|
||||||
|
}
|
||||||
|
* {
|
||||||
|
--yt-spec-base-background: transparent;
|
||||||
|
--yt-spec-raised-background: rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
|
||||||
|
--yt-spec-menu-background: rgba(${rice.lib.hex-to-rgb-comma-string accent.dark}, ${builtins.toString rice.transparency}) !important;
|
||||||
|
--yt-spec-inverted-background: rgba(${rice.lib.hex-to-rgb-comma-string secondary.dark}, ${builtins.toString rice.transparency}) !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-moz-document domain(mynixos.com) {
|
||||||
|
body, html {
|
||||||
|
background-color: transparent !important;
|
||||||
|
}
|
||||||
|
header, footer {
|
||||||
|
background-color: rgba(0,0,0,1) !important;
|
||||||
|
backdrop-filter: blur(100px);
|
||||||
|
border-radius: ${builtins.toString rice.rounding}px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-moz-document domain(moodle.informatik.tu-darmstadt.de) {
|
||||||
|
body, html , .main-inner, .main-inner * {
|
||||||
|
background-color: transparent !important;
|
||||||
|
}
|
||||||
|
.bg-primary {
|
||||||
|
background-color: rgba(${rice.lib.hex-to-rgb-comma-string accent.base},0.5) !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@-moz-document domain(wikipedia.org) {
|
||||||
|
body, html, div.mw-page-container, .vector-header, .mw-header {
|
||||||
|
background-color: transparent !important;
|
||||||
|
}
|
||||||
|
:root {
|
||||||
|
--color-base: ${foreground} !important;
|
||||||
|
--color-base--hover: ${accent.bright} !important;
|
||||||
|
--color-emphasized: ${accent.base} !important;
|
||||||
|
--color-progressive: ${accent.base} !important;
|
||||||
|
--color-progressive--hover: ${accent.brighter} !important;
|
||||||
|
--color-progressive--active: ${secondary.bright} !important;
|
||||||
|
--color-destructive: ${negative.base} !important;
|
||||||
|
--color-destructive--hover: ${negative.brighter} !important;
|
||||||
|
--color-destructive--active: ${negative.bright} !important;
|
||||||
|
--color-visited: ${secondary.base} !important;
|
||||||
|
--color-visited--hover: ${secondary.brighter} !important;
|
||||||
|
--color-visited--active: ${secondary.bright} !important;
|
||||||
|
--color-error: ${negative.base} !important;
|
||||||
|
--color-error--hover: ${negative.bright} !important;
|
||||||
|
--color-error--active: ${negative.bright} !important;
|
||||||
|
--color-warning: ${weird.base} !important;
|
||||||
|
--color-success: ${positive.base} !important;
|
||||||
|
--color-notice: ${special.base} !important;
|
||||||
|
--color-content-added: ${positive.base} !important;
|
||||||
|
--color-content-removed: ${negative.base} !important;
|
||||||
|
--color-base--subtle: ${accent.dark} !important;
|
||||||
|
--box-shadow-color-base: ${black.base} !important;
|
||||||
|
--background-color-base: transparent !important;
|
||||||
|
--background-color-neutral: transparent !important;
|
||||||
|
--background-color-neutral-subtle: transparent !important;
|
||||||
|
--background-color-interactive: ${accent.darker} !important;
|
||||||
|
--background-color-interactive--hover: ${accent.dark} !important;
|
||||||
|
--background-color-interactive--active: ${secondary.dark} !important;
|
||||||
|
--background-color-interactive-subtle: ${subtle.darker} !important;
|
||||||
|
--background-color-interactive-subtle--hover: ${subtle.dark} !important;
|
||||||
|
--background-color-interactive-subtle--active: ${subtle.base} !important;
|
||||||
|
--border-color-base: ${border} !important;
|
||||||
|
--border-color-emphasized: ${border2} !important;
|
||||||
|
--border-color-subtle: ${subtle.base} !important;
|
||||||
|
--border-color-muted: ${subtle.dark} !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@-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;
|
||||||
|
# }
|
||||||
|
# }
|
||||||
@@ -1,10 +1,9 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
fish
|
|
||||||
any-nix-shell
|
any-nix-shell
|
||||||
|
|
||||||
(writeShellScriptBin "nxfetch" ''
|
(writeShellScriptBin "nxfetch" /* bash */ ''
|
||||||
logo=$(echo -e "
|
logo=$(echo -e "
|
||||||
|
|
||||||
⠀⠀⠀⠀⠰⣿⣧⠀⠀⠹⣿⣧⠀⣴⣿⠆⠀⠀⠀⠀ OS
|
⠀⠀⠀⠀⠰⣿⣧⠀⠀⠹⣿⣧⠀⣴⣿⠆⠀⠀⠀⠀ OS
|
||||||
@@ -19,13 +18,15 @@
|
|||||||
|
|
||||||
" | lolcat --force 2> /dev/null)
|
" | lolcat --force 2> /dev/null)
|
||||||
|
|
||||||
|
release_line=$(cat /etc/*-release 2> /dev/null || echo 'PRETTY_NAME="[No Release]"')
|
||||||
|
|
||||||
msg="
|
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 3p): $(echo "$release_line" | 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 4p): ''${XDG_CURRENT_DESKTOP^}
|
||||||
$(echo -e "$logo" | sed -n 5p): ''${TERM^}
|
$(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 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 | sed 's/./\U&/')
|
$(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 8p): ''$(uname -r | sed -E 's=(.+-.+-.+-.+)-.+=\1=g')
|
||||||
$(echo -e "$logo" | sed -n 9p): $($EDITOR --version | head -n 1 | sed -E 's-(.+?) \(.*-\1-g' | sed 's/./\U&/')
|
$(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 10p): $(yazi --version | sed -E 's-(.*?) \(.*-\1-g')
|
||||||
$(echo -e "$logo" | sed -n 11p): $(starship --version | head -n 1 | sed 's/./\U&/')
|
$(echo -e "$logo" | sed -n 11p): $(starship --version | head -n 1 | sed 's/./\U&/')
|
||||||
@@ -38,6 +39,7 @@
|
|||||||
|
|
||||||
programs.fish = {
|
programs.fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.fish;
|
||||||
shellAliases = let
|
shellAliases = let
|
||||||
base-eza = "eza --icons --git --smart-group --group-directories-first";
|
base-eza = "eza --icons --git --smart-group --group-directories-first";
|
||||||
in {
|
in {
|
||||||
@@ -80,10 +82,12 @@
|
|||||||
gsw = "git switch";
|
gsw = "git switch";
|
||||||
gft = "git fetch";
|
gft = "git fetch";
|
||||||
ns = "nix-shell";
|
ns = "nix-shell";
|
||||||
|
nd = "nix develop -c fish";
|
||||||
lzd = "lazydocker";
|
lzd = "lazydocker";
|
||||||
d = "docker";
|
d = "docker";
|
||||||
dcmp = "docker compose";
|
dcmp = "docker compose";
|
||||||
stui = "sudo systemctl-tui";
|
stui = "sudo systemctl-tui";
|
||||||
|
wlc = "wl-copy";
|
||||||
# nxsent = ''sent -c \${rice.color.foreground} -b \${rice.color.background}'';
|
# nxsent = ''sent -c \${rice.color.foreground} -b \${rice.color.background}'';
|
||||||
|
|
||||||
# ya = "yazi"; # function
|
# ya = "yazi"; # function
|
||||||
@@ -101,6 +105,7 @@
|
|||||||
rm -f -- "$tmp"
|
rm -f -- "$tmp"
|
||||||
end
|
end
|
||||||
nxfetch
|
nxfetch
|
||||||
|
set -e SESSION_FROM_DE
|
||||||
end
|
end
|
||||||
'';
|
'';
|
||||||
functions = {
|
functions = {
|
||||||
@@ -108,6 +113,12 @@
|
|||||||
mkdir $argv
|
mkdir $argv
|
||||||
cd $argv
|
cd $argv
|
||||||
'';
|
'';
|
||||||
|
nx_backup = let
|
||||||
|
destination = if hyper.host == "NxNORTH" then "${hyper.home}/shared/" else "${hyper.home}/backups/";
|
||||||
|
in pkgs.lib.mkIf (hyper.host == "NxXPS" || hyper.host == "NxNORTH") ''
|
||||||
|
set RPATH (curl -s https://${hyper.domain}/latest-backup)
|
||||||
|
rsync -avz --info=progress2 -e "ssh -p ${builtins.toString secrets.ssh.port}" ${hyper.user}@ssh.${hyper.domain}:"$RPATH" ${destination}
|
||||||
|
'';
|
||||||
# gpg = '';
|
# gpg = '';
|
||||||
# set bold \e[1m
|
# set bold \e[1m
|
||||||
# set green \e[32m
|
# set green \e[32m
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
{ pkgs, hyper, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
pkgs.lib.mkIf (hyper.host == "NxNORTH")
|
lib.mkIf (hyper.host == "NxNORTH")
|
||||||
{
|
{
|
||||||
home = {
|
home = {
|
||||||
packages = (with pkgs.unstable; [
|
packages = (with pkgs.unstable; [
|
||||||
protonup
|
protonup-ng
|
||||||
mangohud
|
mangohud
|
||||||
|
|
||||||
prismlauncher
|
prismlauncher
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{ pkgs, hyper, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
pkgs.lib.mkIf (hyper.host == "NxXPS")
|
lib.mkIf (hyper.host == "NxXPS")
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
libinput-gestures
|
libinput-gestures
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, rice, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
programs.ghostty = {
|
programs.ghostty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# (gimp-with-plugins.override {
|
# (gimp-with-plugins.override {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, hyper, rice, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
delta
|
delta
|
||||||
@@ -21,15 +21,17 @@
|
|||||||
};
|
};
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
credential = {
|
credential = {
|
||||||
"https://git.da.dicos.de".username = pkgs.lib.mkIf (hyper.host =="NxWSL") "lkurzweg";
|
"https://git.da.dicos.de".username = lib.mkIf (hyper.host =="NxDCS") "lkurzweg";
|
||||||
"https://git.da.dicos.de".password = pkgs.lib.mkIf (hyper.host =="NxWSL") "Test";
|
"https://git.da.dicos.de".password = lib.mkIf (hyper.host =="NxDCS") "Test";
|
||||||
};
|
};
|
||||||
url."ssh://git@git.da.dicos.de/".insteadOf = pkgs.lib.mkIf (hyper.host =="NxWSL") "https://git.da.dicos.de/";
|
url."ssh://git@git.da.dicos.de/".insteadOf = lib.mkIf (hyper.host =="NxDCS") "https://git.da.dicos.de/";
|
||||||
|
url."ssh://git@github.com/".insteadOf = "https://github.com/";
|
||||||
pull.rebase = false; # true
|
pull.rebase = false; # true
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
programs.lazygit = {
|
programs.lazygit = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.lazygit;
|
||||||
settings = {
|
settings = {
|
||||||
windowSize = "normal";
|
windowSize = "normal";
|
||||||
gui.theme = with rice.color; {
|
gui.theme = with rice.color; {
|
||||||
|
|||||||
@@ -1,17 +1,36 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all; {
|
||||||
{
|
home.packages = with pkgs; [ pinentry-all ];
|
||||||
# there also is a system module
|
programs.gpg = {
|
||||||
home.packages = with pkgs; [
|
enable = true;
|
||||||
gnupg
|
package = pkgs.gnupg;
|
||||||
gpg-tui
|
homedir = "${hyper.home}/vault/gnupg";
|
||||||
pinentry-all
|
settings = {
|
||||||
];
|
armor = true;
|
||||||
|
cert-digest-algo = "SHA512";
|
||||||
# services.pcscd.enable = true;
|
charset = "utf-8";
|
||||||
|
default-preference-list = "SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed";
|
||||||
|
keyid-format = "0xlong";
|
||||||
|
list-options = "show-uid-validity";
|
||||||
|
no-comments = true;
|
||||||
|
no-emit-version = true;
|
||||||
|
no-greeting = true;
|
||||||
|
no-symkey-cache = true;
|
||||||
|
personal-cipher-preferences = "AES256 AES192 AES";
|
||||||
|
personal-compress-preferences = "ZLIB BZIP2 ZIP Uncompressed";
|
||||||
|
personal-digest-preferences = "SHA512 SHA384 SHA256";
|
||||||
|
pinentry-mode = "loopback";
|
||||||
|
require-cross-certification = true;
|
||||||
|
s2k-cipher-algo = "AES256";
|
||||||
|
s2k-digest-algo = "SHA512";
|
||||||
|
use-agent = true;
|
||||||
|
verify-options = "show-uid-validity";
|
||||||
|
with-fingerprint = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
services.gpg-agent = let
|
services.gpg-agent = let
|
||||||
min2sec = min: (min * 60);
|
min2sec = min: (min * 60);
|
||||||
in {
|
in {
|
||||||
enable = true;
|
enable = false;
|
||||||
verbose = true;
|
verbose = true;
|
||||||
sshKeys = [
|
sshKeys = [
|
||||||
"97081264F7FD72D890D496E839AA9A4C7892A7D8" # Keygrip (not Fingerprint!) of [A] Subkey
|
"97081264F7FD72D890D496E839AA9A4C7892A7D8" # Keygrip (not Fingerprint!) of [A] Subkey
|
||||||
@@ -20,48 +39,8 @@
|
|||||||
enableFishIntegration = true;
|
enableFishIntegration = true;
|
||||||
defaultCacheTtlSsh = min2sec 60;
|
defaultCacheTtlSsh = min2sec 60;
|
||||||
defaultCacheTtl = min2sec 30;
|
defaultCacheTtl = min2sec 30;
|
||||||
# pinentryPackage = pkgs.pinentry-curses;
|
extraConfig = ''
|
||||||
};
|
allow-loopback-pinentry
|
||||||
|
|
||||||
home.file.".gnupg/gpg.conf".text = ''
|
|
||||||
# Use AES256, 192, or 128 as cipher
|
|
||||||
personal-cipher-preferences AES256 AES192 AES
|
|
||||||
# Use SHA512, 384, or 256 as digest
|
|
||||||
personal-digest-preferences SHA512 SHA384 SHA256
|
|
||||||
# Use ZLIB, BZIP2, ZIP, or no compression
|
|
||||||
personal-compress-preferences ZLIB BZIP2 ZIP Uncompressed
|
|
||||||
# Default preferences for new keys
|
|
||||||
default-preference-list SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed
|
|
||||||
# SHA512 as digest to sign keys
|
|
||||||
cert-digest-algo SHA512
|
|
||||||
# SHA512 as digest for symmetric ops
|
|
||||||
s2k-digest-algo SHA512
|
|
||||||
# AES256 as cipher for symmetric ops
|
|
||||||
s2k-cipher-algo AES256
|
|
||||||
# UTF-8 support for compatibility
|
|
||||||
charset utf-8
|
|
||||||
# No comments in messages
|
|
||||||
no-comments
|
|
||||||
# No version in output
|
|
||||||
no-emit-version
|
|
||||||
# Disable banner
|
|
||||||
no-greeting
|
|
||||||
# Long key id format
|
|
||||||
keyid-format 0xlong
|
|
||||||
# Display UID validity
|
|
||||||
list-options show-uid-validity
|
|
||||||
verify-options show-uid-validity
|
|
||||||
# Display all keys and their fingerprints
|
|
||||||
with-fingerprint
|
|
||||||
# Display key origins and updates
|
|
||||||
#with-key-origin
|
|
||||||
# Cross-certify subkeys are present and valid
|
|
||||||
require-cross-certification
|
|
||||||
# Disable caching of passphrase for symmetrical ops
|
|
||||||
no-symkey-cache
|
|
||||||
# Output ASCII instead of binary
|
|
||||||
armor
|
|
||||||
# Enable smartcard
|
|
||||||
# use-agent
|
|
||||||
'';
|
'';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, rice, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
let
|
let
|
||||||
# theme-name = "Colloid-Pink-Dark-Compact";
|
# theme-name = "Colloid-Pink-Dark-Compact";
|
||||||
# theme-package = pkgs.colloid-gtk-theme.override {
|
# theme-package = pkgs.colloid-gtk-theme.override {
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{ pkgs, hyper, rice, ... }:
|
{ pkgs, ... }@all: with all; {
|
||||||
{
|
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
# nixfmt-classic # nix formater
|
# nixfmt-classic # nix formater
|
||||||
@@ -7,10 +6,7 @@
|
|||||||
# nixd # specified in nixd.nix
|
# nixd # specified in nixd.nix
|
||||||
gopls
|
gopls
|
||||||
delve
|
delve
|
||||||
python311Packages.python-lsp-server
|
|
||||||
jdt-language-server
|
jdt-language-server
|
||||||
ruff
|
|
||||||
pyright
|
|
||||||
lldb # debugger for llvm stuff
|
lldb # debugger for llvm stuff
|
||||||
yaml-language-server # yaml
|
yaml-language-server # yaml
|
||||||
marksman # markdown
|
marksman # markdown
|
||||||
@@ -181,10 +177,10 @@
|
|||||||
};
|
};
|
||||||
smart-tab = {
|
smart-tab = {
|
||||||
enable = false;
|
enable = false;
|
||||||
supersend-menu = false;
|
supersede-menu = false;
|
||||||
};
|
};
|
||||||
inline-diagnostics = {
|
inline-diagnostics = {
|
||||||
cursor-line = "hint";
|
cursor-line = "warning";
|
||||||
other-lines = "disable";
|
other-lines = "disable";
|
||||||
prefix-len = 1;
|
prefix-len = 1;
|
||||||
# max-wrap = set above
|
# max-wrap = set above
|
||||||
@@ -194,6 +190,7 @@
|
|||||||
keys = {
|
keys = {
|
||||||
normal = {
|
normal = {
|
||||||
"C-g" = [ ":new" ":insert-output lazygit" ":buffer-close!" ":redraw" ];
|
"C-g" = [ ":new" ":insert-output lazygit" ":buffer-close!" ":redraw" ];
|
||||||
|
"C-i" = [ ":pipe fgl" "toggle_comments" ];
|
||||||
"A-`" = [ "no_op" ];
|
"A-`" = [ "no_op" ];
|
||||||
"`" = [ "no_op" ];
|
"`" = [ "no_op" ];
|
||||||
"ö" = { "s" = [ "switch_case" ]; "u" = [ "switch_to_uppercase" ]; "l" = [ "switch_to_lowercase" ]; };
|
"ö" = { "s" = [ "switch_case" ]; "u" = [ "switch_to_uppercase" ]; "l" = [ "switch_to_lowercase" ]; };
|
||||||
@@ -207,18 +204,18 @@
|
|||||||
language = [
|
language = [
|
||||||
{
|
{
|
||||||
name = "nix";
|
name = "nix";
|
||||||
language-servers = [
|
language-servers = [ "nixd" ];
|
||||||
"nixd"
|
|
||||||
# "llm"
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "latex";
|
name = "latex";
|
||||||
language-servers = [ "texlab" "language-tool" ];
|
language-servers = [ "texlab" "language-tool" ];
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "typst";
|
||||||
|
language-servers = [ "language-tool" "tinymist" ];
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "markdown";
|
name = "markdown";
|
||||||
# language-servers = [ "marksman" "style-check" "language-tool" ];
|
|
||||||
language-servers = [ "language-tool" "marksman" ];
|
language-servers = [ "language-tool" "marksman" ];
|
||||||
file-types = [ "md" "MD" ];
|
file-types = [ "md" "MD" ];
|
||||||
scope = "text.<name>";
|
scope = "text.<name>";
|
||||||
@@ -271,7 +268,7 @@
|
|||||||
command = "nixd";
|
command = "nixd";
|
||||||
};
|
};
|
||||||
"style-check" = {
|
"style-check" = {
|
||||||
command = pkgs.lib.getExe pkgs.vale-ls;
|
command = lib.getExe pkgs.vale-ls;
|
||||||
};
|
};
|
||||||
"language-tool" = {
|
"language-tool" = {
|
||||||
command = "${pkgs.ltex-ls}/bin/ltex-ls";
|
command = "${pkgs.ltex-ls}/bin/ltex-ls";
|
||||||
@@ -287,7 +284,7 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
"llm" = {
|
"llm" = {
|
||||||
command = pkgs.lib.getExe pkgs.helix-gpt;
|
command = lib.getExe pkgs.helix-gpt;
|
||||||
args = [
|
args = [
|
||||||
"--handler"
|
"--handler"
|
||||||
"ollama"
|
"ollama"
|
||||||
@@ -438,8 +435,8 @@
|
|||||||
fg = black.bright;
|
fg = black.bright;
|
||||||
};
|
};
|
||||||
"ui.virtual.inlay-hint" = {
|
"ui.virtual.inlay-hint" = {
|
||||||
fg = weird.dark;
|
fg = subtle.base;
|
||||||
bg = weird.base;
|
bg = subtle.dark;
|
||||||
};
|
};
|
||||||
"ui.virtual.ruler" = {
|
"ui.virtual.ruler" = {
|
||||||
bg = background;
|
bg = background;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [ hyprland-autoname-workspaces ];
|
packages = with pkgs; [ hyprland-autoname-workspaces ];
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
".*.exe" = ""
|
".*.exe" = ""
|
||||||
"firefox" = ""
|
"firefox" = ""
|
||||||
"galaxyclient.exe" = ""
|
"galaxyclient.exe" = ""
|
||||||
"\\.?gimp-.*" = ""
|
"\\.?[gG]imp-.*" = ""
|
||||||
"F?imv.*" = ""
|
"F?imv.*" = ""
|
||||||
"KiCad" = ""
|
"KiCad" = ""
|
||||||
"kitty" = ""
|
"kitty" = ""
|
||||||
@@ -34,6 +34,7 @@
|
|||||||
"obsidian" = ""
|
"obsidian" = ""
|
||||||
"org.inkscape.Inkscape" = ""
|
"org.inkscape.Inkscape" = ""
|
||||||
"org.remmina.Remmina" = ""
|
"org.remmina.Remmina" = ""
|
||||||
|
"org.prismlauncher.*" = ""
|
||||||
"pavucontrol" = ""
|
"pavucontrol" = ""
|
||||||
"pcbnew" = ""
|
"pcbnew" = ""
|
||||||
"Signal" = ""
|
"Signal" = ""
|
||||||
|
|||||||
@@ -1,83 +1,33 @@
|
|||||||
{ config, pkgs, hyper, inputs, rice, ... }:
|
{ pkgs, ... }@all: with all; let
|
||||||
let
|
|
||||||
animation-speed = "5";
|
animation-speed = "5";
|
||||||
transparency = builtins.toString rice.transparency;
|
transparency = builtins.toString rice.transparency;
|
||||||
terminal = "ghostty";
|
terminal = "ghostty";
|
||||||
terminal-exec = "ghostty --command=";
|
terminal-exec = "ghostty --command=";
|
||||||
monitors = let
|
monitors = {
|
||||||
docked = false;
|
|
||||||
in {
|
|
||||||
xps = {
|
xps = {
|
||||||
main = if docked then {
|
main = { name = "eDP-1"; resolution = "1920x1200"; position = "1920x1080"; scale = "1.0"; };
|
||||||
name = "DP-5";
|
second = { name = "desc:Sony SONY TV 0x01010101"; resolution = "1920x1080"; position = "1920x0"; scale = "1.0"; };
|
||||||
resolution = "1920x1080";
|
third = { name = "DP-6"; resolution = "1920x1080"; position = "0x0"; scale = "1.0"; };
|
||||||
position = "1920x0";
|
|
||||||
scale = "1.0";
|
|
||||||
} else {
|
|
||||||
name = "eDP-1";
|
|
||||||
resolution = "1920x1200";
|
|
||||||
position = "0x1080";
|
|
||||||
scale = "1.0";
|
|
||||||
};
|
|
||||||
second = if docked then {
|
|
||||||
name = "DP-6";
|
|
||||||
resolution = "1920x1080";
|
|
||||||
position = "0x0";
|
|
||||||
scale = "1.0";
|
|
||||||
} else {
|
|
||||||
name = "DP-3";
|
|
||||||
resolution = "1920x1080";
|
|
||||||
position = "0x0";
|
|
||||||
scale = "1.0";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
north = {
|
north = {
|
||||||
main = {
|
main = { name = "desc:Iiyama North America PL3270Q na"; resolution = "2560x1440"; position = "1920x0"; scale = "1.0"; };
|
||||||
name = "DP-4";
|
left = { name = "desc:Philips Consumer Electronics Company 273PLPH AU11423002132"; resolution = "1920x1080"; position = "0x0"; scale = "1.0"; };
|
||||||
resolution = "2560x1440";
|
# right = { name = "HDMI-A-2"; resolution = "1920x1080"; position = "4480x360"; scale = "1.0"; };
|
||||||
position = "1920x150";
|
|
||||||
scale = "1.0";
|
|
||||||
};
|
|
||||||
left = {
|
|
||||||
name = "HDMI-A-2";
|
|
||||||
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";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
ace.main = { name = "HDMI-A-1"; resolution = "3840x2160"; position = "0x0"; scale = "2.0"; };
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
home.packages = (with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# hyprland itself is a system package
|
xdg-desktop-portal-hyprland
|
||||||
hyprland-protocols
|
hyprland-protocols
|
||||||
hyprlock
|
hyprlock
|
||||||
hypridle
|
hypridle
|
||||||
hyprshot
|
hyprshot
|
||||||
hyprpicker
|
hyprpicker
|
||||||
hyprcursor
|
hyprcursor
|
||||||
|
|
||||||
grim
|
grim
|
||||||
slurp
|
slurp
|
||||||
|
];
|
||||||
# ]) ++ (with pkgs-unstable; [
|
|
||||||
|
|
||||||
# ]) ++ (with inputs; [
|
|
||||||
# hyprswitch.packages.x86_64-linux.default
|
|
||||||
]);
|
|
||||||
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
@@ -91,7 +41,7 @@ in {
|
|||||||
# inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo
|
# inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo
|
||||||
# inputs.hyprfocus.packages.${pkgs.system}.hyprfocus
|
# inputs.hyprfocus.packages.${pkgs.system}.hyprfocus
|
||||||
# inputs.hycov.packages.${pkgs.system}.hycov
|
# inputs.hycov.packages.${pkgs.system}.hycov
|
||||||
pkgs.hyprlandPlugins.hyprspace
|
# pkgs.hyprlandPlugins.hyprspace
|
||||||
# inputs.hyprspace.packages.${pkgs.system}.Hyprspace
|
# inputs.hyprspace.packages.${pkgs.system}.Hyprspace
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -100,6 +50,7 @@ in {
|
|||||||
if hyper.host == "NxXPS" then (with monitors.xps; [
|
if hyper.host == "NxXPS" then (with monitors.xps; [
|
||||||
"${main.name}, ${main.resolution}, ${main.position}, ${main.scale}"
|
"${main.name}, ${main.resolution}, ${main.position}, ${main.scale}"
|
||||||
"${second.name}, ${second.resolution}, ${second.position}, ${second.scale}"
|
"${second.name}, ${second.resolution}, ${second.position}, ${second.scale}"
|
||||||
|
"${third.name}, ${third.resolution}, ${third.position}, ${third.scale}"
|
||||||
]) else (if hyper.host == "NxNORTH" then (with monitors.north; [
|
]) else (if hyper.host == "NxNORTH" then (with monitors.north; [
|
||||||
"${main.name}, ${main.resolution}, ${main.position}, ${main.scale}"
|
"${main.name}, ${main.resolution}, ${main.position}, ${main.scale}"
|
||||||
"${left.name}, ${left.resolution}, ${left.position}, ${left.scale}"
|
"${left.name}, ${left.resolution}, ${left.position}, ${left.scale}"
|
||||||
@@ -111,7 +62,7 @@ in {
|
|||||||
workspace = let
|
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);
|
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);
|
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.third.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);
|
# 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";
|
compact = "gapsin:0, gapsout:0, bordersize:1, rounding:false";
|
||||||
in [
|
in [
|
||||||
@@ -136,7 +87,7 @@ in {
|
|||||||
"28, monitor:${d2}"
|
"28, monitor:${d2}"
|
||||||
"29, monitor:${d2}"
|
"29, monitor:${d2}"
|
||||||
"20, monitor:${d2}, ${compact}"
|
"20, monitor:${d2}, ${compact}"
|
||||||
"31, monitor:${d3}, default:${let x = if hyper.host == "NxNORTH" then "true" else "false"; in x}"
|
"31, monitor:${d3}, default:${let x = if hyper.host == "NxNORTH" then "true" else "false"; in x}, ${compact}"
|
||||||
"32, monitor:${d3}"
|
"32, monitor:${d3}"
|
||||||
"33, monitor:${d3}"
|
"33, monitor:${d3}"
|
||||||
"34, monitor:${d3}"
|
"34, monitor:${d3}"
|
||||||
@@ -266,7 +217,6 @@ in {
|
|||||||
"/usr/lib/polkit-kde-authentication-agent-1 "
|
"/usr/lib/polkit-kde-authentication-agent-1 "
|
||||||
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
||||||
"syncthing -no-browser"
|
"syncthing -no-browser"
|
||||||
"mako"
|
|
||||||
"fcitx5"
|
"fcitx5"
|
||||||
# "ibus engine xkb:de::deu"
|
# "ibus engine xkb:de::deu"
|
||||||
"libinput-gestures"
|
"libinput-gestures"
|
||||||
@@ -274,7 +224,7 @@ in {
|
|||||||
];
|
];
|
||||||
|
|
||||||
windowrulev2 = [
|
windowrulev2 = [
|
||||||
"bordercolor rgba(${rice.lib.nohash rice.color.magenta.bright}ff), pinned:1"
|
"bordercolor rgba(${rice.lib.nohash rice.color.special.bright}ff), pinned:1"
|
||||||
|
|
||||||
"bordersize 0, floating:0, onworkspace:w[tv1]"
|
"bordersize 0, floating:0, onworkspace:w[tv1]"
|
||||||
"rounding 0, floating:0, onworkspace:w[tv1]"
|
"rounding 0, floating:0, onworkspace:w[tv1]"
|
||||||
@@ -306,27 +256,37 @@ in {
|
|||||||
"opacity ${transparency}, class:^(Code)$"
|
"opacity ${transparency}, class:^(Code)$"
|
||||||
"opacity ${transparency}, class:^(code-oss)$"
|
"opacity ${transparency}, class:^(code-oss)$"
|
||||||
"opacity ${transparency}, class:^(discord)$"
|
"opacity ${transparency}, class:^(discord)$"
|
||||||
"opacity ${transparency}, class:^(element)$"
|
# "opacity ${transparency}, class:^(vesktop)$"
|
||||||
"opacity ${transparency}, class:^(Element)$"
|
# "opacity ${transparency}, class:^(Element)$"
|
||||||
"opacity ${transparency}, class:^(lutris)$"
|
"opacity ${transparency}, class:^(lutris)$"
|
||||||
"opacity ${transparency}, class:^(neovide)$"
|
"opacity ${transparency}, class:^(neovide)$"
|
||||||
"opacity ${transparency}, class:^(obsidian)$"
|
# "opacity ${transparency}, class:^(obsidian)$"
|
||||||
"opacity ${transparency}, class:^(vesktop)$"
|
|
||||||
"opacity ${transparency}, class:^(VSCodium)$"
|
"opacity ${transparency}, class:^(VSCodium)$"
|
||||||
"opacity ${transparency}, title:^(wlogout)$"
|
"opacity ${transparency}, title:^(wlogout)$"
|
||||||
|
|
||||||
"opaque, title:^(GNU Image Manipulation Program)$"
|
"opaque, title:^(GNU Image Manipulation Program)$"
|
||||||
|
"opaque, fullscreen:1"
|
||||||
|
|
||||||
"pin, title:^(Picture-in-Picture)$"
|
"pin, title:^(Picture-in-Picture)$"
|
||||||
|
|
||||||
"tile, class:^(sent)$"
|
"tile, class:^(sent)$"
|
||||||
|
|
||||||
"workspace 100, class:^(gamescope)$"
|
"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)$"
|
||||||
|
"size: 30% 30%, initialTitle:^(Select Calendar)$"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
layerrule = [
|
layerrule = [
|
||||||
"blur,waybar"
|
"blur,waybar"
|
||||||
|
"blur,bar-0" # hyprpanel
|
||||||
|
"blur,bar-1"
|
||||||
|
"blur,bar-2"
|
||||||
|
"blur,bar-3"
|
||||||
|
"blur,bar-4"
|
||||||
"dimaround,rofi"
|
"dimaround,rofi"
|
||||||
"blur,rofi"
|
"blur,rofi"
|
||||||
"xray,rofi"
|
"xray,rofi"
|
||||||
@@ -347,13 +307,13 @@ in {
|
|||||||
"SUPER SHIFT, F1, movetoworkspace, 100"
|
"SUPER SHIFT, F1, movetoworkspace, 100"
|
||||||
# "SUPER, F2,"
|
# "SUPER, F2,"
|
||||||
# "SUPER, F3, toggleopaque"
|
# "SUPER, F3, toggleopaque"
|
||||||
"SUPER, F4, exec, rm /tmp/caldav_event_cache.json && notify-send 'Cleared Saved Event!' ''"
|
"SUPER, F4, exec, rm /tmp/caldav_event_cache.json && notify-send 'NxCaldavEvent' 'Cleared saved event cache!' ''"
|
||||||
"SUPER, F5, exec, nx_gcal_event force-lookup"
|
# "SUPER, F5, exec, nx_gcal_event force-lookup"
|
||||||
"SUPER SHIFT, F5, exec, nx_gcal_event reauthenticate"
|
# "SUPER SHIFT, F5, exec, nx_gcal_event reauthenticate"
|
||||||
"SUPER, F6, exec, ${terminal-exec}'htop'"
|
"SUPER, F6, exec, ${terminal-exec}'htop'"
|
||||||
"SUPER, F7, exec, ${terminal-exec}'nmtui'"
|
"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, 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, execr, submap_indicator set ' '"
|
||||||
"SUPER, F9, submap, color"
|
"SUPER, F9, submap, color"
|
||||||
# "SUPER, F10, hyprload,update"
|
# "SUPER, F10, hyprload,update"
|
||||||
"SUPER, F11, exec, waybar"
|
"SUPER, F11, exec, waybar"
|
||||||
@@ -399,9 +359,9 @@ in {
|
|||||||
"ALT, TAB, focuscurrentorlast"
|
"ALT, TAB, focuscurrentorlast"
|
||||||
# "SUPER, TAB, exec, hyprswitch --daemon"
|
# "SUPER, TAB, exec, hyprswitch --daemon"
|
||||||
"SUPER, Q, killactive"
|
"SUPER, Q, killactive"
|
||||||
"SUPER, W, exec, waybar_mode set ' '"
|
"SUPER, W, exec, submap_indicator set ' '"
|
||||||
"SUPER, W, submap, browserSM "
|
"SUPER, W, submap, browserSM "
|
||||||
"SUPER, E, exec, element-desktop"
|
# "SUPER, E, exec, element-desktop"
|
||||||
"SUPER, R, exec, rofi -show drun"
|
"SUPER, R, exec, rofi -show drun"
|
||||||
# "SUPER, T, exec, alacritty"
|
# "SUPER, T, exec, alacritty"
|
||||||
# "SUPER SHIFT, T, exec, alacritty -e sh -c "ssh nxace""
|
# "SUPER SHIFT, T, exec, alacritty -e sh -c "ssh nxace""
|
||||||
@@ -412,7 +372,7 @@ in {
|
|||||||
"SUPER, I, exec, ${terminal-exec}'hx ~/nix-dots/ && fish'"
|
"SUPER, I, exec, ${terminal-exec}'hx ~/nix-dots/ && fish'"
|
||||||
"SUPER SHIFT, I, exec, ${terminal-exec}'nh home switch || read'"
|
"SUPER SHIFT, I, exec, ${terminal-exec}'nh home switch || read'"
|
||||||
"SUPER CTRL, I, exec, ${terminal-exec}'nh os switch || read'"
|
"SUPER CTRL, I, exec, ${terminal-exec}'nh os switch || read'"
|
||||||
"SUPER, O, exec, obsidian "
|
# "SUPER, O, exec, obsidian "
|
||||||
"SUPER, P, pin "
|
"SUPER, P, pin "
|
||||||
# "SUPER, Ü,"
|
# "SUPER, Ü,"
|
||||||
# "SUPER, +,"
|
# "SUPER, +,"
|
||||||
@@ -422,11 +382,11 @@ in {
|
|||||||
###########################################################################
|
###########################################################################
|
||||||
## ROW 3:
|
## ROW 3:
|
||||||
|
|
||||||
"SUPER, A, execr, waybar_mode set ' '"
|
"SUPER, A, execr, submap_indicator set ' '"
|
||||||
"SUPER, A, submap, scrL"
|
"SUPER, A, submap, scrL"
|
||||||
"SUPER, S, exec, spotify"
|
"SUPER, S, exec, spotify"
|
||||||
# "SUPER, D, exec, vesktop --disable-gpu-compositing"
|
"SUPER, D, exec, vesktop"
|
||||||
"SUPER, D, exec, discord"
|
# "SUPER, D, exec, discord"
|
||||||
"SUPER, F, fullscreen"
|
"SUPER, F, fullscreen"
|
||||||
# "SUPER, G,"
|
# "SUPER, G,"
|
||||||
"SUPER, H, movefocus, l"
|
"SUPER, H, movefocus, l"
|
||||||
@@ -441,14 +401,14 @@ in {
|
|||||||
## ROW 4:
|
## ROW 4:
|
||||||
|
|
||||||
# "SUPER, <, overview:toggle"
|
# "SUPER, <, overview:toggle"
|
||||||
"SUPER, Y, execr, waybar_mode set ' '"
|
"SUPER, Y, execr, submap_indicator set ' '"
|
||||||
"SUPER, Y, submap, scrR"
|
"SUPER, Y, submap, scrR"
|
||||||
"SUPER, X, exec, pkill wlogout || wlogout --protocol layer-shell -b 3"
|
"SUPER, X, exec, pkill wlogout || wlogout --protocol layer-shell -b 3"
|
||||||
# "SUPER, C, exec, /home/nx2/scripts/quickconfig/quickconfig.sh "
|
# "SUPER, C, exec, /home/nx2/scripts/quickconfig/quickconfig.sh "
|
||||||
"SUPER, C, exec, chatterino"
|
"SUPER, C, exec, chatterino"
|
||||||
"SUPER SHIFT, C, exec, hyprpicker -n -a"
|
"SUPER SHIFT, C, exec, hyprpicker -n -a"
|
||||||
"SUPER, V, togglefloating, "
|
"SUPER, V, togglefloating, "
|
||||||
"SUPER, B, exec, bitwarden"
|
# "SUPER, B, exec, bitwarden"
|
||||||
"SUPER, N, togglesplit"
|
"SUPER, N, togglesplit"
|
||||||
# "SUPER, M, exec, /home/nx2/scripts/meme-full-screen/meme-full-screen.sh "
|
# "SUPER, M, exec, /home/nx2/scripts/meme-full-screen/meme-full-screen.sh "
|
||||||
# "SUPER, comma, exec, /home/nx2/scripts/change-language.sh"
|
# "SUPER, comma, exec, /home/nx2/scripts/change-language.sh"
|
||||||
@@ -460,7 +420,7 @@ in {
|
|||||||
|
|
||||||
# bindr = SUPER, Ctrl, exec, # ??
|
# bindr = SUPER, Ctrl, exec, # ??
|
||||||
# bindr = SUPERALT, Alt_L, exec,
|
# bindr = SUPERALT, Alt_L, exec,
|
||||||
"SUPER, Space, cyclenext"
|
# "SUPER, Space, cyclenext"
|
||||||
"SUPER SHIFT, Space, swapnext"
|
"SUPER SHIFT, Space, swapnext"
|
||||||
# "SUPER, , "
|
# "SUPER, , "
|
||||||
# "SUPER, , "
|
# "SUPER, , "
|
||||||
@@ -480,7 +440,7 @@ in {
|
|||||||
###########################################################################
|
###########################################################################
|
||||||
## MEGA KEYS:
|
## MEGA KEYS:
|
||||||
|
|
||||||
", Print, execr, waybar_mode set ' '"
|
", Print, execr, submap_indicator set ' '"
|
||||||
", Print, submap, screenshot"
|
", Print, submap, screenshot"
|
||||||
|
|
||||||
# "SUPER, Next, resizeactive, 5% 5%" # binde
|
# "SUPER, Next, resizeactive, 5% 5%" # binde
|
||||||
@@ -564,18 +524,18 @@ in {
|
|||||||
# '8888Y' 'Y8888P' Y8888P' YP YP 88 YP YP '8888Y'
|
# '8888Y' 'Y8888P' Y8888P' YP YP 88 YP YP '8888Y'
|
||||||
extraConfig = let
|
extraConfig = let
|
||||||
action_simple = { mods ? "", key, cmd }: ''
|
action_simple = { mods ? "", key, cmd }: ''
|
||||||
bind=${mods},${key},execr,waybar_mode unset
|
bind=${mods},${key},execr,submap_indicator unset
|
||||||
bind=${mods},${key},${cmd}
|
bind=${mods},${key},${cmd}
|
||||||
bind=${mods},${key},submap,reset
|
bind=${mods},${key},submap,reset
|
||||||
'';
|
'';
|
||||||
extra_workspace = { key, wsnumber }: ''
|
extra_workspace = { key, wsnumber }: ''
|
||||||
bind=,${key},execr,waybar_mode unset
|
bind=,${key},execr,submap_indicator unset
|
||||||
bind=,${key},workspace,${wsnumber}
|
bind=,${key},workspace,${wsnumber}
|
||||||
bind=,${key},submap,reset
|
bind=,${key},submap,reset
|
||||||
bind=SUPER,${key},execr,waybar_mode unset
|
bind=SUPER,${key},execr,submap_indicator unset
|
||||||
bind=SUPER,${key},workspace,${wsnumber}
|
bind=SUPER,${key},workspace,${wsnumber}
|
||||||
bind=SUPER,${key},submap,reset
|
bind=SUPER,${key},submap,reset
|
||||||
bind=SUPER SHIFT,${key},execr, waybar_mode unset
|
bind=SUPER SHIFT,${key},execr, submap_indicator unset
|
||||||
bind=SUPER SHIFT,${key},movetoworkspace,${wsnumber}
|
bind=SUPER SHIFT,${key},movetoworkspace,${wsnumber}
|
||||||
bind=SUPER SHIFT,${key},submap,reset
|
bind=SUPER SHIFT,${key},submap,reset
|
||||||
'';
|
'';
|
||||||
@@ -598,35 +558,35 @@ in {
|
|||||||
${action_simple { key = "Y"; cmd = "exec,firefox https://youtube.com";}}
|
${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";}}
|
||||||
${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,exec,submap_indicator set ' '
|
||||||
bind=,Z,submap,tuda
|
bind=,Z,submap,tuda
|
||||||
bind=,Z,submap,reset
|
bind=,Z,submap,reset
|
||||||
bind=,Escape,exec,waybar_mode unset
|
bind=,Escape,exec,submap_indicator unset
|
||||||
bind=,Escape,submap,reset
|
bind=,Escape,submap,reset
|
||||||
submap = reset
|
submap = reset
|
||||||
|
|
||||||
|
|
||||||
submap = scrL
|
submap = scrL
|
||||||
${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])}
|
${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, execr, submap_indicator unset
|
||||||
bind = , A, submap, reset
|
bind = , A, submap, reset
|
||||||
bind = , Escape, execr, waybar_mode unset
|
bind = , Escape, execr, submap_indicator unset
|
||||||
bind = , Escape, submap, reset
|
bind = , Escape, submap, reset
|
||||||
submap = reset
|
submap = reset
|
||||||
|
|
||||||
submap = scrR
|
submap = scrR
|
||||||
${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])}
|
${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, execr, submap_indicator unset
|
||||||
bind = , Y, submap, reset
|
bind = , Y, submap, reset
|
||||||
bind = , Escape, execr, waybar_mode unset
|
bind = , Escape, execr, submap_indicator unset
|
||||||
bind = , Escape, submap, reset
|
bind = , Escape, submap, reset
|
||||||
submap = reset
|
submap = reset
|
||||||
|
|
||||||
submap = color
|
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 = "W"; cmd = ''exec,swww query | sed -n 1p | sed -E 's-.*image: (.*)-"\1"-g' | xargs change_colors_json img && notify-send 'NxTheme' '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 = "M"; cmd = ''exec,change_colors_json manual && notify-send 'NxTheme' 'change_colors_json manual successfull' ''; }}
|
||||||
${action_simple { key = "D"; cmd = ''exec,firefox ${hyper.home}/.config/color-pallete.html''; }}
|
${action_simple { key = "D"; cmd = ''exec,firefox ${hyper.home}/.config/color-pallete.html''; }}
|
||||||
bind = , Escape, execr, waybar_mode unset
|
bind = , Escape, execr, submap_indicator unset
|
||||||
bind = , Escape, submap, reset
|
bind = , Escape, submap, reset
|
||||||
submap = reset
|
submap = reset
|
||||||
|
|
||||||
@@ -634,7 +594,7 @@ in {
|
|||||||
${action_simple { key = "T"; cmd = ''exec,firefox https://www.tucan.tu-darmstadt.de/''; }}
|
${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 = "M"; cmd = ''exec,firefox https://moodle.tu-darmstadt.de/''; }}
|
||||||
${action_simple { key = "I"; cmd = ''exec,firefox https://moodle.informatik.tu-darmstadt.de/''; }}
|
${action_simple { key = "I"; cmd = ''exec,firefox https://moodle.informatik.tu-darmstadt.de/''; }}
|
||||||
bind = , Escape, execr, waybar_mode unset
|
bind = , Escape, execr, submap_indicator unset
|
||||||
bind = , Escape, submap, reset
|
bind = , Escape, submap, reset
|
||||||
submap = reset
|
submap = reset
|
||||||
|
|
||||||
@@ -642,7 +602,7 @@ in {
|
|||||||
${action_simple { key = "W"; cmd = ''exec,hyprshot -m window''; }}
|
${action_simple { key = "W"; cmd = ''exec,hyprshot -m window''; }}
|
||||||
${action_simple { key = "M"; cmd = ''exec,hyprshot -m output''; }}
|
${action_simple { key = "M"; cmd = ''exec,hyprshot -m output''; }}
|
||||||
${action_simple { key = "R"; cmd = ''exec,hyprshot -m region''; }}
|
${action_simple { key = "R"; cmd = ''exec,hyprshot -m region''; }}
|
||||||
bind = , Escape, execr, waybar_mode unset
|
bind = , Escape, execr, submap_indicator unset
|
||||||
bind = , Escape, submap, reset
|
bind = , Escape, submap, reset
|
||||||
submap = reset
|
submap = reset
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{ pkgs, hyper, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
pkgs.lib.mkIf (hyper.host != "NxACE")
|
lib.mkIf (hyper.host != "NxACE")
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
texlab # LSP
|
texlab # LSP
|
||||||
|
|||||||
@@ -1,16 +1,15 @@
|
|||||||
{ pkgs, rice, ... }:
|
{ config, pkgs, ... }@all: with all; {
|
||||||
{
|
|
||||||
home.packages = with pkgs; [ libnotify ];
|
home.packages = with pkgs; [ libnotify ];
|
||||||
services.mako = with rice; {
|
services.mako = with rice; {
|
||||||
enable = true;
|
enable = if config.programs.hyprpanel.enable then false else true;
|
||||||
settings = {
|
settings = {
|
||||||
defaultTimeout = 10000; # in ms
|
default-timeout = 5000; # in ms
|
||||||
backgroundColor = color.background;
|
background-color = color.background;
|
||||||
textColor = color.foreground;
|
text-color = color.foreground;
|
||||||
borderColor = color.border;
|
|
||||||
borderSize = border-width;
|
|
||||||
font = font.code.name;
|
font = font.code.name;
|
||||||
borderRadius = rounding;
|
border-size = border-width;
|
||||||
|
border-radius = rounding;
|
||||||
|
border-color = color.border;
|
||||||
anchor = "top-right";
|
anchor = "top-right";
|
||||||
margin = builtins.toString (gap-size * 2) ;
|
margin = builtins.toString (gap-size * 2) ;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, hyper, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# cinny-desktop
|
# cinny-desktop
|
||||||
|
|||||||
80
home-modules/mpv.nix
Normal file
80
home-modules/mpv.nix
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
{ pkgs, ... }@all: with all; {
|
||||||
|
programs.mpv = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.mpv;
|
||||||
|
config = {
|
||||||
|
# osc = false; # Disables the on-screen controller (seekbar, volume, etc.)
|
||||||
|
# osd-bar = false; # Disables the on-screen display progress bar
|
||||||
|
demuxer-max-back-bytes = 4294967296; # Sets the maximum number of bytes to buffer for seeking backwards
|
||||||
|
demuxer-max-bytes = 4294967296; # Sets the maximum number of bytes to buffer for seeking forwards
|
||||||
|
interpolation = true; # Enables frame interpolation for smoother playback
|
||||||
|
video-sync = "display-resample"; # Synchronizes video playback to the display's refresh rate
|
||||||
|
sub-visibility = true; # Hides subtitles by default
|
||||||
|
sub-auto = "fuzzy"; # Automatically loads subtitles if their filename is similar to the video file
|
||||||
|
sub-font = rice.font.base.name;
|
||||||
|
# sub-blur = 10; # this blurs the whole thing, text aswell
|
||||||
|
sub-color = rice.color.accent.bright;
|
||||||
|
sub-back-color = "${rice.color.background}${rice.lib.float-to-drune 0.8}"; # does not seem to work
|
||||||
|
# sub-border-size = 0;
|
||||||
|
sub-border-style = "opaque-box";
|
||||||
|
background-color = "${rice.color.background}"; # transparency breaks blur on hyprland sometimes, so just rgb
|
||||||
|
alang = "en,eng,de,ger"; # Sets preferred audio languages in order
|
||||||
|
slang = "en,eng,de,ger"; # Sets preferred subtitle languages in order
|
||||||
|
vlang = "en,eng,de,ger"; # Sets preferred video languages in order
|
||||||
|
save-position-on-quit = true; # Saves the playback position when quitting
|
||||||
|
ignore-path-in-watch-later-config = true; # Ignores the path in the watch-later configuration
|
||||||
|
ytdl-format = "bestvideo[height<=?1080]+bestaudio/best"; # Sets the format for downloading YouTube videos
|
||||||
|
vo = pkgs.lib.mkIf hyper.nvidia.enable "gpu";
|
||||||
|
hwdec = if hyper.nvidia.enable then "no" else "no"; # bugged
|
||||||
|
};
|
||||||
|
scripts = with pkgs.mpvScripts; [
|
||||||
|
mpris # use media keys
|
||||||
|
thumbfast # thumbnails on timeline hover
|
||||||
|
# uosc # custom ui
|
||||||
|
sponsorblock
|
||||||
|
];
|
||||||
|
bindings = {
|
||||||
|
"O" = ''no-osd cycle-values glsl-shaders "~~/shaders/invert.glsl" ""; show-text "Invert Shader"'';
|
||||||
|
# "tab" = ''script-binding uosc/toggle-ui'';
|
||||||
|
# "space" = ''cycle pause; script-binding uosc/flash-pause-indicator'';
|
||||||
|
# "right" = ''seek 5'';
|
||||||
|
# "left" = ''seek -5'';
|
||||||
|
# "shift+right" = ''seek 30; script-binding uosc/flash-timeline'';
|
||||||
|
# "shift+left" = ''seek -30; script-binding uosc/flash-timeline'';
|
||||||
|
# "m" = ''no-osd cycle mute; script-binding uosc/flash-volume'';
|
||||||
|
# "up" = ''no-osd add volume 10; script-binding uosc/flash-volume'';
|
||||||
|
# "down" = ''no-osd add volume -10; script-binding uosc/flash-volume'';
|
||||||
|
# "[" = ''no-osd add speed -0.25; script-binding uosc/flash-speed'';
|
||||||
|
# "]" = ''no-osd add speed 0.25; script-binding uosc/flash-speed'';
|
||||||
|
# "\\" = ''no-osd set speed 1; script-binding uosc/flash-speed'';
|
||||||
|
# ">" = ''script-binding uosc/next; script-message-to uosc flash-elements top_bar,timeline'';
|
||||||
|
# "<" = ''script-binding uosc/prev; script-message-to uosc flash-elements top_bar,timeline>'';
|
||||||
|
};
|
||||||
|
scriptOpts = {
|
||||||
|
thumbfast = {
|
||||||
|
spawn_first = true;
|
||||||
|
network = true;
|
||||||
|
hwdec = true;
|
||||||
|
};
|
||||||
|
uosc = {
|
||||||
|
timeline_size = 25;
|
||||||
|
timeline_persistency = "paused,audio";
|
||||||
|
progress = "always";
|
||||||
|
progress_size = 4;
|
||||||
|
progress_line_width = 4;
|
||||||
|
controls = "subtitles,<has_many_audio>audio,<has_many_video>video,<has_many_edition>editions,<stream>stream-quality";
|
||||||
|
top_bar = "never";
|
||||||
|
refine = "text_width";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xdg.configFile."mpv/shaders/invert.glsl".text = /* glsl */ ''
|
||||||
|
//!HOOK LUMA
|
||||||
|
//!BIND HOOKED
|
||||||
|
vec4 hook()
|
||||||
|
{
|
||||||
|
float luma = LUMA_texOff(0).x;
|
||||||
|
return vec4(1.0 - luma);
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, hyper, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
nixd
|
nixd
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{ pkgs, hyper, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
pkgs.lib.mkIf (hyper.nvidia.enable == true)
|
lib.mkIf (hyper.nvidia.enable == true)
|
||||||
{
|
{
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, secrets, ... }: let
|
{ pkgs, ... }@all: with all; let
|
||||||
sep = " ";
|
sep = " ";
|
||||||
in {
|
in {
|
||||||
home = {
|
home = {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, hyper, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home.packages = [
|
home.packages = [
|
||||||
(pkgs.writeShellApplication {
|
(pkgs.writeShellApplication {
|
||||||
@@ -59,8 +59,7 @@
|
|||||||
echo "Backup and encryption complete: $DESTINATION"
|
echo "Backup and encryption complete: $DESTINATION"
|
||||||
|
|
||||||
echo "Space remaining:"
|
echo "Space remaining:"
|
||||||
df -h | head -n 1
|
dysk
|
||||||
df -h | grep -P "^/dev.+? "
|
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
(writeShellApplication {
|
(writeShellApplication {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
ghostscript
|
ghostscript
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{ pkgs, hyper, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
pkgs.lib.mkIf (hyper.host != "NxACE")
|
|
||||||
{
|
{
|
||||||
# home.packages = with pkgs; [
|
# home.packages = with pkgs; [
|
||||||
# obs-studio
|
# obs-studio
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
libreoffice
|
libreoffice
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
ollama
|
ollama
|
||||||
@@ -16,10 +16,10 @@ if len(sys.argv) < 2:
|
|||||||
system_message = sys.argv[1]
|
system_message = sys.argv[1]
|
||||||
input_text = sys.stdin.read()
|
input_text = sys.stdin.read()
|
||||||
try:
|
try:
|
||||||
response = ollama.chat(model='llama3.1:8b', messages=[
|
response = ollama.chat(model='gemma3:4b', messages=[
|
||||||
{
|
{
|
||||||
'role': 'system',
|
'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',
|
'role': 'user',
|
||||||
|
|||||||
29
home-modules/opencode.nix
Normal file
29
home-modules/opencode.nix
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
{ pkgs, ... }@all: with all; {
|
||||||
|
home = {
|
||||||
|
packages = with pkgs; [
|
||||||
|
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 = {
|
||||||
|
name = "Ollama (local)";
|
||||||
|
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; [
|
home.packages = with pkgs; [
|
||||||
pandoc
|
pandoc
|
||||||
|
|||||||
18
home-modules/pkgs-list/desktop.nix
Normal file
18
home-modules/pkgs-list/desktop.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{ pkgs, ... }@all: with all; {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
xdg-desktop-portal
|
||||||
|
brightnessctl
|
||||||
|
blueman
|
||||||
|
fontpreview
|
||||||
|
gtk3
|
||||||
|
gsettings-desktop-schemas
|
||||||
|
imv
|
||||||
|
pavucontrol
|
||||||
|
playerctl
|
||||||
|
swww
|
||||||
|
wev
|
||||||
|
wl-clipboard
|
||||||
|
xclip
|
||||||
|
wlr-randr
|
||||||
|
];
|
||||||
|
}
|
||||||
20
home-modules/pkgs-list/programs.nix
Normal file
20
home-modules/pkgs-list/programs.nix
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{ pkgs, hyper, ... }: {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
chromium
|
||||||
|
gnome-clocks
|
||||||
|
gnome-calculator
|
||||||
|
gnome-characters
|
||||||
|
gnome-2048
|
||||||
|
element-desktop
|
||||||
|
qbittorrent
|
||||||
|
wl-clipboard
|
||||||
|
xfce.thunar
|
||||||
|
] ++ (if (hyper.host != "NxACE") then [
|
||||||
|
signal-desktop
|
||||||
|
unstable.code-cursor-fhs
|
||||||
|
obsidian
|
||||||
|
zoom-us
|
||||||
|
inkscape
|
||||||
|
audacity
|
||||||
|
] else []);
|
||||||
|
}
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all; {
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
bat
|
bat
|
||||||
browsh
|
|
||||||
cmake
|
cmake
|
||||||
|
cmatrix
|
||||||
dig
|
dig
|
||||||
du-dust
|
du-dust
|
||||||
dysk
|
dysk
|
||||||
@@ -12,6 +11,7 @@
|
|||||||
ffmpeg
|
ffmpeg
|
||||||
figlet
|
figlet
|
||||||
fzf
|
fzf
|
||||||
|
gh
|
||||||
glib
|
glib
|
||||||
glow
|
glow
|
||||||
gnumake
|
gnumake
|
||||||
@@ -21,8 +21,8 @@
|
|||||||
lolcat
|
lolcat
|
||||||
lynx
|
lynx
|
||||||
mediainfo
|
mediainfo
|
||||||
mpv
|
|
||||||
neofetch
|
neofetch
|
||||||
|
pastel
|
||||||
pdfgrep
|
pdfgrep
|
||||||
pipes
|
pipes
|
||||||
pv
|
pv
|
||||||
@@ -34,6 +34,7 @@
|
|||||||
systemctl-tui
|
systemctl-tui
|
||||||
tldr
|
tldr
|
||||||
w3m
|
w3m
|
||||||
|
which
|
||||||
yt-dlp
|
yt-dlp
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{ pkgs, hyper, secrets, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
pkgs.lib.mkIf (hyper.host != "NxACE")
|
lib.mkIf (hyper.host != "NxACE")
|
||||||
{
|
{
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs.remmina
|
pkgs.remmina
|
||||||
|
|||||||
12
home-modules/programming.nix
Normal file
12
home-modules/programming.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{ ... }: {
|
||||||
|
imports = [
|
||||||
|
./programming/c.nix
|
||||||
|
./programming/gleam.nix
|
||||||
|
./programming/glsl.nix
|
||||||
|
./programming/go.nix
|
||||||
|
./programming/java.nix
|
||||||
|
./programming/js.nix
|
||||||
|
./programming/python.nix
|
||||||
|
./programming/rust.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{ pkgs, hyper, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
pkgs.lib.mkIf (hyper.host != "NxACE")
|
lib.mkIf (hyper.host != "NxACE")
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
erlang
|
erlang
|
||||||
|
|||||||
8
home-modules/programming/glsl.nix
Normal file
8
home-modules/programming/glsl.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{ pkgs, ... }@all: with all;
|
||||||
|
{
|
||||||
|
home = {
|
||||||
|
packages = with pkgs; [
|
||||||
|
glsl_analyzer
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all; {
|
||||||
{
|
programs.go = {
|
||||||
home = {
|
enable = true;
|
||||||
packages = with pkgs; [
|
package = pkgs.go;
|
||||||
go
|
goPath = "${config.xdg.dataHome}/go";
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
nodejs
|
nodejs
|
||||||
|
|||||||
@@ -1,18 +1,20 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home = let
|
home = let
|
||||||
python-with-packages = pkgs.python3.withPackages (pp: with pp; [
|
python-with-packages = pkgs.python3.withPackages (pp: with pp; [
|
||||||
ipython
|
ipython
|
||||||
pipdeptree
|
|
||||||
requests
|
requests
|
||||||
google google-api-python-client google-auth-httplib2 google-auth-oauthlib
|
|
||||||
debugpy
|
debugpy
|
||||||
black
|
black
|
||||||
]);
|
]);
|
||||||
in {
|
in {
|
||||||
packages = [
|
packages = [
|
||||||
python-with-packages
|
python-with-packages
|
||||||
];
|
] ++ (with pkgs; [
|
||||||
|
python311Packages.python-lsp-server
|
||||||
|
ruff
|
||||||
|
pyright
|
||||||
|
]);
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
PYTHONPATH = "${python-with-packages}/${python-with-packages.sitePackages}";
|
PYTHONPATH = "${python-with-packages}/${python-with-packages.sitePackages}";
|
||||||
};
|
};
|
||||||
|
|||||||
11
home-modules/programming/rust.nix
Normal file
11
home-modules/programming/rust.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{ pkgs, ... }@all: with all; {
|
||||||
|
home = {
|
||||||
|
packages = with pkgs; [
|
||||||
|
cargo
|
||||||
|
clippy
|
||||||
|
rustc
|
||||||
|
rustfmt
|
||||||
|
rust-analyzer
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
31
home-modules/rclone.nix
Normal file
31
home-modules/rclone.nix
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
{ pkgs, ... }@all: with all; {
|
||||||
|
home.packages = with pkgs; [ rclone ];
|
||||||
|
sops.secrets."nx2site/copyparty/user-password/${hyper.user}".path = "%r/secrets/copyparty/user-password/${hyper.user}";
|
||||||
|
programs.rclone = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.rclone;
|
||||||
|
remotes = {
|
||||||
|
"file.${hyper.domain}" = {
|
||||||
|
config = {
|
||||||
|
type = "webdav";
|
||||||
|
vendor = "owncloud"; # copyparty
|
||||||
|
url = "https://file.${hyper.domain}/";
|
||||||
|
user = hyper.user;
|
||||||
|
pacer_min_sleep = "0.01ms";
|
||||||
|
};
|
||||||
|
mounts = {
|
||||||
|
"" = {
|
||||||
|
enable = true;
|
||||||
|
mountPoint = "${hyper.home}/file.nx2.site/";
|
||||||
|
options = {
|
||||||
|
vfs-cache-mode = "writes";
|
||||||
|
dir-cache-time = "5s";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
secrets.pass = "/run/user/1000/secrets/copyparty/user-password/${hyper.user}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
{ pkgs, rice, ... }: {
|
{ pkgs, ... }@all: with all;
|
||||||
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
rofi-wayland
|
rofi-wayland
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
xsane
|
xsane
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, rice, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
let
|
let
|
||||||
my-sent = pkgs.sent.override {
|
my-sent = pkgs.sent.override {
|
||||||
patches = [
|
patches = [
|
||||||
|
|||||||
@@ -1,23 +1,7 @@
|
|||||||
{ pkgs, hyper, inputs, ... }:
|
{ pkgs, ... }@all: with all; {
|
||||||
{
|
imports = [ inputs.sops-nix.homeManagerModules.sops ];
|
||||||
imports = [
|
|
||||||
inputs.sops-nix.homeManagerModules.sops
|
|
||||||
];
|
|
||||||
|
|
||||||
sops = {
|
sops = {
|
||||||
age.keyFile = pkgs.lib.mkIf (hyper.host == "NxACE") "${hyper.home}.age_nx2_key_13.txt";
|
age.keyFile = "${hyper.home}/vault/age/sopsnix-${hyper.host}-home.key";
|
||||||
gnupg.home = pkgs.lib.mkIf (hyper.host != "NxACE") "${hyper.home}.gnupg";
|
|
||||||
defaultSopsFile = ../sops-secrets.yaml;
|
defaultSopsFile = ../sops-secrets.yaml;
|
||||||
|
|
||||||
# %r is $XDG_RUNTIME_DIR
|
|
||||||
secrets = {
|
|
||||||
"example" = {
|
|
||||||
path = "%r/secrets/example";
|
|
||||||
};
|
|
||||||
# "sops-age-private-key" = { # Bootstrapping doens't work
|
|
||||||
# mode = "0400";
|
|
||||||
# path = "/home/${user}/.config/sops/age/keys.txt";
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
56
home-modules/spotify.nix
Normal file
56
home-modules/spotify.nix
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
{ pkgs, ... }@all: with all;
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
unstable.spotify
|
||||||
|
];
|
||||||
|
services.librespot = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.unstable.librespot;
|
||||||
|
};
|
||||||
|
sops.secrets."spotify/spotiy-player-clinet-id" = { path = "%r/secrets/spotify/spotiy-player-clinet-id"; };
|
||||||
|
programs.spotify-player = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.unstable.spotify-player;
|
||||||
|
settings = {
|
||||||
|
border_type = "Rounded";
|
||||||
|
client_id_command = "cat $XDG_RUNTIME_DIR/secrets/spotify/spotiy-player-clinet-id";
|
||||||
|
copy_command.command = "wl-copy";
|
||||||
|
cover_img_length = 20;
|
||||||
|
cover_img_scale = 1; # if this is not 1 it doesnt fit in the box (for me)
|
||||||
|
cover_img_width = 9; # this ratio depends on your terminal font
|
||||||
|
device.normalization = true;
|
||||||
|
genre_num = 32; # all of them
|
||||||
|
liked_icon = "";
|
||||||
|
name = "spotify-player-${hyper.host}";
|
||||||
|
pause_icon = "";
|
||||||
|
playback_window_position = "Bottom";
|
||||||
|
play_icon = "";
|
||||||
|
progress_bar_position = "Right"; # "Bottom"
|
||||||
|
progress_bar_type = "Rectangle"; # "Line"
|
||||||
|
theme = "${hyper.user}";
|
||||||
|
};
|
||||||
|
themes = [{
|
||||||
|
name = "${hyper.user}";
|
||||||
|
component_style = with rice.color; {
|
||||||
|
block_title = { fg = accent.bright; };
|
||||||
|
border = { fg = border; };
|
||||||
|
current_playing = { fg = special.base; bg = special.darker; modifiers = ["Italic"]; };
|
||||||
|
like = { fg = positive.base; };
|
||||||
|
lyrics_played = { fg = subtle.base; };
|
||||||
|
lyrics_playing = { fg = special.base; };
|
||||||
|
page_desc = { fg = secondary.base; };
|
||||||
|
playback_album = { fg = secondary.base; };
|
||||||
|
playback_artists = { fg = secondary.base; };
|
||||||
|
playback_genres = { fg = subtle.base; };
|
||||||
|
playback_metadata = { fg = accent.base; bg = background; };
|
||||||
|
playback_progress_bar = { fg = accent.brighter; bg = accent.dark; modifiers = ["Bold"]; };
|
||||||
|
playback_status = { fg = accent.bright; };
|
||||||
|
playback_track = { fg = accent.bright; modifiers = ["Bold"]; };
|
||||||
|
secondary_row = { fg = secondary.base; };
|
||||||
|
selection = { bg = accent.dark; };
|
||||||
|
table_header = { fg = tertiary.bright; };
|
||||||
|
# playback_progress_bar_unfilled (Specific to progress_bar_type as Line) = "";
|
||||||
|
};
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,27 +1,37 @@
|
|||||||
{ pkgs, hyper, ... }:
|
{ pkgs, ... }@all: with all; {
|
||||||
{
|
home.packages = with pkgs; [ sshfs ];
|
||||||
home = {
|
programs.ssh = {
|
||||||
packages = with pkgs; [ sshfs ];
|
enable = true;
|
||||||
file.".ssh/config".text = ''
|
package = pkgs.openssh;
|
||||||
HOST nxace
|
addKeysToAgent = "yes";
|
||||||
HostName ssh.${hyper.domain}
|
matchBlocks = let
|
||||||
User ${hyper.user}
|
nxace = name: {
|
||||||
Port 50022
|
host = name;
|
||||||
|
hostname = "ssh.${hyper.domain}";
|
||||||
HOST nxacel
|
user = "nx2";
|
||||||
HostName 10.0.1.1
|
port = 50022;
|
||||||
User ${hyper.user}
|
identityFile = "${hyper.home}/vault/ssh/nxace-nx2-${hyper.host}";
|
||||||
Port 50022
|
};
|
||||||
|
in {
|
||||||
HOST nxrpil
|
"*".identityFile = [
|
||||||
HostName 10.0.1.31
|
"${hyper.home}/vault/ssh/nxgit-nx2-${hyper.host}"
|
||||||
User ${hyper.user}
|
"${hyper.home}/vault/ssh/github-noggynoggy-${hyper.host}"
|
||||||
Port 22
|
"${hyper.home}/vault/ssh/tg-dm-informatik-tuda"
|
||||||
|
];
|
||||||
HOST nxgit
|
"github.com".identityFile = [ "${hyper.home}/vault/ssh/github-noggynoggy-${hyper.host}" ];
|
||||||
HostName ssh.${hyper.domain}
|
"nxace" = nxace "nxace";
|
||||||
User git
|
"nxacel" = (nxace "nxacel") // { hostname = "10.0.1.1"; };
|
||||||
Port 50022
|
"nxrpli" = (nxace "nxrpil") // { hostname = "10.0.1.31"; port = 22; };
|
||||||
'';
|
"nxgit" = (nxace "nxgit") // {
|
||||||
|
user = "git";
|
||||||
|
identityFile = "${hyper.home}/vault/ssh/nxgit-nx2-${hyper.host}";
|
||||||
|
# addKeysToAgent = "1h";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services.ssh-agent = {
|
||||||
|
enable = true;
|
||||||
|
# socket = "ssh-agent"; # suffix to $XDG_RUNTIME_DIR
|
||||||
|
# package = pkgs.openssh;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, rice, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
enableFishIntegration = true;
|
enableFishIntegration = true;
|
||||||
settings = with rice.color; {
|
settings = with rice.color; {
|
||||||
add_newline = false;
|
add_newline = false;
|
||||||
format = pkgs.lib.strings.concatMapStrings (x: "$" + x) [
|
format = lib.strings.concatMapStrings (x: "$" + x) [
|
||||||
"jobs"
|
"jobs"
|
||||||
"battery"
|
"battery"
|
||||||
"username"
|
"username"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
(writeShellApplication {
|
(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 ]);
|
vws = pkgs.vale.withStyles (s: [ s.alex s.google ]);
|
||||||
in {
|
in {
|
||||||
home = {
|
home = {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{ pkgs, hyper, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
pkgs.lib.mkIf (hyper.host == "NxNORTH")
|
lib.mkIf (hyper.host == "NxNORTH")
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
virt-manager
|
virt-manager
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{ config, pkgs, hyper, rice, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
config = pkgs.lib.mkIf (hyper.host != "NxACE") {
|
config = lib.mkIf (hyper.host != "NxACE") {
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs.vscodium
|
pkgs.vscodium
|
||||||
pkgs.nixpkgs-fmt
|
pkgs.nixpkgs-fmt
|
||||||
@@ -92,13 +92,13 @@
|
|||||||
# url = "https://gist.githubusercontent.com/piousdeer/b29c272eaeba398b864da6abf6cb5daa/raw/41e569ba110eb6ebbb463a6b1f5d9fe4f9e82375/mutability.nix";
|
# url = "https://gist.githubusercontent.com/piousdeer/b29c272eaeba398b864da6abf6cb5daa/raw/41e569ba110eb6ebbb463a6b1f5d9fe4f9e82375/mutability.nix";
|
||||||
# sha256 = "4b5ca670c1ac865927e98ac5bf5c131eca46cc20abf0bd0612db955bfc979de8";
|
# sha256 = "4b5ca670c1ac865927e98ac5bf5c131eca46cc20abf0bd0612db955bfc979de8";
|
||||||
# })
|
# })
|
||||||
# { inherit config pkgs; lib = pkgs.lib; })
|
# { inherit config pkgs; lib = lib; })
|
||||||
|
|
||||||
# (import
|
# (import
|
||||||
# (builtins.fetchurl {
|
# (builtins.fetchurl {
|
||||||
# url = "https://gist.githubusercontent.com/piousdeer/b29c272eaeba398b864da6abf6cb5daa/raw/41e569ba110eb6ebbb463a6b1f5d9fe4f9e82375/vscode.nix";
|
# url = "https://gist.githubusercontent.com/piousdeer/b29c272eaeba398b864da6abf6cb5daa/raw/41e569ba110eb6ebbb463a6b1f5d9fe4f9e82375/vscode.nix";
|
||||||
# sha256 = "fed877fa1eefd94bc4806641cea87138df78a47af89c7818ac5e76ebacbd025f";
|
# sha256 = "fed877fa1eefd94bc4806641cea87138df78a47af89c7818ac5e76ebacbd025f";
|
||||||
# })
|
# })
|
||||||
# { inherit config pkgs; lib = pkgs.lib; })
|
# { inherit config pkgs; lib = lib; })
|
||||||
# ] else [];
|
# ] else [];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
(writers.writePython3Bin "change_colors_json" {
|
(writers.writePython3Bin "change_colors_json" {
|
||||||
@@ -119,7 +119,7 @@
|
|||||||
return Palette(colors)
|
return Palette(colors)
|
||||||
|
|
||||||
def hyprpicker() -> Color:
|
def hyprpicker() -> Color:
|
||||||
ret = str(subprocess.run(["${pkgs.hyprpicker}/bin/hyprpicker", "-n", "-f", "rgb"], capture_output=True).stdout)[2:-3]
|
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(" ")])
|
return Color([int(c) for c in ret.split(" ")])
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
@@ -139,7 +139,7 @@
|
|||||||
weird = alter_hue(ilist=accent, hue=80)
|
weird = alter_hue(ilist=accent, hue=80)
|
||||||
special = alter_hue(ilist=accent, hue=180)
|
special = alter_hue(ilist=accent, hue=180)
|
||||||
foreground = alter_l(accent, 0.9)
|
foreground = alter_l(accent, 0.9)
|
||||||
background = alter_l(accent, 0.1)
|
background = alter_l(accent, 0.05)
|
||||||
|
|
||||||
d = {
|
d = {
|
||||||
"base": {
|
"base": {
|
||||||
|
|||||||
@@ -1,372 +0,0 @@
|
|||||||
{ pkgs, hyper, rice, ... }:
|
|
||||||
let
|
|
||||||
sep = " ";
|
|
||||||
in {
|
|
||||||
sops.secrets = {
|
|
||||||
"nx2site/radicale/password" = { };
|
|
||||||
};
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
(writeShellApplication { name = "waybar_mode"; text = /*bash*/ ''
|
|
||||||
print_help() {
|
|
||||||
echo "Usage: waybar_mode {set <string>|unset}"
|
|
||||||
}
|
|
||||||
if [ $# -lt 1 ]; then
|
|
||||||
print_help; exit 1;
|
|
||||||
fi
|
|
||||||
case "$1" in
|
|
||||||
set)
|
|
||||||
# Check if there is a second argument for the 'set' operation
|
|
||||||
if [ $# -eq 2 ]; then
|
|
||||||
echo "$2" > /tmp/waybar-mode
|
|
||||||
pkill -RTMIN+8 waybar
|
|
||||||
else
|
|
||||||
echo "Error: 'set' operation requires exactly one string argument."
|
|
||||||
print_help
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
unset)
|
|
||||||
echo "" > /tmp/waybar-mode
|
|
||||||
pkill -RTMIN+8 waybar
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Error: Unknown command '$1'"
|
|
||||||
print_help
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
exit 0
|
|
||||||
'';})
|
|
||||||
(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
|
|
||||||
'';})
|
|
||||||
(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)
|
|
||||||
|
|
||||||
|
|
||||||
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.events():
|
|
||||||
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
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
password_file = "/home/nx2/.config/sops-nix/secrets/nx2site/radicale/password" # Path to password file
|
|
||||||
cache_file = "/tmp/caldav_event_cache.json" # Path to cache file
|
|
||||||
url = "https://dav.${hyper.domain}/"
|
|
||||||
username = "${hyper.user}"
|
|
||||||
password = get_password(password_file)
|
|
||||||
|
|
||||||
event_dict = load_cache(cache_file)
|
|
||||||
now = datetime.now(timezone.utc).timestamp()
|
|
||||||
|
|
||||||
if event_dict is None or event_dict['event_begin'].timestamp() <= now and now < event_dict['event_end'].timestamp():
|
|
||||||
event_dict = get_ongoing_or_next_event(url, username, password)
|
|
||||||
if event_dict is None:
|
|
||||||
print("No upcoming events found.")
|
|
||||||
exit(0)
|
|
||||||
cache_data = {
|
|
||||||
"event_name": event_dict['event_name'] if event_dict is not None else None,
|
|
||||||
"event_begin": event_dict['event_begin'] if event_dict is not None else None,
|
|
||||||
"event_end": event_dict['event_end'] if event_dict is not None else None
|
|
||||||
}
|
|
||||||
save_cache(cache_file, cache_data)
|
|
||||||
|
|
||||||
if event_dict:
|
|
||||||
event_start = event_dict['event_begin'].timestamp()
|
|
||||||
event_end = event_dict['event_end'].timestamp()
|
|
||||||
|
|
||||||
if event_start <= now <= event_end:
|
|
||||||
time_remaining = event_end - now
|
|
||||||
hours, rem = divmod(int(time_remaining), 3600)
|
|
||||||
minutes, _ = divmod(rem, 60)
|
|
||||||
print(f"{event_dict['event_name']} ends in {hours} hour{'s ' if hours != 1 else ' '}and {minutes} minute{'s ' if minutes != 1 else ' '}")
|
|
||||||
else:
|
|
||||||
time_until_start = event_start - now
|
|
||||||
hours, rem = divmod(int(time_until_start), 3600)
|
|
||||||
minutes, _ = divmod(rem, 60)
|
|
||||||
print(f"{event_dict['event_name']} starts in {hours} hour{'s ' if hours != 1 else ' '}and {minutes} minute{'s ' if minutes != 1 else ' '}")
|
|
||||||
else:
|
|
||||||
print("No upcoming events found.")
|
|
||||||
'')
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.waybar = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.waybar;
|
|
||||||
settings = {
|
|
||||||
bar = {
|
|
||||||
# height = 20;
|
|
||||||
layer = "top";
|
|
||||||
position = "bottom";
|
|
||||||
margin-top = 0;
|
|
||||||
# margin-left = rice.gap-size;
|
|
||||||
# margin-bottom = rice.gap-size;
|
|
||||||
# margin-right = rice.gap-size;
|
|
||||||
margin-left = 0;
|
|
||||||
margin-bottom = 0;
|
|
||||||
margin-right = 0;
|
|
||||||
spacing = 10;
|
|
||||||
fixed-center = true;
|
|
||||||
modules-left = [
|
|
||||||
# "cpu"
|
|
||||||
# "memory"
|
|
||||||
"wireplumber"
|
|
||||||
"backlight"
|
|
||||||
"battery"
|
|
||||||
"network"
|
|
||||||
"hyprland/window"
|
|
||||||
];
|
|
||||||
modules-center = [
|
|
||||||
"hyprland/workspaces"
|
|
||||||
];
|
|
||||||
modules-right = [
|
|
||||||
"custom/mode"
|
|
||||||
# "custom/caldav_event"
|
|
||||||
"custom/cclock"
|
|
||||||
"tray"
|
|
||||||
];
|
|
||||||
"hyprland/workspaces" = {
|
|
||||||
on-click = "activate";
|
|
||||||
format = "{name}";
|
|
||||||
all-outputs = false;
|
|
||||||
active-only = false;
|
|
||||||
};
|
|
||||||
"hyprland/window" = {
|
|
||||||
# format = "${sep}{}";
|
|
||||||
format = "{}";
|
|
||||||
separate-outputs = true;
|
|
||||||
};
|
|
||||||
"custom/cclock" = {
|
|
||||||
exec = "cclock";
|
|
||||||
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";
|
|
||||||
signal = 8;
|
|
||||||
};
|
|
||||||
|
|
||||||
cpu = {
|
|
||||||
interval = 1;
|
|
||||||
format = "${sep}{}%";
|
|
||||||
max-length = 10;
|
|
||||||
};
|
|
||||||
memory = {
|
|
||||||
interval = 5;
|
|
||||||
format = "${sep}{avail:.0f}G free";
|
|
||||||
};
|
|
||||||
battery = {
|
|
||||||
interval = 60;
|
|
||||||
tooltip = false;
|
|
||||||
format = "{icon}${sep}{capacity}%";
|
|
||||||
states = {
|
|
||||||
warning = 15;
|
|
||||||
critical = 5;
|
|
||||||
};
|
|
||||||
format-icons = [
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
];
|
|
||||||
format-charging = "{icon}${sep}+{capacity}%";
|
|
||||||
format-plugged = "{icon}${sep}P{capacity}%";
|
|
||||||
format-full = "{icon}${sep}F{capacity}%";
|
|
||||||
};
|
|
||||||
backlight = {
|
|
||||||
device = "eDP-1";
|
|
||||||
format = "{icon}${sep}{percent}%";
|
|
||||||
format-icons = [
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
};
|
|
||||||
network = {
|
|
||||||
format-wifi = "${sep}{essid}";
|
|
||||||
format-ethernet = "${sep}Wired";
|
|
||||||
format-disconnected = "${sep}Disconnected";
|
|
||||||
};
|
|
||||||
wireplumber = {
|
|
||||||
format = "${sep}{volume}%";
|
|
||||||
format-muted = "${sep}--%";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
style = with rice.color; let f = rice.lib.hex-to-rgb-comma-string; in ''
|
|
||||||
* {
|
|
||||||
font-family: ${rice.font.code.name};
|
|
||||||
font-size: 1em;
|
|
||||||
min-height: 0px;
|
|
||||||
margin: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar {
|
|
||||||
background-color: rgba(${f background},${builtins.toString rice.transparency});
|
|
||||||
transition-duration: 5s;
|
|
||||||
transition-property: background-color;
|
|
||||||
/* border: ${builtins.toString rice.border-width}px solid rgb(${f border}); */
|
|
||||||
/* margin: ${builtins.toString rice.gap-size}px; */
|
|
||||||
/* border-radius: ${builtins.toString rice.rounding}px; */
|
|
||||||
}
|
|
||||||
|
|
||||||
#clock,
|
|
||||||
#custom-cclock,
|
|
||||||
#custom-mode,
|
|
||||||
#custom-caldav-event,
|
|
||||||
#battery,
|
|
||||||
#cpu,
|
|
||||||
#tray,
|
|
||||||
#disk,
|
|
||||||
#backlight,
|
|
||||||
#network,
|
|
||||||
#wireplumber,
|
|
||||||
#memory,
|
|
||||||
#window,
|
|
||||||
#workspaces {
|
|
||||||
padding: 0px 3px;
|
|
||||||
margin-top: 0.3em;
|
|
||||||
border-radius: ${builtins.toString rice.rounding}px;
|
|
||||||
color: rgb(${f accent.bright});
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces {
|
|
||||||
font-family: ${rice.font.code.name};
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
color: rgb(${f accent.base});
|
|
||||||
padding-left: 15px;
|
|
||||||
padding-right: 15px;
|
|
||||||
border-radius: ${builtins.toString rice.rounding}px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active {
|
|
||||||
color: rgb(${f background});
|
|
||||||
background-color: rgb(${f accent.base});
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button:hover {
|
|
||||||
color: rgb(${f tertiary.bright});
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.urgent {
|
|
||||||
background-color: rgba(${f magenta.base},${builtins.toString rice.transparency});
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-mode {
|
|
||||||
color: rgb(${f red.base});
|
|
||||||
}
|
|
||||||
|
|
||||||
#window, #custom-caldav_event {
|
|
||||||
font-family: ${rice.font.base.name}, ${rice.font.code.name};
|
|
||||||
color: rgb(${f tertiary.bright});
|
|
||||||
}
|
|
||||||
|
|
||||||
#wireplumber.muted {
|
|
||||||
color: rgb(${f tertiary.bright});
|
|
||||||
}
|
|
||||||
#wireplumber {
|
|
||||||
padding-left: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.warning:not(.charging) {
|
|
||||||
color: rgb(${f green.base});;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.charging {
|
|
||||||
color: rgb(${f green.base});
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.critical {
|
|
||||||
background: rgb(${f negative.base});
|
|
||||||
color: rgb(${f foreground});
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
|
|
||||||
#battery.critical:not(.charging) {
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, rice,... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [ wlogout ];
|
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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
{ pkgs, hyper, rice, inputs, ... }:
|
{ pkgs, ... }@all: with all; let
|
||||||
{
|
nox-var = (pkgs.version != "24.05");
|
||||||
home.packages = with pkgs; [
|
tfc = pkgs.unstable.xdg-desktop-portal-termfilechooser;
|
||||||
unar
|
in {
|
||||||
|
home.packages = [
|
||||||
|
pkgs.unar
|
||||||
|
tfc
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.yazi = {
|
programs.yazi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# package = pkgs.yazi;
|
# package = pkgs.yazi;
|
||||||
package = inputs.yazi.packages.${hyper.system}.default;
|
package = inputs.yazi.packages.${hyper.system}.default;
|
||||||
enableFishIntegration = true;
|
enableFishIntegration = true;
|
||||||
shellWrapperName = "ya";
|
# initLua = /* lua */ '' ''; # down
|
||||||
# plugins = with inputs.yazi-plugins.packages.${hyper.system}; { };
|
|
||||||
# initLua = /* lua */ '' '';
|
|
||||||
keymap = {
|
keymap = {
|
||||||
mgr.keymap = [
|
mgr.keymap = [
|
||||||
{ on = "<Esc>"; run = "escape"; desc = "Exit visual mode, clear selected, or cancel search"; }
|
{ on = "<Esc>"; run = "escape"; desc = "Exit visual mode, clear selected, or cancel search"; }
|
||||||
@@ -30,10 +30,11 @@
|
|||||||
{ on = "<C-f>"; run = "arrow 100%"; desc = "Move cursor down 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 = "<PageUp>"; run = "arrow -100%"; desc = "Move cursor up one page"; }
|
||||||
{ on = "<PageDown>"; run = "arrow 100%"; desc = "Move cursor down one page"; }
|
{ on = "<PageDown>"; run = "arrow 100%"; desc = "Move cursor down one page"; }
|
||||||
{ on = [ "g" "g" ]; run = "arrow down"; desc = "Move cursor to the top"; }
|
{ on = [ "g" "g" ]; run = "arrow top"; desc = "Move cursor to the top"; }
|
||||||
{ on = [ "g" "e" ]; run = "arrow up"; desc = "Move cursor to the end"; }
|
{ 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" "h" ]; run = "cd ~"; desc = "Go to the home directory"; }
|
||||||
{ on = [ "g" "n" ]; run = "cd ~/nix-dots"; desc = "Go to the Nix-Dotfiles 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" "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" "c" ]; run = "cd ~/.config"; desc = "Go to the config directory"; }
|
||||||
{ on = [ "g" "l" ]; run = "cd ~/.locale"; desc = "Go to the .locale directory"; }
|
{ on = [ "g" "l" ]; run = "cd ~/.locale"; desc = "Go to the .locale directory"; }
|
||||||
@@ -44,6 +45,7 @@
|
|||||||
{ on = [ "g" "d" ]; run = "cd ~/Downloads"; desc = "Go to the downloads 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" "D" ]; run = "cd ~/Documents"; desc = "Go to the Documents directory"; }
|
||||||
{ on = [ "g" "r" ]; run = "cd /"; desc = "Go to the root (/) 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" "/" ]; run = "cd /"; desc = "Go to the root (/) directory"; }
|
||||||
{ on = [ "g" "<Space>" ]; run = "cd --interactive"; desc = "Go to a directory interactively"; }
|
{ on = [ "g" "<Space>" ]; run = "cd --interactive"; desc = "Go to a directory interactively"; }
|
||||||
# Navigation
|
# Navigation
|
||||||
@@ -68,6 +70,8 @@
|
|||||||
{ on = "O"; run = "open --interactive"; desc = "Open selected files interactively"; }
|
{ on = "O"; run = "open --interactive"; desc = "Open selected files interactively"; }
|
||||||
{ on = "<Enter>"; run = "open"; desc = "Open selected files"; }
|
{ on = "<Enter>"; run = "open"; desc = "Open selected files"; }
|
||||||
{ on = "<S-Enter>"; run = "open --interactive"; desc = "Open selected files interactively"; }
|
{ 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 = "y"; run = "yank"; desc = "Yank selected files (copy)"; }
|
||||||
{ on = "x"; run = "yank --cut"; desc = "Yank selected files (cut)"; }
|
{ on = "x"; run = "yank --cut"; desc = "Yank selected files (cut)"; }
|
||||||
{ on = "p"; run = "paste"; desc = "Paste yanked "; }
|
{ on = "p"; run = "paste"; desc = "Paste yanked "; }
|
||||||
@@ -155,7 +159,7 @@
|
|||||||
{ on = "{"; run = "tab_swap -1"; desc = "Swap current tab wittab"; }
|
{ on = "{"; run = "tab_swap -1"; desc = "Swap current tab wittab"; }
|
||||||
{ on = "}"; run = "tab_swap 1"; desc = "Swap current tab with next tab"; }
|
{ on = "}"; run = "tab_swap 1"; desc = "Swap current tab with next tab"; }
|
||||||
# Tasks
|
# Tasks
|
||||||
{ on = "w"; run = "tasks_show"; desc = "Show task manager"; }
|
{ on = "w"; run = "tasks:show"; desc = "Show Task View"; }
|
||||||
];
|
];
|
||||||
tasks.keymap = [
|
tasks.keymap = [
|
||||||
# Task
|
# Task
|
||||||
@@ -304,6 +308,12 @@
|
|||||||
border_symbol = "│";
|
border_symbol = "│";
|
||||||
border_style = { fg = border; };
|
border_style = { fg = border; };
|
||||||
};
|
};
|
||||||
|
tabs = {
|
||||||
|
active = { fg = secondary.dark; bg = secondary.base; };
|
||||||
|
inactive = { fg = secondary.base; bg = secondary.dark; };
|
||||||
|
# sep_inner =
|
||||||
|
# sep_outer =
|
||||||
|
};
|
||||||
status = {
|
status = {
|
||||||
separator_open = " "; #"";
|
separator_open = " "; #"";
|
||||||
separator_close = " "; #"";
|
separator_close = " "; #"";
|
||||||
@@ -371,5 +381,56 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
} // (if nox-var then {
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
} else {});
|
||||||
|
|
||||||
|
xdg = {
|
||||||
|
configFile."xdg-desktop-portal-termfilechooser/config" = {
|
||||||
|
force = true;
|
||||||
|
text = ''
|
||||||
|
[filechooser]
|
||||||
|
cmd=${tfc}/share/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh
|
||||||
|
default_dir=$HOME
|
||||||
|
env=TERMCMD=ghostty --title="terminal-file-picker -e"
|
||||||
|
open_mode=suggested
|
||||||
|
save_mode=last
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
portal = {
|
||||||
|
enable = true;
|
||||||
|
xdgOpenUsePortal = true;
|
||||||
|
config.common."org.freedesktop.impl.portal.FileChooser" = "termfilechooser";
|
||||||
|
extraPortals = [ tfc ] ++ (with pkgs; [
|
||||||
|
xdg-desktop-portal-hyprland
|
||||||
|
xdg-desktop-portal
|
||||||
|
xdg-desktop-portal-gnome
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
xdg-desktop-portal-hyprland
|
||||||
|
xdg-desktop-portal-wlr
|
||||||
|
]);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
home.sessionVariables."GTK_USE_PORTAL" = "1";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
completion-fg = foreground;
|
completion-fg = foreground;
|
||||||
completion-highlight-bg = background;
|
completion-highlight-bg = background;
|
||||||
completion-highlight-fg = accent.base;
|
completion-highlight-fg = accent.base;
|
||||||
default-bg = "rgba(${f background},${t})";
|
default-bg = "rgba(${f accent.dark},${t})";
|
||||||
default-fg = foreground;
|
default-fg = foreground;
|
||||||
highlight-active-color = "rgba(${f accent.base},0.5)";
|
highlight-active-color = "rgba(${f accent.base},0.5)";
|
||||||
highlight-color = "rgba(${f secondary.base},0.5)";
|
highlight-color = "rgba(${f secondary.base},0.5)";
|
||||||
|
|||||||
120
home.nix
120
home.nix
@@ -1,7 +1,7 @@
|
|||||||
{ pkgs, hyper, ... }:
|
{ pkgs, ... }@all: with all; {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./home-modules/auto-mount.nix
|
./home-modules/auto-mount.nix
|
||||||
|
./home-modules/bar.nix
|
||||||
./home-modules/bash.nix
|
./home-modules/bash.nix
|
||||||
./home-modules/bitwarden.nix
|
./home-modules/bitwarden.nix
|
||||||
./home-modules/calendar.nix
|
./home-modules/calendar.nix
|
||||||
@@ -11,7 +11,8 @@
|
|||||||
./home-modules/direnv.nix
|
./home-modules/direnv.nix
|
||||||
./home-modules/discord.nix
|
./home-modules/discord.nix
|
||||||
./home-modules/email.nix
|
./home-modules/email.nix
|
||||||
./home-modules/firefox.nix
|
./home-modules/figlet.nix
|
||||||
|
./home-modules/firefox/firefox.nix
|
||||||
./home-modules/fish.nix
|
./home-modules/fish.nix
|
||||||
./home-modules/games.nix
|
./home-modules/games.nix
|
||||||
./home-modules/gestures.nix
|
./home-modules/gestures.nix
|
||||||
@@ -27,7 +28,7 @@
|
|||||||
./home-modules/latex.nix
|
./home-modules/latex.nix
|
||||||
./home-modules/mako.nix
|
./home-modules/mako.nix
|
||||||
# ./home-modules/matrix.nix
|
# ./home-modules/matrix.nix
|
||||||
# ./home-modules/nm.nix
|
./home-modules/mpv.nix
|
||||||
./home-modules/nh.nix
|
./home-modules/nh.nix
|
||||||
./home-modules/nixd.nix
|
./home-modules/nixd.nix
|
||||||
./home-modules/nvidia.nix
|
./home-modules/nvidia.nix
|
||||||
@@ -35,126 +36,41 @@
|
|||||||
./home-modules/obs.nix
|
./home-modules/obs.nix
|
||||||
./home-modules/office.nix
|
./home-modules/office.nix
|
||||||
./home-modules/ollama.nix
|
./home-modules/ollama.nix
|
||||||
|
./home-modules/opencode.nix
|
||||||
./home-modules/pandoc.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/pnx.nix
|
||||||
./home-modules/programming/c.nix
|
./home-modules/programming.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/qt.nix
|
./home-modules/qt.nix
|
||||||
|
./home-modules/rclone.nix
|
||||||
./home-modules/rofi.nix
|
./home-modules/rofi.nix
|
||||||
./home-modules/scanning.nix
|
./home-modules/scanning.nix
|
||||||
./home-modules/sent.nix
|
./home-modules/sent.nix
|
||||||
./home-modules/sops.nix
|
./home-modules/sops.nix
|
||||||
|
./home-modules/spotify.nix
|
||||||
./home-modules/ssh.nix
|
./home-modules/ssh.nix
|
||||||
./home-modules/starship.nix
|
./home-modules/starship.nix
|
||||||
./home-modules/tts.nix
|
./home-modules/tts.nix
|
||||||
|
./home-modules/typst.nix
|
||||||
./home-modules/vale.nix
|
./home-modules/vale.nix
|
||||||
./home-modules/virt-manager.nix
|
./home-modules/virt-manager.nix
|
||||||
./home-modules/vscode.nix
|
./home-modules/vscode.nix
|
||||||
./home-modules/wallpaper-to-colors.nix
|
./home-modules/wallpaper-to-colors.nix
|
||||||
./home-modules/waybar.nix
|
|
||||||
./home-modules/wlogout.nix
|
./home-modules/wlogout.nix
|
||||||
|
./home-modules/xdg.nix
|
||||||
./home-modules/yazi.nix
|
./home-modules/yazi.nix
|
||||||
./home-modules/zathura.nix
|
./home-modules/zathura.nix
|
||||||
./home-modules/zoxide.nix
|
./home-modules/zoxide.nix
|
||||||
] ++ (if (hyper.host == "NxACE") then [
|
] ++ (if (hyper.host == "NxACE") then [
|
||||||
./home-modules/nx2site.nix
|
./home-modules/nx2site.nix
|
||||||
./home-modules/nx2site-backup.nix
|
./home-modules/nx2site-backup.nix
|
||||||
|
./home-modules/calendar-campuszeit-fix.nix
|
||||||
] else []);
|
] else []);
|
||||||
home.username = hyper.user;
|
home.username = hyper.user;
|
||||||
# home.homeDirectory = hyper.home; # for some reason you cant use hyper.home here
|
home.homeDirectory = hyper.home;
|
||||||
home.homeDirectory = "/home/${hyper.user}";
|
# home.homeDirectory = "/home/${hyper.user}";
|
||||||
home.stateVersion = pkgs.version;
|
home.stateVersion = hyper.pkgs-version;
|
||||||
home.packages = with pkgs; [
|
|
||||||
bat
|
|
||||||
brightnessctl
|
|
||||||
browsh
|
|
||||||
chromium
|
|
||||||
cmake
|
|
||||||
dig
|
|
||||||
du-dust
|
|
||||||
exiftool
|
|
||||||
eza
|
|
||||||
ffmpeg
|
|
||||||
figlet
|
|
||||||
fontpreview
|
|
||||||
fzf
|
|
||||||
glib
|
|
||||||
glow
|
|
||||||
gnumake
|
|
||||||
gsettings-desktop-schemas
|
|
||||||
imagemagick
|
|
||||||
imv
|
|
||||||
jq
|
|
||||||
lolcat
|
|
||||||
lynx
|
|
||||||
mediainfo
|
|
||||||
mpv
|
|
||||||
neofetch
|
|
||||||
pavucontrol
|
|
||||||
pdfgrep
|
|
||||||
piper-tts
|
|
||||||
pipes
|
|
||||||
playerctl
|
|
||||||
pv
|
|
||||||
qbittorrent
|
|
||||||
reflex
|
|
||||||
ripgrep
|
|
||||||
screen
|
|
||||||
spicetify-cli
|
|
||||||
sssnake
|
|
||||||
swww
|
|
||||||
systemctl-tui
|
|
||||||
tldr
|
|
||||||
unstable.spotify
|
|
||||||
w3m
|
|
||||||
wev
|
|
||||||
wl-clipboard
|
|
||||||
xclip
|
|
||||||
xfce.thunar
|
|
||||||
yt-dlp
|
|
||||||
] ++ (if (hyper.host != "NxACE") then [
|
|
||||||
signal-desktop
|
|
||||||
obsidian
|
|
||||||
zoom-us
|
|
||||||
inkscape
|
|
||||||
] else []);
|
|
||||||
|
|
||||||
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";
|
|
||||||
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.
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
# 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";
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
{ pkgs, hyper, inputs, ... }:
|
|
||||||
{
|
|
||||||
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" ];
|
|
||||||
}
|
|
||||||
32
nod.nix
Normal file
32
nod.nix
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
{ pkgs, ... }@all: with all; {
|
||||||
|
environment = {
|
||||||
|
packages = import ./system-modules/base-packages.nix pkgs;
|
||||||
|
etcBackupExtension = ".bak";
|
||||||
|
motd = "";
|
||||||
|
};
|
||||||
|
terminal = {
|
||||||
|
font = rice.font.code.regular-path;
|
||||||
|
};
|
||||||
|
android-integration = {
|
||||||
|
termux-setup-storage.enable = true;
|
||||||
|
};
|
||||||
|
system.stateVersion = pkgs.version;
|
||||||
|
nix.extraOptions = ''
|
||||||
|
experimental-features = nix-command flakes
|
||||||
|
'';
|
||||||
|
user ={
|
||||||
|
shell = "${pkgs.fish}/bin/fish";
|
||||||
|
# userName = pkgs.lib.mkForce hyper.user; if its read-only, whats the point of this option???
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
# Set your time zone
|
||||||
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
config = import ./shell-only.nix;
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
backupFileExtension = "backup";
|
||||||
|
extraSpecialArgs = { inherit (all) inputs hyper rice; };
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
{ pkgs, hyper, ... }:
|
{ pkgs, ... }@all: with all; {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./home-modules/bash.nix
|
./home-modules/bash.nix
|
||||||
./home-modules/color-pallete.nix
|
./home-modules/color-pallete.nix
|
||||||
@@ -13,7 +12,7 @@
|
|||||||
./home-modules/nixd.nix
|
./home-modules/nixd.nix
|
||||||
./home-modules/nxgs.nix
|
./home-modules/nxgs.nix
|
||||||
./home-modules/pandoc.nix
|
./home-modules/pandoc.nix
|
||||||
./home-modules/programming/c.nix
|
# ./home-modules/programming/c.nix
|
||||||
./home-modules/programming/gleam.nix
|
./home-modules/programming/gleam.nix
|
||||||
./home-modules/programming/go.nix
|
./home-modules/programming/go.nix
|
||||||
./home-modules/programming/java.nix
|
./home-modules/programming/java.nix
|
||||||
@@ -28,10 +27,11 @@
|
|||||||
|
|
||||||
./home-modules/pkgs-list/shell.nix
|
./home-modules/pkgs-list/shell.nix
|
||||||
];
|
];
|
||||||
home.username = hyper.user;
|
home = {
|
||||||
# home.homeDirectory = hyper.home; # for some reason you cant use hyper.home here
|
username = hyper.user;
|
||||||
home.homeDirectory = "/home/${hyper.user}";
|
homeDirectory = hyper.home;
|
||||||
home.stateVersion = pkgs.version;
|
stateVersion = pkgs.version;
|
||||||
|
};
|
||||||
xdg = {
|
xdg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
configHome = "${hyper.home}/.config";
|
configHome = "${hyper.home}/.config";
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, hyper, lib, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
lib.mkIf (hyper.host != "NxACE")
|
lib.mkIf (hyper.host != "NxACE")
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|||||||
18
system-modules/base-packages.nix
Normal file
18
system-modules/base-packages.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
pkgs: with pkgs; [
|
||||||
|
busybox
|
||||||
|
# coreutils-full
|
||||||
|
gitFull
|
||||||
|
git-crypt
|
||||||
|
|
||||||
|
wget
|
||||||
|
curlHTTP3
|
||||||
|
zip
|
||||||
|
unzip
|
||||||
|
p7zip
|
||||||
|
unar
|
||||||
|
vim
|
||||||
|
htop
|
||||||
|
openssl
|
||||||
|
dmidecode
|
||||||
|
file
|
||||||
|
]
|
||||||
10
system-modules/bluetooth.nix
Normal file
10
system-modules/bluetooth.nix
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{ pkgs, ... }@all: with all; {
|
||||||
|
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;
|
||||||
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
{ config, pkgs, hyper, inputs, ... }:
|
{ pkgs, ... }@all: with all; let
|
||||||
let
|
|
||||||
grub-theme-ascii-diana = (pkgs.fetchFromGitea {
|
grub-theme-ascii-diana = (pkgs.fetchFromGitea {
|
||||||
domain = "git.${hyper.domain}";
|
domain = "git.${hyper.domain}";
|
||||||
owner = "nx2";
|
owner = "nx2";
|
||||||
@@ -7,16 +6,12 @@ let
|
|||||||
rev = "0.5.0";
|
rev = "0.5.0";
|
||||||
hash = "sha256-e+55NYsSsWY6GPbYUtdVEB9krueuCAWT3Ce/Ghops1g=";
|
hash = "sha256-e+55NYsSsWY6GPbYUtdVEB9krueuCAWT3Ce/Ghops1g=";
|
||||||
});
|
});
|
||||||
in
|
device-boot = if hyper.host == "NxNORTH" then {
|
||||||
{
|
kernelPackages = pkgs.linuxPackages_zen;
|
||||||
imports = if hyper.host == "NxNORTH" then [
|
kernelParams = [
|
||||||
inputs.lanzaboote.nixosModules.lanzaboote
|
"fbcon=margin:1"
|
||||||
] else [];
|
"fbcon=nodefer"
|
||||||
config = if hyper.host == "NxNORTH" then {
|
];
|
||||||
# I have to boot with secureboot becasue of the chinese spyware called Vanguard
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ sbctl ];
|
|
||||||
boot = {
|
|
||||||
lanzaboote = {
|
lanzaboote = {
|
||||||
enable = true;
|
enable = true;
|
||||||
pkiBundle = "/var/lib/sbctl";
|
pkiBundle = "/var/lib/sbctl";
|
||||||
@@ -26,14 +21,11 @@ in
|
|||||||
consoleMode = "max";
|
consoleMode = "max";
|
||||||
configurationLimit = 10;
|
configurationLimit = 10;
|
||||||
};
|
};
|
||||||
kernelPackages = pkgs.linuxPackages_zen;
|
} else if hyper.host == "NxXPS" then {
|
||||||
|
kernelPackages = pkgs.linuxPackages;
|
||||||
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
||||||
kernelModules = [ "v4l2loopback" ];
|
kernelModules = [ "v4l2loopback" ];
|
||||||
extraModprobeConfig = ''options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1'';
|
extraModprobeConfig = ''options v4l2loopback devices=1 video_nr=1 card_label="OBS VCam" exclusive_caps=1'';
|
||||||
};
|
|
||||||
security.polkit.enable = true;
|
|
||||||
} else if hyper.host == "NxXPS" then {
|
|
||||||
boot = {
|
|
||||||
loader = {
|
loader = {
|
||||||
efi.canTouchEfiVariables = true;
|
efi.canTouchEfiVariables = true;
|
||||||
grub = {
|
grub = {
|
||||||
@@ -55,22 +47,24 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
} else if hyper.host == "NxACE" then {
|
||||||
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
kernelPackages = pkgs.linuxPackages_6_12;
|
||||||
kernelModules = [ "v4l2loopback" ];
|
|
||||||
extraModprobeConfig = ''options v4l2loopback devices=1 video_nr=1 card_label="OBS VCam" exclusive_caps=1'';
|
|
||||||
};
|
|
||||||
} else { # NxACE
|
|
||||||
boot = {
|
|
||||||
loader = {
|
loader = {
|
||||||
efi.canTouchEfiVariables = true;
|
efi.canTouchEfiVariables = true;
|
||||||
grub = {
|
grub = {
|
||||||
enable = true;
|
enable = true;
|
||||||
device = "nodev";
|
device = "nodev";
|
||||||
|
devices = [];
|
||||||
efiSupport = true;
|
efiSupport = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
kernelPackages = pkgs.linuxPackages_6_12;
|
} else assert 1 == "Unknown host"; {};
|
||||||
};
|
in {
|
||||||
|
imports = if hyper.host == "NxNORTH" then [
|
||||||
|
inputs.lanzaboote.nixosModules.lanzaboote
|
||||||
|
] else [];
|
||||||
|
config = {
|
||||||
|
environment.systemPackages = with pkgs; lib.mkIf ( host == "NxNORTH" ) [ sbctl ];
|
||||||
|
boot = { tmp.useTmpfs = false; } // device-boot;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
11
system-modules/cache.nix
Normal file
11
system-modules/cache.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{ ... }: {
|
||||||
|
nix.settings = {
|
||||||
|
substitute = true;
|
||||||
|
substituters = [
|
||||||
|
"https://yazi.cachix.org"
|
||||||
|
];
|
||||||
|
trusted-public-keys = [
|
||||||
|
"yazi.cachix.org-1:Dcdz63NZKfvUCbDGngQDAZq6kOroIrFoyO064uvLh8k="
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }@all: with all;
|
||||||
{
|
{
|
||||||
systemd.timers."nx_cal_dicos" = {
|
systemd.timers."nx_cal_dicos" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user