update flake

This commit is contained in:
krizej 2024-10-16 11:40:24 +02:00
parent 802f1b5c27
commit 9a3e5cfc47
28 changed files with 98 additions and 83 deletions

BIN
files/aero-drop.tar.gz Normal file

Binary file not shown.

View file

@ -59,11 +59,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1726357542, "lastModified": 1729027341,
"narHash": "sha256-p4OrJL2weh0TRtaeu1fmNYP6+TOp/W2qdaIJxxQay4c=", "narHash": "sha256-IqWD7bA9iJVifvJlB4vs2KUXVhN+d9lECWdNB4jJ0tE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "e524c57b1fa55d6ca9d8354c6ce1e538d2a1f47f", "rev": "2a4fd1cfd8ed5648583dadef86966a8231024221",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -74,11 +74,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1725885300, "lastModified": 1728729581,
"narHash": "sha256-5RLEnou1/GJQl+Wd+Bxaj7QY7FFQ9wjnFq1VNEaxTmc=", "narHash": "sha256-oazkQ/z7r43YkDLLQdMg8oIB3CwWNb+2ZrYOxtLEWTQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "166dee4f88a7e3ba1b7a243edb1aca822f00680e", "rev": "a8dd1b21995964b115b1e3ec639dd6ce24ab9806",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -90,11 +90,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1726062873, "lastModified": 1728888510,
"narHash": "sha256-IiA3jfbR7K/B5+9byVi9BZGWTD4VSbWe8VLpp9B/iYk=", "narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4f807e8940284ad7925ebd0a0993d2a1791acb2f", "rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -120,27 +120,11 @@
"type": "github" "type": "github"
} }
}, },
"nur": {
"locked": {
"lastModified": 1726387027,
"narHash": "sha256-5nC1vhaMB0avDLa38UEUNgvl189xQ4tI3olDoGb//XY=",
"owner": "nix-community",
"repo": "NUR",
"rev": "87e71e19db7075e0ce696387d85d73000e6a6f2e",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"home-manager": "home-manager", "home-manager": "home-manager",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nur": "nur",
"zed": "zed" "zed": "zed"
} }
}, },
@ -169,11 +153,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1727466124, "lastModified": 1729060364,
"narHash": "sha256-jMEIkl6rJFBHyhr020Aw2VI27Q5ac3LHEYHBDMCcfpw=", "narHash": "sha256-27GHWnUg29ps6qU/LR7JCsrzaJQdi7X72315h32Vcz8=",
"owner": "zed-industries", "owner": "zed-industries",
"repo": "zed", "repo": "zed",
"rev": "d5f67406b0b7eb9ffd261b79467d17c1dc28a041", "rev": "f944ebc4cbc6deb55cfbd6b0466631ea8d3e56a7",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -9,8 +9,6 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nur.url = "github:nix-community/NUR";
nixos-hardware.url = "github:nixos/nixos-hardware/master"; nixos-hardware.url = "github:nixos/nixos-hardware/master";
zed.url = "github:zed-industries/zed"; zed.url = "github:zed-industries/zed";

View file

@ -9,9 +9,11 @@
primary = "DisplayPort-1"; primary = "DisplayPort-1";
secondary = "HDMI-A-0"; secondary = "HDMI-A-0";
}; };
user = config.chuj.system.user; inherit (config.chuj.system) user;
in { in {
hardware.amdgpu.amdvlk.enable = true; # omfg please
# https://github.com/NixOS/nixpkgs/issues/348903
# hardware.amdgpu.amdvlk.enable = true;
boot = { boot = {
loader = { loader = {
timeout = 2; timeout = 2;
@ -34,7 +36,6 @@
home-manager.users.${user}.home.packages = with pkgs; [ home-manager.users.${user}.home.packages = with pkgs; [
pamixer pamixer
kicad
sqlitebrowser sqlitebrowser
obs-studio obs-studio
yt-dlp yt-dlp
@ -42,11 +43,10 @@
cloc cloc
viu viu
qbittorrent qbittorrent
jetbrains.idea-community-bin # jetbrains.idea-community-bin
zed-editor zed-editor
mumble mumble
blender blender
godot_4 godot_4
]; ];

View file

@ -23,6 +23,7 @@ in {
unfocused_hollow = false; unfocused_hollow = false;
}; };
colors = { colors = {
# todo: make some sort of theme.nix with a bunch of colors
primary = { primary = {
foreground = "#e4e4ef"; foreground = "#e4e4ef";
background = "#181818"; background = "#181818";

View file

@ -5,6 +5,7 @@
in { in {
options.chuj.stuff.autorandr = { options.chuj.stuff.autorandr = {
enable = mkEnableOption "autorandr"; enable = mkEnableOption "autorandr";
# TODO: proper types for these maybe idk
fingerprint = mkOption { fingerprint = mkOption {
type = types.attrs; type = types.attrs;
default = null; default = null;

View file

@ -23,6 +23,7 @@ in {
monitor = if cfg.output != null then cfg.output else 0; monitor = if cfg.output != null then cfg.output else 0;
origin = "bottom-${cfg.side}"; origin = "bottom-${cfg.side}";
frame_width = 1; frame_width = 1;
# todo: theme.nix
background = "#333333"; background = "#333333";
foreground = "#feeeee"; foreground = "#feeeee";
font = "JetBrains Mono NL 10"; font = "JetBrains Mono NL 10";

View file

@ -10,6 +10,7 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
home-manager.users.${user}.programs.firefox = { home-manager.users.${user}.programs.firefox = {
enable = true; enable = true;
package = pkgs.firefox-bin;
policies = { policies = {
DisableTelemetry = true; DisableTelemetry = true;
DisableFirefoxStudies = true; DisableFirefoxStudies = true;

View file

@ -25,6 +25,7 @@ in {
home-manager.users.${user}.programs.fish = { home-manager.users.${user}.programs.fish = {
enable = true; enable = true;
# todo: move some to abbrs
shellAliases = mergeAttrs { shellAliases = mergeAttrs {
"ls" = "${pkgs.eza}/bin/eza -lhs type"; "ls" = "${pkgs.eza}/bin/eza -lhs type";
"cp" = "cp -v"; "cp" = "cp -v";
@ -39,7 +40,7 @@ in {
"rebuild" = "ulimit -n 4096 && sudo nixos-rebuild switch --flake ~/nix#${hostname} -v"; "rebuild" = "ulimit -n 4096 && sudo nixos-rebuild switch --flake ~/nix#${hostname} -v";
} cfg.extraAliases; } cfg.extraAliases;
shellAbbrs = { # mkif xclip in pkgs shellAbbrs = { # todo: mkif xclip in pkgs
"2clip" = "xclip -selection clipboard"; "2clip" = "xclip -selection clipboard";
}; };

View file

@ -11,6 +11,8 @@ in {
services.flameshot = { services.flameshot = {
enable = true; enable = true;
settings = { settings = {
# todo: add some shit (userColors, ui colors, check the other stuff)
# https://github.com/flameshot-org/flameshot/blob/master/flameshot.example.ini
General = { General = {
disabledTrayIcon = true; disabledTrayIcon = true;
showStartupLaunchMessage = false; showStartupLaunchMessage = false;

View file

@ -26,7 +26,8 @@ in {
home-manager.users.${user}.home.packages = with pkgs; ([ home-manager.users.${user}.home.packages = with pkgs; ([
wineWowPackages.stable wineWowPackages.stable
winetricks winetricks
protontricks # vvv this shit doesn't build xd
# protontricks
] ++ forEach cfg.scripts (s: ] ++ forEach cfg.scripts (s:
(pkgs.writeShellScriptBin s.name '' (pkgs.writeShellScriptBin s.name ''
cd ~/games/${s.name} cd ~/games/${s.name}

View file

@ -7,7 +7,7 @@ in {
enable = mkEnableOption "git"; enable = mkEnableOption "git";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.git ]; environment.systemPackages = [ pkgs.git pkgs.codeberg-cli ];
home-manager.users.${user}.programs.git = { home-manager.users.${user}.programs.git = {
enable = true; enable = true;
userName = "krizej"; userName = "krizej";

View file

@ -70,7 +70,7 @@ in {
criteria = [ criteria = [
{ class = "zenity"; } { class = "zenity"; }
{ class = "fceux"; } { class = "fceux"; }
{ title = "Friends List"; } { title = "Friends List"; } # steam
]; ];
}; };
@ -80,6 +80,7 @@ in {
}; };
fonts = { fonts = {
# todo: include font in theme.nix?
names = [ "JetBrains Mono NL" ]; names = [ "JetBrains Mono NL" ];
size = 10.0; size = 10.0;
}; };
@ -137,10 +138,21 @@ in {
floating.modifier = "Mod4"; floating.modifier = "Mod4";
keybindings = with config.chuj.stuff.i3.mediaKeys; let keybindings = with config.chuj.stuff.i3.mediaKeys; let
killall = "${pkgs.killall}/bin/killall";
mod = modifier; mod = modifier;
execns = "exec --no-startup-id"; execns = "exec --no-startup-id";
i3-msg = "";
terminal = "";
flameshot = "";
firefox = "";
dmenu_run = "";
xkill = "";
pamixer = "";
i3custom-window-actions = "";
dunstify = "";
mpc = "";
in let
cmd_and_center = cmd: "${execns} i3-msg '${cmd}' && i3custom-center-mouse-on-focus"; cmd_and_center = cmd: "${execns} i3-msg '${cmd}' && i3custom-center-mouse-on-focus";
killall = "${pkgs.killall}/bin/killall";
update_mpdstatus = "${killall} -USR1 mpdstatus && sleep 0.05"; # hack as fack xd update_mpdstatus = "${killall} -USR1 mpdstatus && sleep 0.05"; # hack as fack xd
update_i3status = "${killall} -USR1 i3status"; update_i3status = "${killall} -USR1 i3status";
in mergeAttrs { in mergeAttrs {
@ -161,7 +173,6 @@ in {
"${mod}+r" = "mode resize"; "${mod}+r" = "mode resize";
"${mod}+Shift+q" = cmd_and_center "kill"; "${mod}+Shift+q" = cmd_and_center "kill";
"${mod}+Shift+r" = "restart"; "${mod}+Shift+r" = "restart";
"${mod}+Shift+e" = "${execns} i3-nagbar -t warning -m 'exit?' -b 'yes' 'i3-msg exit'";
# Mouse bindings # Mouse bindings
"--border button3" = "${execns} i3custom-window-actions"; "--border button3" = "${execns} i3custom-window-actions";
@ -204,21 +215,22 @@ in {
"${mod}+Shift+0" = cmd_and_center "move container to workspace number 10"; "${mod}+Shift+0" = cmd_and_center "move container to workspace number 10";
} (optionalAttrs config.chuj.stuff.mpd.enable { } (optionalAttrs config.chuj.stuff.mpd.enable {
# MPD controls # MPD controls
"Ctrl+${musicMenu}" = "exec mpdfdial.sh && ${update_mpdstatus} && ${update_i3status}"; "Ctrl+${musicMenu}" = "${execns} mpdfdial.sh && ${update_mpdstatus} && ${update_i3status}";
"Ctrl+${musicPrev}" = "exec mpc prev && ${update_mpdstatus} && ${update_i3status}"; "Ctrl+${musicPrev}" = "${execns} mpc prev && ${update_mpdstatus} && ${update_i3status}";
"Ctrl+${musicPlay}" = "exec mpc toggle && ${update_mpdstatus} && ${update_i3status}"; "Ctrl+${musicPlay}" = "${execns} mpc toggle && ${update_mpdstatus} && ${update_i3status}";
"Ctrl+${musicNext}" = "exec mpc next && ${update_mpdstatus} && ${update_i3status}"; "Ctrl+${musicNext}" = "${execns} mpc next && ${update_mpdstatus} && ${update_i3status}";
"Ctrl+Shift+${musicPrev}" = "exec mpc seek -3"; "Ctrl+Shift+${musicPrev}" = "${execns} mpc seek -3";
"Ctrl+Shift+${musicPlay}" = "exec mpc clear && ${update_mpdstatus} && ${update_i3status}"; "Ctrl+Shift+${musicPlay}" = "${execns} mpc clear && ${update_mpdstatus} && ${update_i3status}";
"Ctrl+Shift+${musicNext}" = "exec mpc seek +3"; "Ctrl+Shift+${musicNext}" = "${execns} mpc seek +3";
"Ctrl+Shift+${audioDown}" = ''exec mpc volume -5 && dunstify "mpc $(mpc volume)" -r 420''; "Ctrl+Shift+${audioDown}" = ''${execns} mpc volume -5 && dunstify "mpc $(mpc volume)" -r 420'';
"Ctrl+Shift+${audioUp}" = ''exec mpc volume +5 && dunstify "mpc $(mpc volume)" -r 420''; "Ctrl+Shift+${audioUp}" = ''${execns} mpc volume +5 && dunstify "mpc $(mpc volume)" -r 420'';
}); });
bars = [ bars = [
{ {
inherit fonts; inherit fonts;
trayOutput = "primary"; trayOutput = "primary";
# todo: getexe
statusCommand = "${pkgs.i3status}/bin/i3status"; statusCommand = "${pkgs.i3status}/bin/i3status";
} }
]; ];
@ -232,6 +244,7 @@ in {
general = { general = {
interval = 1; interval = 1;
colors = true; colors = true;
# todo: theme.nix?
color_good = "#91d956"; color_good = "#91d956";
color_bad = "#f43841"; color_bad = "#f43841";
color_degraded = "#ffdd33"; color_degraded = "#ffdd33";
@ -300,16 +313,21 @@ in {
]; ];
}; };
home.packages = with pkgs; [ home.packages = with pkgs; let
(pkgs.writeShellScriptBin "i3custom-center-mouse-on-focus" '' xdotool = "";
yad = "";
i3gtk = "";
i3-msg = "";
in [
(writeShellScriptBin "i3custom-center-mouse-on-focus" ''
eval $(xdotool getwindowfocus getwindowgeometry --shell) eval $(xdotool getwindowfocus getwindowgeometry --shell)
MX=$(($X + $WIDTH / 2)) MX=$(($X + $WIDTH / 2))
MY=$(($Y + $HEIGHT / 2)) MY=$(($Y + $HEIGHT / 2))
xdotool mousemove $MX $MY xdotool mousemove $MX $MY
'') '')
(pkgs.writeShellScriptBin "i3custom-window-actions" '' (writeShellScriptBin "i3custom-window-actions" ''
${pkgs.yad}/bin/yad --splash --mouse \ ${yad}/bin/yad --splash --mouse \
--title="i3 window actions" \ --title="i3 window actions" \
--gtkrc="${HOME}/.config/i3/i3gtk.css" \ --gtkrc="${HOME}/.config/i3/i3gtk.css" \
--text="i3 window actions" \ --text="i3 window actions" \
@ -322,11 +340,12 @@ in {
esac esac
'') '')
(pkgs.writeShellScriptBin "i3custom-floating-toggle" '' (writeShellScriptBin "i3custom-floating-toggle" ''
i3-msg "mark --add _; [con_mark=f] floating disable, border pixel 1, mark --add --toggle _; [con_mark=_] floating enable, border normal; mark --add --toggle f;" i3-msg "mark --add _; [con_mark=f] floating disable, border pixel 1, mark --add --toggle _; [con_mark=_] floating enable, border normal; mark --add --toggle f;"
'') '')
]; ];
# todo: remove
home.file = { home.file = {
".config/i3/i3gtk.css".source = ../../files/i3gtk.css; ".config/i3/i3gtk.css".source = ../../files/i3gtk.css;
}; };

View file

@ -25,6 +25,7 @@ in {
cut = "${pkgs.coreutils}/bin/cut"; cut = "${pkgs.coreutils}/bin/cut";
in [ in [
pkgs.mpc-cli pkgs.mpc-cli
# todo: dmenu for this if i3
(pkgs.writeShellScriptBin "mpdfdial.sh" '' (pkgs.writeShellScriptBin "mpdfdial.sh" ''
path=$(${yad} --file --directory | ${cut} -d "/" -f5-) path=$(${yad} --file --directory | ${cut} -d "/" -f5-)

View file

@ -29,12 +29,8 @@ in {
name = elemAt (splitString "@" host) 1; name = elemAt (splitString "@" host) 1;
value = { value = {
user = elemAt (splitString "@" host) 0; user = elemAt (splitString "@" host) 0;
identityFile = "~/.ssh/keys/${hostcfg.file}"; identityFile = "~/.ssh/keys/${hostcfg.file}";
setEnv = hostcfg.env or {};
setEnv = if hasAttr "env" hostcfg
then hostcfg.env
else {};
}; };
}) cfg.keys; }) cfg.keys;
}; };

View file

@ -5,7 +5,6 @@
in { in {
options.chuj.stuff.theme = { options.chuj.stuff.theme = {
enable = mkEnableOption "theme"; enable = mkEnableOption "theme";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -66,6 +66,7 @@ in {
]; ];
xdg.configFile = { xdg.configFile = {
# todo: XDG_CACHE_HOME Not found
"python/pythonrc".text = '' "python/pythonrc".text = ''
import os import os
import atexit import atexit

View file

@ -14,7 +14,9 @@ in {
xkb.layout = "pl"; xkb.layout = "pl";
# autoRepeatDelay = 180; # autoRepeatDelay = 180;
# autoRepeatInterval = 50; # autoRepeatInterval = 50;
# ^ this doesn't work # fixme: ^ this doesn't work
# todo: getexe (or fix the above
displayManager.sessionCommands = '' displayManager.sessionCommands = ''
${pkgs.xorg.xset}/bin/xset r rate 180 50 ${pkgs.xorg.xset}/bin/xset r rate 180 50
''; '';

View file

@ -9,7 +9,7 @@
flameshot = prevPkgs.flameshot.overrideAttrs (_: { patches = [ ../files/flameshot-0x0-upload.patch ]; }); flameshot = prevPkgs.flameshot.overrideAttrs (_: { patches = [ ../files/flameshot-0x0-upload.patch ]; });
schildichat-web = callPackage ./schildi/schildichat-web.nix {}; schildichat-web = callPackage ./schildi/schildichat-web.nix {};
schildichat-desktop = callPackage ./schildi/schildichat-desktop.nix {}; schildichat-desktop = callPackage ./schildi/schildichat-desktop.nix {};
vkquake_ = prevPkgs.vkquake.overrideAttrs (prev: { vkquake = prevPkgs.vkquake.overrideAttrs (prev: {
version = "1.31.1"; version = "1.31.1";
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {
inherit (prev.src) owner repo; inherit (prev.src) owner repo;
@ -17,9 +17,10 @@
sha256 = "sha256-rOzQMeSmnHZl4v0uWWqwp1yfnUqIuP18ogRn4DimKt4="; sha256 = "sha256-rOzQMeSmnHZl4v0uWWqwp1yfnUqIuP18ogRn4DimKt4=";
}; };
sourceRoot = null; sourceRoot = null;
buildInputs = prev.buildInputs ++ [ pkgs.vulkan-headers ];
nativeBuildInputs = prev.nativeBuildInputs ++ [ pkgs.glslang ]; nativeBuildInputs = prev.nativeBuildInputs ++ [ pkgs.glslang ];
buildPhase = '' buildPhase = ''
cd Quake cd ../Quake
make -j6 DO_USERDIRS=1 prefix=$out bindir=$out/bin make -j6 DO_USERDIRS=1 prefix=$out bindir=$out/bin
''; '';
}); });

View file

@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
version = "1"; version = "1";
src = fetchzip { src = fetchzip {
url = "https://gitgud.io/wackyideas/aerothemeplasma/-/raw/master/Icons%20and%20cursors/aero-drop.tar.gz?ref_type=heads&inline=false"; # todo: find out how to extract local tar file
url = "https://gitgud.io/wackyideas/aerothemeplasma/-/raw/master/misc/cursors/aero-drop.tar.gz?ref_type=heads&inline=false";
hash = "sha256-4IY6ZE/nSLJ3HGfzEp2rxBah8Z9lUNQdGncRTjv2Jtg="; hash = "sha256-4IY6ZE/nSLJ3HGfzEp2rxBah8Z9lUNQdGncRTjv2Jtg=";
}; };

View file

@ -1,3 +1,8 @@
i have a slight idea of what i'm doing i have a slight idea of what i'm doing
todo:
- remove hardcoded binary names
- investigate firefox config
- theme.nix
- all the remaining individual todos