Compare commits

..

5 commits

Author SHA1 Message Date
2198ddb21e tweak: kitty settings 2026-01-04 12:18:29 +02:00
b0a50c07dd minor tweaks 2026-01-04 01:06:14 +02:00
9b893a22ee feat: plymouth 2026-01-04 00:57:04 +02:00
e248cac97e fix: typo 2026-01-04 00:34:58 +02:00
0565c7aabf fix: flake update fixes 2026-01-04 00:33:27 +02:00
8 changed files with 161 additions and 33 deletions

View file

@ -286,6 +286,7 @@ bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous bindl = , XF86AudioPrev, exec, playerctl previous
############################## ##############################
### WINDOWS AND WORKSPACES ### ### WINDOWS AND WORKSPACES ###
############################## ##############################
@ -293,11 +294,35 @@ bindl = , XF86AudioPrev, exec, playerctl previous
# See https://wiki.hypr.land/Configuring/Window-Rules/ for more # See https://wiki.hypr.land/Configuring/Window-Rules/ for more
# See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules # See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules
# Example windowrule # Example windowrules that are useful
# windowrule = float,class:^(kitty)$,title:^(kitty)$
# Ignore maximize requests from apps. You'll probably like this. windowrule {
windowrule = suppressevent maximize, class:.* # Ignore maximize requests from all apps. You'll probably like this.
name = suppress-maximize-events
match:class = .*
# Fix some dragging issues with XWayland suppress_event = maximize
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 }
windowrule {
# Fix some dragging issues with XWayland
name = fix-xwayland-drags
match:class = ^$
match:title = ^$
match:xwayland = true
match:float = true
match:fullscreen = false
match:pin = false
no_focus = true
}
# Hyprland-run windowrule
windowrule {
name = move-hyprland-run
match:class = hyprland-run
move = 20 monitor_h-120
float = yes
}

View file

@ -1,2 +1,7 @@
preload = /home/xory/wallpaper.png preload = /home/xory/wallpaper.png
wallpaper = ,/home/xory/wallpaper.png wallpaper = ,/home/xory/wallpaper.png
wallpaper {
monitor = eDP-2
path = ~/wallpaper.png
}

View file

@ -11,12 +11,6 @@ profile {
gamma = 0.8 gamma = 0.8
} }
profile {
time = 24:00
temperature = 1500
gamma = 0.7
}
profile { profile {
time = 6:00 time = 6:00
identity = true identity = true

View file

@ -84,10 +84,9 @@ cmp.setup({
local capabilities = require("cmp_nvim_lsp").default_capabilities() local capabilities = require("cmp_nvim_lsp").default_capabilities()
local lspconfig = require('lspconfig') vim.lsp.enable("rust_analyzer")
local servers = { "rust_analyzer", "pylsp", "biome", "eslint", "ccls" } vim.lsp.enable("pylsp")
for _, lsp in ipairs(servers) do vim.lsp.enable("biome")
lspconfig[lsp].setup({ vim.lsp.enable("eslint")
capabilities = capabilities, vim.lsp.enable("ccls")
})
end

View file

@ -12,6 +12,16 @@
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
boot.supportedFilesystems = [ "zfs "]; boot.supportedFilesystems = [ "zfs "];
boot.kernelParams = [
"quiet"
"splash" # plymouth stuff
"udev.log_priority=3"
"rd.systemd.show_status=auto"
"boot.shell_on_fail" # good because we're using quiet mode
"net.ifnames=0" # personal opinion
];
boot.kernel.sysctl."kernel.sysrq" = 1; # mostly for REISUB
boot.initrd.systemd.services.rollback = { boot.initrd.systemd.services.rollback = {
description = "Rollback ZFS root"; description = "Rollback ZFS root";
wantedBy = [ "initrd.target" ]; wantedBy = [ "initrd.target" ];
@ -25,6 +35,22 @@
}; };
boot.kernelPackages = pkgs.linuxPackages; boot.kernelPackages = pkgs.linuxPackages;
# Plymouth
boot.plymouth = {
enable = true;
theme = "square";
themePackages = with pkgs; [
(adi1090x-plymouth-themes.override {
selected_themes = [ "square" ];
})
];
};
# Silent boot for Plymouth
boot.consoleLogLevel = 3;
boot.initrd.verbose = false;
environment.persistence."/persist" = { environment.persistence."/persist" = {
enable = true; enable = true;
hideMounts = true; hideMounts = true;
@ -36,6 +62,7 @@
"/var/lib/ollama-models" "/var/lib/ollama-models"
"/var/lib/flatpak" "/var/lib/flatpak"
"/var/lib/tailscale" "/var/lib/tailscale"
"/var/lib/syncthing"
"/etc/NetworkManager/system-connections" "/etc/NetworkManager/system-connections"
"/etc/ssh" "/etc/ssh"
]; ];

53
flake.lock generated
View file

@ -102,6 +102,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": {
"locked": {
"lastModified": 1766651565,
"narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"disko": "disko", "disko": "disko",
@ -109,7 +125,42 @@
"impermanence": "impermanence", "impermanence": "impermanence",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable",
"spicetify-nix": "spicetify-nix"
}
},
"spicetify-nix": {
"inputs": {
"nixpkgs": "nixpkgs_2",
"systems": "systems"
},
"locked": {
"lastModified": 1767195736,
"narHash": "sha256-0xvPSbhIGeJzsJXNTkgJ3PjwdVItKm85wzYKA9NmSzI=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "465adc0ab6ff0c4b9b1db1c6e7fd7eeb553b3261",
"type": "github"
},
"original": {
"owner": "Gerg-L",
"repo": "spicetify-nix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
} }
} }
}, },

View file

@ -14,6 +14,8 @@
home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.inputs.nixpkgs.follows = "nixpkgs";
impermanence.url = "github:nix-community/impermanence"; impermanence.url = "github:nix-community/impermanence";
spicetify-nix.url = "github:Gerg-L/spicetify-nix";
}; };
outputs = outputs =

View file

@ -1,5 +1,7 @@
{ config, pkgs, inputs, ... }: { config, pkgs, inputs, ... }:
{ {
imports = [ inputs.spicetify-nix.homeManagerModules.default ];
home.username = "xory"; home.username = "xory";
home.homeDirectory = "/home/xory"; home.homeDirectory = "/home/xory";
@ -89,6 +91,7 @@
enableCompletion = true; enableCompletion = true;
shellAliases = { shellAliases = {
"rebuild" = "sudo nixos-rebuild switch --flake ~/dots"; "rebuild" = "sudo nixos-rebuild switch --flake ~/dots";
"spotify" = "${pkgs.firejail}/bin/firejail ${config.programs.spicetify.spicedSpotify}/bin/spotify";
}; };
syntaxHighlighting.enable = true; syntaxHighlighting.enable = true;
}; };
@ -101,21 +104,43 @@
name = "Inconsolata Nerd Font"; name = "Inconsolata Nerd Font";
package = pkgs.nerd-fonts.inconsolata; package = pkgs.nerd-fonts.inconsolata;
}; };
settings.background_opacity = 0.8; settings.background_opacity = 0.95;
settings.window_padding_width = 5;
}; };
# TODO: Fix up Neovim programs.spicetify =
# programs.vscode = { let
# enable = true; spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system};
# extensions = with pkgs.vscode-extensions; [ in
# catppuccin.catppuccin-vsc {
# catppuccin.catppuccin-vsc-icons enable = true;
# dbaeumer.vscode-eslint
# rust-lang.rust-analyzer theme = spicePkgs.themes.catppuccin;
# ms-python.python colorScheme = "mocha";
# biomejs.biome
# ]; enabledExtensions = with spicePkgs.extensions; [
# }; hidePodcasts
shuffle
betterGenres
beautifulLyrics
];
enabledCustomApps = with spicePkgs.apps; [
newReleases
ncsVisualizer
];
};
# firejail
xdg.desktopEntries.spotify = {
name = "Spotify";
genericName = "Music Player";
icon = "spotify-client";
exec = "${pkgs.firejail}/bin/firejail ${config.programs.spicetify.spicedSpotify}/bin/spotify %U";
terminal = false;
categories = [ "Audio" "Music" "Player" "AudioVideo" ];
mimeType = [ "x-scheme-handler/spotify" ];
};
wayland.windowManager.hyprland.enable = true; wayland.windowManager.hyprland.enable = true;
programs.waybar.enable = true; programs.waybar.enable = true;