Merge branch 'master' of github.com:/kropatz/nix-config

This commit is contained in:
Kopatz
2026-02-26 12:26:50 +01:00
29 changed files with 451 additions and 102 deletions

View File

@@ -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
View File

@@ -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=",

View File

@@ -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 ###

View File

@@ -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);
};
};
};
}

View File

@@ -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;

View File

@@ -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 = [

View File

@@ -42,7 +42,6 @@ in
logseq # notes
ani-cli
brave
wayvnc
];
};
}

View File

@@ -22,7 +22,7 @@ in
with pkgs;
[
man-pages
stable.jetbrains.idea-ultimate
jetbrains.idea
typescript
bruno
nodejs_22 # needed for tabby extension

View File

@@ -36,4 +36,8 @@
./niri.nix
./wayvnc.nix
];
options.custom.graphical.firefox-custom = {
enable = lib.mkEnableOption "Enables custom firefox";
};
}

View File

@@ -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

View File

@@ -91,6 +91,7 @@ in
feh # sets the wallpaper
networkmanagerapplet
caffeine-ng # prevent the system from going to sleep
xdotool
];
};
}

View File

@@ -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 =

View File

@@ -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

View File

@@ -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."

View File

@@ -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;
}

View File

@@ -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"

View File

@@ -1,4 +1,4 @@
{ pkgs }:
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
perf

View 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";
}

View File

@@ -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"

View File

@@ -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;
};

View File

@@ -49,11 +49,6 @@
interface = "eth0";
dns = "127.0.0.1";
};
user = {
name = "anon";
layout = "de";
variant = "us";
};
hardware = {
ssd.enable = true;
};

View File

@@ -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" ''

View File

@@ -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;

View File

@@ -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;

View File

@@ -95,6 +95,7 @@ in
enable = true;
#android.enable = true;
};
firefox-custom.enable = true;
#emulators.enable = true;
hyprland.enable = true;
games.enable = true;

View File

@@ -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";
};

View 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. Its 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?
}

View 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;
}

View File

@@ -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 = {