Merge branch 'master' of github.com:/kropatz/nix-config
This commit is contained in:
@@ -3,7 +3,6 @@
|
||||
set $mod Mod4
|
||||
set $LeftMonitor HDMI-A-0
|
||||
set $RightMonitor DisplayPort-0
|
||||
|
||||
# Font for window titles. Will also be used by the bar unless a different font
|
||||
# is used in the bar {} block below.
|
||||
font pango:monospace 8
|
||||
@@ -70,6 +69,7 @@ bindsym $mod+period exec --no-startup-id rofimoji
|
||||
# -config ~/.config/rofi/rofidmenu.rasi
|
||||
|
||||
|
||||
set $warpmouse exec eval $(xdotool getwindowfocus getwindowgeometry --shell) && xdotool mousemove --window $(xdotool getwindowfocus) $((WIDTH/2)) $((HEIGHT/2))
|
||||
# change focus
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+j focus down
|
||||
@@ -77,10 +77,10 @@ bindsym $mod+k focus up
|
||||
bindsym $mod+l focus right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
bindsym $mod+Left focus left; $warpmouse
|
||||
bindsym $mod+Down focus down; $warpmouse
|
||||
bindsym $mod+Up focus up; $warpmouse
|
||||
bindsym $mod+Right focus right; $warpmouse
|
||||
|
||||
# switch between windows with alt tab
|
||||
bindsym Mod1+Tab focus next
|
||||
|
||||
100
flake.lock
generated
100
flake.lock
generated
@@ -122,11 +122,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768913864,
|
||||
"narHash": "sha256-NYh/M3mnVZ0XouM98BJvcpKTarjgBSYqH8bDvkG1cDE=",
|
||||
"lastModified": 1768923567,
|
||||
"narHash": "sha256-GVJ0jKsyXLuBzRMXCDY6D5J8wVdwP1DuQmmvYL/Vw/Q=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "e0bbbb8886d0630402e1a5882134a1a772c91fed",
|
||||
"rev": "00395d188e3594a1507f214a2f15d4ce5c07cb28",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -309,11 +309,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768603898,
|
||||
"narHash": "sha256-vRV1dWJOCpCal3PRr86wE2WTOMfAhTu6G7bSvOsryUo=",
|
||||
"lastModified": 1768949235,
|
||||
"narHash": "sha256-TtjKgXyg1lMfh374w5uxutd6Vx2P/hU81aEhTxrO2cg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "2a63d0e9d2c72ac4d4150ebb242cf8d86f488c8c",
|
||||
"rev": "75ed713570ca17427119e7e204ab3590cc3bf2a5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -330,11 +330,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768912518,
|
||||
"narHash": "sha256-FJlof1jnbLIT5RbKxef/NV6RzcOj1GoMzXE4FcBFg5Y=",
|
||||
"lastModified": 1768984719,
|
||||
"narHash": "sha256-O6nXCW9FN39qw204e5Nl3qgaxKFcSvdpx0bULqfwyTA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "9c5f8aceb6ef620e881f50fe65cb4a2c6b1e8527",
|
||||
"rev": "d6e3935ec6e43c8f54cd0132276c82d951e1453e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -344,6 +344,25 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"matugen": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"systems": "systems_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769341810,
|
||||
"narHash": "sha256-5AYLcqR45alSB0C4nsU3EMOLvnMEr9slDH2evoi+M88=",
|
||||
"owner": "InioX",
|
||||
"repo": "Matugen",
|
||||
"rev": "b2b28bf9d92851fde8c737af49984daba3f86226",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "InioX",
|
||||
"repo": "Matugen",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1768736227,
|
||||
@@ -378,11 +397,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1768564909,
|
||||
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
|
||||
"lastModified": 1770841267,
|
||||
"narHash": "sha256-9xejG0KoqsoKEGp2kVbXRlEYtFFcDTHjidiuX8hGO44=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
|
||||
"rev": "ec7c70d12ce2fc37cb92aff673dcdca89d187bae",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -418,11 +437,11 @@
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768873557,
|
||||
"narHash": "sha256-gbH6l4liUkBtfZjL26iMBkw4MtZSzi8vVed02OLP1RY=",
|
||||
"lastModified": 1768960140,
|
||||
"narHash": "sha256-iy2UleY4gdaz7AOKCVoWSBxuFaLZMPh2QVZJbZw+7gA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs-xr",
|
||||
"rev": "77bd9e44e5a0842f1d2583edfc103d0576f97403",
|
||||
"rev": "17ca156becd777c9698ef45dbeca80223dbec87e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -447,6 +466,22 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1724479785,
|
||||
"narHash": "sha256-pP3Azj5d6M5nmG68Fu4JqZmdGt4S4vqI5f8te+E/FTw=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d0e1602ddde669d5beb01aec49d71a51937ed7be",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
@@ -477,11 +512,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768914561,
|
||||
"narHash": "sha256-O0XJuaGyuYDUrr/qjtQ5IjdxbaV9PNzCMvyP5SgxaX0=",
|
||||
"lastModified": 1768987531,
|
||||
"narHash": "sha256-OUuPCbbpt2TScCThL4xPByL5U7gOXQ83aJvXbtcnV9Y=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "d1b81205dfc1b37b093c272089d15c608a5d0b62",
|
||||
"rev": "8e6425272de3f758a3b7103b49d6b7edbfb01b40",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -571,11 +606,12 @@
|
||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"matugen": "matugen",
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unstable"
|
||||
],
|
||||
"nur": "nur_2",
|
||||
"systems": "systems_5",
|
||||
"systems": "systems_6",
|
||||
"tinted-foot": "tinted-foot",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
"tinted-schemes": "tinted-schemes",
|
||||
@@ -583,15 +619,16 @@
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768744881,
|
||||
"narHash": "sha256-3+h7OxqfrPIB/tRsiZXWE9sCbTm7NQN5Ie428p+S6BA=",
|
||||
"owner": "danth",
|
||||
"lastModified": 1769348032,
|
||||
"narHash": "sha256-Fy5dre1KS7xxGX2v5HxZSe++S4I0XXd7qCRUImEnrRM=",
|
||||
"owner": "make-42",
|
||||
"repo": "stylix",
|
||||
"rev": "06684f00cfbee14da96fd4307b966884de272d3a",
|
||||
"rev": "89d5e0bffe49c3fa285e93556159be5e27fd600a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "danth",
|
||||
"owner": "make-42",
|
||||
"ref": "matugen",
|
||||
"repo": "stylix",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -657,6 +694,21 @@
|
||||
}
|
||||
},
|
||||
"systems_5": {
|
||||
"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_6": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
|
||||
11
flake.nix
11
flake.nix
@@ -40,7 +40,8 @@
|
||||
};
|
||||
# styling
|
||||
stylix = {
|
||||
url = "github:danth/stylix";
|
||||
#url = "github:danth/stylix";
|
||||
url = "github:make-42/stylix/matugen";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
inputs.home-manager.follows = "home-manager-unstable";
|
||||
};
|
||||
@@ -123,7 +124,7 @@
|
||||
(
|
||||
{ outputs, ... }:
|
||||
{
|
||||
stylix.image = ./tsukasa.jpg;
|
||||
stylix.image = ./wallpaper/tsukasa.jpg;
|
||||
}
|
||||
)
|
||||
];
|
||||
@@ -173,6 +174,12 @@
|
||||
./systems/pc/configuration.nix
|
||||
];
|
||||
};
|
||||
"test-pc" = mkHost {
|
||||
modules = [
|
||||
./users/kopatz
|
||||
./systems/test-pc/configuration.nix
|
||||
];
|
||||
};
|
||||
"framework" = mkHost {
|
||||
modules = [
|
||||
### User specific ###
|
||||
|
||||
@@ -1,11 +1,19 @@
|
||||
{ pkgs, config, ... }:
|
||||
{
|
||||
services.easyeffects = {
|
||||
enable = true;
|
||||
preset = "mic";
|
||||
extraPresets = {
|
||||
mic = builtins.fromJSON (builtins.readFile ./mic.json);
|
||||
other_mic = builtins.fromJSON (builtins.readFile ./other_mic.json);
|
||||
pkgs,
|
||||
config,
|
||||
osConfig,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
config = lib.mkIf osConfig.custom.graphical.noise-supression.enable {
|
||||
services.easyeffects = {
|
||||
enable = true;
|
||||
preset = "mic";
|
||||
extraPresets = {
|
||||
mic = builtins.fromJSON (builtins.readFile ./mic.json);
|
||||
other_mic = builtins.fromJSON (builtins.readFile ./other_mic.json);
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -337,7 +337,7 @@ in
|
||||
colorTheme.enable = true;
|
||||
};
|
||||
};
|
||||
programs.firefox = {
|
||||
programs.firefox = lib.mkIf osConfig.custom.graphical.firefox-custom.enable {
|
||||
enable = true;
|
||||
policies = {
|
||||
DisableTelemetry = true;
|
||||
|
||||
@@ -226,7 +226,7 @@ in
|
||||
# Example windowrule v1
|
||||
# windowrule = float, ^(kitty)$
|
||||
# Example windowrule v2
|
||||
# float,class:^(kitty)$,title:^(kitty)$
|
||||
# float,match:class ^(kitty)$,title:^(kitty)$
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
@@ -244,16 +244,17 @@ in
|
||||
wl-paste = "${pkgs.wl-clipboard}/bin/wl-paste";
|
||||
grimblast = "${pkgs.grimblast}/bin/grimblast";
|
||||
saved-screenshot-cmd = ''
|
||||
${grimblast} --freeze save area $OUT && notify-send "Saved screenshot to $OUT" -h string:image-path:$OUT && echo "file://$(realpath $OUT)" | wl-copy -t text/uri-list
|
||||
${hyprshot} -z -s -m region -o $OUT -f $FILE && notify-send "Saved screenshot to $OUT/$FILE" -h string:image-path:$OUT/$FILE && echo "file://$(realpath $OUT/$FILE)" | wl-copy -t text/uri-list
|
||||
'';
|
||||
saved-screenshot-cmd-output = ''
|
||||
${grimblast} --freeze save output $OUT && notify-send "Saved screenshot to $OUT" -h string:image-path:$OUT && echo "file://$(realpath $OUT)" | wl-copy -t text/uri-list
|
||||
${hyprshot} -z -s -m output -o $OUT -f $FILE && notify-send "Saved screenshot to $OUT/$FILE" -h string:image-path:$OUT/$FILE && echo "file://$(realpath $OUT/$FILE)" | wl-copy -t text/uri-list
|
||||
'';
|
||||
pdfgrep = "${pkgs.pdfgrep}/bin/pdfgrep";
|
||||
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
|
||||
#swaylock = "${pkgs.swaylock}/bin/swaylock";
|
||||
hyprlock = "${pkgs.hyprlock}/bin/hyprlock";
|
||||
hyprpicker = "${pkgs.hyprpicker}/bin/hyprpicker";
|
||||
hyprshot = "${pkgs.hyprshot}/bin/hyprshot";
|
||||
playerctl = "${pkgs.playerctl}/bin/playerctl";
|
||||
peek = "${pkgs.peek}/bin/peek";
|
||||
zenity = "${pkgs.zenity}/bin/zenity";
|
||||
@@ -277,10 +278,10 @@ in
|
||||
''$mainMod, S, exec, echo "skip" | nc kopatz.dev 8888''
|
||||
''$mainMod SHIFT, R, exec, hyprctl hyprpaper reload ,"$(ls -d ~/synced/default/dinge/Bg/* | shuf -n 1)"''
|
||||
"$mainMod SHIFT, W, exec, hyprctl hyprpaper reload ,${config.stylix.image}"
|
||||
" , Print, exec, ${grimblast} --freeze copy area"
|
||||
''$mainMod, Print, exec, export OUT=/tmp/$(date +'%s_grim.png') && ${saved-screenshot-cmd}''
|
||||
''Shift_L, Print, exec, export OUT=~/Pictures/$(date +'%s_grim.png') && ${saved-screenshot-cmd}''
|
||||
''$mainMod Shift_L, Print, exec, export OUT=~/Pictures/$(date +'%s_grim.png') && ${saved-screenshot-cmd-output}''
|
||||
" , Print, exec, ${hyprshot} -s -z -m region --clipboard-only"
|
||||
''$mainMod, Print, exec, export OUT=/tmp && FILE=$(date +'%s_screenshot.png') && ${saved-screenshot-cmd}''
|
||||
''Shift_L, Print, exec, export OUT=~/Pictures && FILE=$(date +'%s_screenshot.png') && ${saved-screenshot-cmd}''
|
||||
''$mainMod Shift_L, Print, exec, export OUT=~/Pictures && FILE=$(date +'%s_screenshot.png') && ${saved-screenshot-cmd-output}''
|
||||
#"$mainMod, G, exec, ${peek}" # record gif
|
||||
"$mainMod, SPACE, exec, ${rofi} -modi drun -show drun -config ~/.config/rofi/rofidmenu.rasi"
|
||||
" , XF86AudioPlay, exec, ${playerctl} play-pause"
|
||||
@@ -367,50 +368,51 @@ in
|
||||
"float on, match:class zenity"
|
||||
"center on, match:class zenity"
|
||||
"workspace 1, match:class steam_app_.*"
|
||||
"allows_input on, match:title Trove"
|
||||
#"stay_focused on, match:title Trove"
|
||||
# Fix splash screen showing in weird places and prevent annoying focus takeovers
|
||||
#"tag +jetbrains-splash, class:^(jetbrains-.*)$, title:^(splash)$, floating:1"
|
||||
#"tag +jetbrains-splash, match:class ^(jetbrains-.*)$, title:^(splash)$, floating:1"
|
||||
#"center, tag:jetbrains-splash"
|
||||
#"nofocus, tag:jetbrains-splash"
|
||||
#"noborder, tag:jetbrains-splash"
|
||||
## Center popups/find windows
|
||||
#"tag +jetbrains, class:^(jetbrains-.*), title:^()$, floating:1"
|
||||
#"tag +jetbrains, match:class ^(jetbrains-.*), title:^()$, floating:1"
|
||||
#"center, tag:jetbrains"
|
||||
## Enabling this makes it possible to provide input in popup dialogs (search window, new file, etc.)
|
||||
#"stayfocused, tag:jetbrains"
|
||||
#"noborder, tag:jetbrains"
|
||||
## For some reason tag:jetbrains does not work for size rule
|
||||
#"size >50% >50%, class:^(jetbrains-.*), title:^()$, floating:1"
|
||||
#"size >50% >50%, match:class ^(jetbrains-.*), title:^()$, floating:1"
|
||||
## Disable window flicker when autocomplete or tooltips appear
|
||||
#"noinitialfocus, class:^(jetbrains-.*)$, title:^(win.*)$, floating:1"
|
||||
#"noinitialfocus, match:class ^(jetbrains-.*)$, title:^(win.*)$, floating:1"
|
||||
## Disable mouse focus
|
||||
#"nofollowmouse, class:^(jetbrains-.*)$"
|
||||
];
|
||||
windowrulev2 = [
|
||||
#"center, class:jetbrains-idea"
|
||||
#"noinitialfocus,class:^jetbrains-(?!toolbox),floating:1"
|
||||
#"nofollowmouse, match:class ^(jetbrains-.*)$"
|
||||
|
||||
#"center, match:class jetbrains-idea"
|
||||
#"noinitialfocus,match:class ^jetbrains-(?!toolbox),floating:1"
|
||||
|
||||
## -- Fix odd behaviors in IntelliJ IDEs --
|
||||
##! Fix focus issues when dialogs are opened or closed
|
||||
#"windowdance,class:^(jetbrains-.*)$,floating:1"
|
||||
#"windowdance,match:class ^(jetbrains-.*)$,floating:1"
|
||||
##! Fix splash screen showing in weird places and prevent annoying focus takeovers
|
||||
#"center,class:^(jetbrains-.*)$,title:^(splash)$,floating:1"
|
||||
#"nofocus,class:^(jetbrains-.*)$,title:^(splash)$,floating:1"
|
||||
#"noborder,class:^(jetbrains-.*)$,title:^(splash)$,floating:1"
|
||||
#"center,match:class ^(jetbrains-.*)$,title:^(splash)$,floating:1"
|
||||
#"nofocus,match:class ^(jetbrains-.*)$,title:^(splash)$,floating:1"
|
||||
#"noborder,match:class ^(jetbrains-.*)$,title:^(splash)$,floating:1"
|
||||
|
||||
##! Center popups/find windows
|
||||
#"center,class:^(jetbrains-.*)$,title:^( )$,floating:1"
|
||||
#"stayfocused,class:^(jetbrains-.*)$,title:^( )$,floating:1"
|
||||
#"noborder,class:^(jetbrains-.*)$,title:^( )$,floating:1"
|
||||
#"center,match:class ^(jetbrains-.*)$,title:^( )$,floating:1"
|
||||
#"stayfocused,match:class ^(jetbrains-.*)$,title:^( )$,floating:1"
|
||||
#"noborder,match:class ^(jetbrains-.*)$,title:^( )$,floating:1"
|
||||
##! Disable window flicker when autocomplete or tooltips appear
|
||||
#"nofocus,class:^(jetbrains-.*)$,title:^(win.*)$,floating:1"
|
||||
##"immediate, class:^(Risk.*)$"
|
||||
"stayfocused,class:(steam_app_107410)"
|
||||
"immediate, class:^tetrio-desktop$"
|
||||
"opacity 0.9, class:thunar"
|
||||
"opacity 0.9, class:discord, fullscreen:0"
|
||||
"opacity 0.1, title:cava"
|
||||
"float, title:Picture-in-Picture"
|
||||
"suppressevent maximize, title:Picture-in-Picture"
|
||||
#"nofocus,match:class ^(jetbrains-.*)$,title:^(win.*)$,floating:1"
|
||||
##"immediate, match:class ^(Risk.*)$"
|
||||
"stay_focused on, match:class (steam_app_107410)"
|
||||
"immediate on, match:class ^tetrio-desktop$"
|
||||
"opacity 0.9, match:class thunar"
|
||||
"opacity 0.9, match:class discord, match:fullscreen 0"
|
||||
"opacity 0.1, match:title cava"
|
||||
"float on, match:title Picture-in-Picture"
|
||||
"suppress_event maximize, match:title Picture-in-Picture"
|
||||
];
|
||||
|
||||
exec-once = [
|
||||
|
||||
@@ -42,7 +42,6 @@ in
|
||||
logseq # notes
|
||||
ani-cli
|
||||
brave
|
||||
wayvnc
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ in
|
||||
with pkgs;
|
||||
[
|
||||
man-pages
|
||||
stable.jetbrains.idea-ultimate
|
||||
jetbrains.idea
|
||||
typescript
|
||||
bruno
|
||||
nodejs_22 # needed for tabby extension
|
||||
|
||||
@@ -36,4 +36,8 @@
|
||||
./niri.nix
|
||||
./wayvnc.nix
|
||||
];
|
||||
|
||||
options.custom.graphical.firefox-custom = {
|
||||
enable = lib.mkEnableOption "Enables custom firefox";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ in
|
||||
xkb.variant = config.mainUser.variant;
|
||||
enable = true;
|
||||
};
|
||||
services.displayManager.sddm.enable = !config.services.xserver.displayManager.gdm.enable;
|
||||
#services.displayManager.sddm.enable = !config.services.xserver.displayManager.gdm.enable;
|
||||
|
||||
#nix.settings = {
|
||||
# substituters = [ "https://hyprland.cachix.org" ];
|
||||
@@ -71,6 +71,7 @@ in
|
||||
wl-clipboard
|
||||
cava
|
||||
dex # starts applications according to .desktop files
|
||||
ydotool # simulates keyboard and mouse input on wayland
|
||||
#hyprshade
|
||||
#waybar
|
||||
#qt5.qtwayland
|
||||
|
||||
@@ -91,6 +91,7 @@ in
|
||||
feh # sets the wallpaper
|
||||
networkmanagerapplet
|
||||
caffeine-ng # prevent the system from going to sleep
|
||||
xdotool
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ in
|
||||
enable = mkEnableOption "Enables stylix";
|
||||
image = mkOption {
|
||||
type = types.path;
|
||||
default = ../../tsukasa.jpg;
|
||||
default = ../../wallpaper/tsukasa.jpg;
|
||||
description = ''
|
||||
The wallpaper to use.
|
||||
'';
|
||||
@@ -65,6 +65,10 @@ in
|
||||
polarity = "dark";
|
||||
image = lib.mkForce cfg.image;
|
||||
base16Scheme = lib.mkIf (cfg.base16Scheme != null) cfg.base16Scheme;
|
||||
colorGeneration = {
|
||||
polarity = "dark";
|
||||
scheme = "fruit-salad";
|
||||
};
|
||||
override = cfg.override;
|
||||
#base16Scheme = ../../home-manager/themes/yorha/scheme.yml;
|
||||
#base16Scheme =
|
||||
|
||||
@@ -91,7 +91,8 @@ in
|
||||
# accessible via `nvidia-settings`.
|
||||
nvidiaSettings = true;
|
||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||
#package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
#package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
|
||||
# version = "570.124.04";
|
||||
# sha256_64bit = "sha256-G3hqS3Ei18QhbFiuQAdoik93jBlsFI2RkWOBXuENU8Q=";
|
||||
@@ -103,7 +104,7 @@ in
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
vaapiVdpau
|
||||
libva-vdpau-driver
|
||||
libvdpau-va-gl
|
||||
libva
|
||||
libva-utils
|
||||
|
||||
@@ -90,7 +90,7 @@ in
|
||||
if [ -z "$USERNAME" ] || [ -z "$PASSWORD" ]; then
|
||||
set -a; source ${config.age.secrets.restic-internxt.path}; set +a
|
||||
fi
|
||||
${cli} login --non-interactive -e "$USERNAME" -p "$PASSWORD"
|
||||
${cli} login-legacy --non-interactive -e "$USERNAME" -p "$PASSWORD"
|
||||
LOGGED_IN=$(${cli} whoami | grep "You are logged in")
|
||||
if [ -z "$LOGGED_IN" ]; then
|
||||
echo "Internxt CLI login failed. Aborting backup."
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
services.NetworkManager-wait-online.wantedBy = lib.mkForce [ ]; # Normally ["network-online.target"]
|
||||
};
|
||||
# mash spacebar to still be able to select a different boot option
|
||||
boot.loader.timeout = 1;
|
||||
boot.loader.timeout = lib.mkDefault 1;
|
||||
|
||||
virtualisation.docker.enableOnBoot = false;
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ in
|
||||
|
||||
nix = {
|
||||
optimise.automatic = cfg.optimise;
|
||||
settings.allowed-users = [ "root" "@wheel" ];
|
||||
settings.allowed-users = [ "root" "@wheel" "anon" "minecraftserver" ];
|
||||
settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs }:
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
perf
|
||||
|
||||
21
modules/themes/ina-matugen.nix
Normal file
21
modules/themes/ina-matugen.nix
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"base00" = "041011";
|
||||
"base01" = "152222";
|
||||
"base02" = "2a3737";
|
||||
"base03" = "7b9696";
|
||||
"base04" = "b0cccc";
|
||||
"base05" = "d7e5e5";
|
||||
"base06" = "b9f0b8";
|
||||
"base07" = "89d88f";
|
||||
"base08" = "ed8796";
|
||||
"base09" = "f5a97f";
|
||||
"base0A" = "eed49f";
|
||||
"base0B" = "a6da95";
|
||||
"base0C" = "8bd5ca";
|
||||
"base0D" = "8aadf4";
|
||||
"base0E" = "c6a0f6";
|
||||
"base0F" = "f0c6c6";
|
||||
"author" = "untitled";
|
||||
"scheme" = "untitled";
|
||||
"slug" = "untitled";
|
||||
}
|
||||
29
overlays.nix
29
overlays.nix
@@ -39,6 +39,15 @@ in
|
||||
# You can change versions, add patches, set compilation flags, anything really.
|
||||
# https://nixos.wiki/wiki/Overlays
|
||||
modifications = final: prev: {
|
||||
vencord = prev.vencord.overrideAttrs {
|
||||
version = "1.14.1";
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "Vendicated";
|
||||
repo = "Vencord";
|
||||
tag = "v1.14.1";
|
||||
hash = "sha256-g+zyq4KvLhn1aeziTwh3xSYvzzB8FwoxxR13mbivyh4=";
|
||||
};
|
||||
};
|
||||
discord-canary = prev.discord-canary.override { withVencord = true; };
|
||||
discord = prev.discord.override { withVencord = true; };
|
||||
#tetrio-desktop = prev.tetrio-desktop.override { withTetrioPlus = true; };
|
||||
@@ -71,6 +80,26 @@ in
|
||||
hash = "sha256-NnKhIgDAOKOdEqgHzgLq1MSHG3FDT2AVXJZ53Ozzioc=";
|
||||
};
|
||||
};
|
||||
yt-dlp = prev.yt-dlp.overrideAttrs {
|
||||
version = "2026.02.04";
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "yt-dlp";
|
||||
repo = "yt-dlp";
|
||||
tag = "2026.02.04";
|
||||
hash = "sha256-KXnz/ocHBftenDUkCiFoBRBxi6yWt0fNuRX+vKFWDQw=";
|
||||
};
|
||||
postPatch = ''
|
||||
substituteInPlace yt_dlp/version.py \
|
||||
--replace-fail "UPDATE_HINT = None" 'UPDATE_HINT = "Nixpkgs/NixOS likely already contain an updated version.\n To get it run nix-channel --update or nix flake update in your config directory."'
|
||||
${prev.lib.optionalString true ''
|
||||
# deno is required for full YouTube support (since 2025.11.12).
|
||||
# This makes yt-dlp find deno even if it is used as a python dependency, i.e. in kodiPackages.sendtokodi.
|
||||
# Crafted so people can replace deno with one of the other JS runtimes.
|
||||
substituteInPlace yt_dlp/utils/_jsruntime.py \
|
||||
--replace-fail "path = _determine_runtime_path(self._path, '${prev.deno.meta.mainProgram}')" "path = '${prev.lib.getExe prev.deno}'"
|
||||
''}
|
||||
'';
|
||||
};
|
||||
monado = prev.monado.overrideAttrs (old: {
|
||||
cmakeFlags = old.cmakeFlags ++ [
|
||||
"-DBUILD_WITH_OPENCV=OFF"
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "internex-cli";
|
||||
version = "1.5.7";
|
||||
version = "1.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "internxt";
|
||||
repo = "cli";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-fkn16ielYg4mMwWdqKLFYyIl0JDrktsq0PADOM8gi7g=";
|
||||
hash = "sha256-52mriM6rHpGX5yTAUnRW5n8dTEz62s3zneZyJco66lA=";
|
||||
};
|
||||
|
||||
# Tip: use diff <filea> <fileb> -ur to create patches
|
||||
@@ -56,7 +56,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = finalAttrs.src + "/yarn.lock";
|
||||
hash = "sha256-cgIvT/OSlj3MCCMO1MKGECH6R0y+Zp2qhoe3lzWXG2c=";
|
||||
hash = "sha256-YeQ2vmPL8YfrZKDynIlpI5kb1Srpy13JFc+29Vc//EY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -70,7 +70,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
meta = {
|
||||
description = "Internxt CLI - Manage your Internxt account from the command line";
|
||||
homepage = "https://internxt.com/";
|
||||
license = lib.licenses.unfree;
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
|
||||
@@ -49,11 +49,6 @@
|
||||
interface = "eth0";
|
||||
dns = "127.0.0.1";
|
||||
};
|
||||
user = {
|
||||
name = "anon";
|
||||
layout = "de";
|
||||
variant = "us";
|
||||
};
|
||||
hardware = {
|
||||
ssd.enable = true;
|
||||
};
|
||||
|
||||
@@ -147,6 +147,11 @@ in
|
||||
abuse@${email-domain} lukas@${email-domain}
|
||||
dmarcreports@${email-domain} lukas@${email-domain}
|
||||
rat@${email-domain} spam@${email-domain}
|
||||
acc1@${email-domain} spam@${email-domain}
|
||||
acc2@${email-domain} spam@${email-domain}
|
||||
acc3@${email-domain} spam@${email-domain}
|
||||
acc4@${email-domain} spam@${email-domain}
|
||||
acc5@${email-domain} spam@${email-domain}
|
||||
'';
|
||||
mapFiles = {
|
||||
"virtual-map" = pkgs.writeText "postfix-virtual" ''
|
||||
|
||||
@@ -45,11 +45,6 @@
|
||||
mainUser.layout = "de";
|
||||
mainUser.variant = "us";
|
||||
custom = {
|
||||
user = {
|
||||
name = "anon";
|
||||
layout = "de";
|
||||
variant = "us";
|
||||
};
|
||||
hardware = {
|
||||
firmware.enable = true;
|
||||
ssd.enable = true;
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
#sddm.enable = true;
|
||||
#nightlight.enable = true;
|
||||
#i3.enable = true;
|
||||
firefox-custom.enable = true;
|
||||
xfce.enable = true;
|
||||
#plasma.enable = true;
|
||||
#lxqt.enable = true;
|
||||
|
||||
@@ -95,6 +95,7 @@ in
|
||||
enable = true;
|
||||
#android.enable = true;
|
||||
};
|
||||
firefox-custom.enable = true;
|
||||
#emulators.enable = true;
|
||||
hyprland.enable = true;
|
||||
games.enable = true;
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
../../modules/misc/faster-boot-time.nix
|
||||
../../modules/misc/zram.nix
|
||||
#../../modules/hardware/ryzenmonitor.nix
|
||||
../../modules/package-collections/perf.nix
|
||||
../../modules/networkmanager.nix
|
||||
#./tailscale-client.nix
|
||||
];
|
||||
@@ -101,6 +102,7 @@
|
||||
niri.enable = false;
|
||||
#openrgb.enable = true;
|
||||
sddm.enable = true;
|
||||
firefox-custom.enable = true;
|
||||
#plasma.enable = true;
|
||||
#i3.enable = true;
|
||||
#sway.enable = true;
|
||||
@@ -111,13 +113,19 @@
|
||||
basics.enable = true;
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = import ../../modules/themes/ina.nix;
|
||||
base16Scheme = import ../../modules/themes/ina-matugen.nix;
|
||||
image = ../../wallpaper/ina.jpg;
|
||||
};
|
||||
wayvnc.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
services.earlyoom = {
|
||||
enable = true;
|
||||
freeMemThreshold = 2;
|
||||
freeSwapThreshold = 2;
|
||||
};
|
||||
|
||||
services.logind.settings.Login = {
|
||||
HandlePowerKey = "suspend";
|
||||
};
|
||||
|
||||
146
systems/test-pc/configuration.nix
Normal file
146
systems/test-pc/configuration.nix
Normal file
@@ -0,0 +1,146 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
../../modules/misc/kernel.nix
|
||||
../../modules/misc/faster-boot-time.nix
|
||||
../../modules/misc/zram.nix
|
||||
../../modules/networkmanager.nix
|
||||
../../modules/services/ssh.nix
|
||||
];
|
||||
|
||||
custom = {
|
||||
tmpfs.enable = true;
|
||||
nftables.enable = true;
|
||||
cli-tools.enable = true;
|
||||
nix = {
|
||||
useLatest = true;
|
||||
#index.enable = true;
|
||||
#ld.enable = true;
|
||||
settings.enable = true;
|
||||
};
|
||||
static-ip = {
|
||||
enable = false;
|
||||
interface = "enp42s0";
|
||||
ip = "192.168.0.13";
|
||||
dns = "192.168.0.10";
|
||||
};
|
||||
hardware = {
|
||||
nvidia = {
|
||||
enable = true;
|
||||
};
|
||||
ssd.enable = true;
|
||||
};
|
||||
graphical = {
|
||||
audio.enable = true;
|
||||
games = {
|
||||
enable = true;
|
||||
};
|
||||
#sddm.enable = true;
|
||||
hyprland.enable = true;
|
||||
shared.enable = true;
|
||||
i3.enable = true;
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = import ../../modules/themes/ina-matugen.nix;
|
||||
image = ../../wallpaper/ina.jpg;
|
||||
};
|
||||
wayvnc.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
programs.firefox.enable = true;
|
||||
services.xserver.displayManager.lightdm.enable = true;
|
||||
services.xserver.windowManager.openbox.enable = true;
|
||||
# == start section sunshine ==
|
||||
services.sunshine = {
|
||||
enable = true;
|
||||
autoStart = true;
|
||||
capSysAdmin = true;
|
||||
openFirewall = true;
|
||||
package = (pkgs.sunshine.override { cudaSupport = true; });
|
||||
};
|
||||
services.avahi.publish.enable = true;
|
||||
services.avahi.publish.userServices = true;
|
||||
|
||||
services.displayManager.autoLogin = {
|
||||
enable = true;
|
||||
user = "kopatz";
|
||||
};
|
||||
# == end section sunshine ==
|
||||
|
||||
#services.logind.settings.Login = {
|
||||
# HandlePowerKey = "suspend";
|
||||
#};
|
||||
nix.gc.automatic = lib.mkForce false;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
#inputs.quickshell.packages.x86_64-linux.default
|
||||
#kdePackages.qtdeclarative
|
||||
#libimobiledevice
|
||||
#ifuse # optional, to mount using 'ifuse'
|
||||
(wl-clicker.overrideAttrs (old: {
|
||||
# wayland autoclicker
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "phonetic112";
|
||||
repo = "wl-clicker";
|
||||
rev = "f0241c374241d6cf74ba3abffb74a3fdcefa6f88";
|
||||
hash = "sha256-QwFT9e2FuczC+ew/lDrDnYYccrrfVJi3Rlrurhwk8ZU=";
|
||||
};
|
||||
}))
|
||||
];
|
||||
|
||||
mainUser.layout = "de";
|
||||
mainUser.variant = "us";
|
||||
|
||||
# Bootloader.
|
||||
boot.loader = {
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
};
|
||||
systemd-boot.enable = true;
|
||||
};
|
||||
|
||||
networking.hostName = "test-pc"; # Define your hostname.
|
||||
|
||||
# Configure console keymap
|
||||
console.keyMap = "de";
|
||||
|
||||
# Enable automatic login for the user.
|
||||
#services.xserver.displayManager.autoLogin.enable = true;
|
||||
#services.xserver.displayManager.autoLogin.user = "kopatz";
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
security.pki.certificates = [
|
||||
''
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIBjTCCATKgAwIBAgIRAMVH2+JHZ3wm2fLUlKjTYDswCgYIKoZIzj0EAwIwJDEM
|
||||
MAoGA1UEChMDS29wMRQwEgYDVQQDEwtLb3AgUm9vdCBDQTAeFw0yMzEyMDgxNDUx
|
||||
MTZaFw0zMzEyMDUxNDUxMTZaMCQxDDAKBgNVBAoTA0tvcDEUMBIGA1UEAxMLS29w
|
||||
IFJvb3QgQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATdZBOkNynShXipzhuX
|
||||
f6dUByD3chNupNWsagYC5AlPRJT9fAeHEIK/bxWkFwRtLBDopWvBu9lHahBgpHc7
|
||||
y7rTo0UwQzAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBATAdBgNV
|
||||
HQ4EFgQU9AVtwipW5HDBLfZRH1KZCnIKCfowCgYIKoZIzj0EAwIDSQAwRgIhAMHj
|
||||
AipNdhQKIYPvMt/h1uW4xP3NTkitnmshM09+rIasAiEAlSalGddXDkqJBHhPD+Fr
|
||||
gpuVkfVkA8gQCXNs5F9TnxA=
|
||||
-----END CERTIFICATE-----
|
||||
''
|
||||
];
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "25.11"; # Did you read the comment?
|
||||
}
|
||||
64
systems/test-pc/hardware-configuration.nix
Normal file
64
systems/test-pc/hardware-configuration.nix
Normal file
@@ -0,0 +1,64 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [
|
||||
"xhci_pci"
|
||||
"ahci"
|
||||
"ehci_pci"
|
||||
"nvme"
|
||||
"usbhid"
|
||||
"usb_storage"
|
||||
"sd_mod"
|
||||
"sd_mod"
|
||||
"rtsx_pci_sdmmc"
|
||||
"uas"
|
||||
"usbcore"
|
||||
"ehci_hcd"
|
||||
"uhci_hcd"
|
||||
"ohci_hcd"
|
||||
"scsi_mod"
|
||||
];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-label/nixos-ssd";
|
||||
fsType = "ext4";
|
||||
options = [
|
||||
"defaults"
|
||||
"noatime"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-label/nixssd-boot";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp42s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
#hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
@@ -11,17 +11,13 @@
|
||||
./vm-common.nix
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
(modulesPath + "/profiles/qemu-guest.nix")
|
||||
(modulesPath + "/virtualisation/qemu-vm.nix")
|
||||
#(modulesPath + "/profiles/minimal.nix")
|
||||
];
|
||||
age.identityPaths = [ /home/kopatz/.ssh/id_rsa ];
|
||||
mainUser.layout = "de";
|
||||
mainUser.variant = "us";
|
||||
custom = {
|
||||
user = {
|
||||
name = "vm";
|
||||
layout = "de";
|
||||
variant = "us";
|
||||
};
|
||||
nix = {
|
||||
settings.enable = true;
|
||||
settings.optimise = false;
|
||||
@@ -31,7 +27,7 @@
|
||||
#hyprland.enable = true;
|
||||
#lightdm.enable = true;
|
||||
#sddm.enable = true;
|
||||
plasma.enable = true;
|
||||
#plasma.enable = true;
|
||||
#cosmic.enable = true;
|
||||
};
|
||||
};
|
||||
@@ -44,6 +40,15 @@
|
||||
# displayManager.defaultSession = "xfce";
|
||||
#};
|
||||
|
||||
services.xserver.enable = true;
|
||||
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
programs.sway.enable = true;
|
||||
|
||||
virtualisation.qemu.options = [
|
||||
"-device virtio-vga"
|
||||
];
|
||||
|
||||
programs.firefox.enable = true;
|
||||
|
||||
virtualisation.vmVariant = {
|
||||
|
||||
Reference in New Issue
Block a user