small updates

This commit is contained in:
Daniel Bulant 2026-02-21 17:11:58 +01:00
parent 9a8b255305
commit ac9b508f71
No known key found for this signature in database
5 changed files with 248 additions and 147 deletions

View file

@ -35,7 +35,7 @@ cursor {
source = ~/.config/hypr/monitors.conf
source = ~/.config/hypr/workspaces.conf
source = ~/.config/hypr/hyprland.colors.conf
#source = ~/.config/hypr/hyprland.colors.conf
monitor=desc:ASUSTek COMPUTER INC VG27AQL5A T7LMQS022027,2560x1440@144.0,0x0,1.0,bitdepth,10
monitor=eDP-1,1920x1200@60.0,2560x0,1.0,bitdepth,10,cm,srgb
@ -102,10 +102,12 @@ exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
exec-once = fcitx5
exec-once = easyeffects --gapplication-service
exec-once = dms run
#$swaylock = swaylock --screenshots --clock --indicator --effect-blur 6x6 --fade-in 0.2 --ring-color 4e9dc2 --key-hl-color 71b0ce
$swaylock = hyprlock
exec-once=hypridle
# exec-once=hypridle
# exec-once=swayidle -w timeout 300 '$swaylock --grace 2' before-sleep '$swaylock'
# Needs repackaging...
@ -294,6 +296,15 @@ layerrule = blur on, match:namespace quickshell:sidebarRight
layerrule = blur_popups on, match:namespace quickshell:sidebarRight
layerrule = ignore_alpha .2, match:namespace quickshell:sidebarRight
layerrule {
name="blur dms"
match:namespace = dms:(color-picker|clipboard|spotlight|settings)
blur = on
ignore_alpha = 0
}
# layerrule = noanim, match:namespace ^(dms)$
blurls=gtk-layer-shell
blurls=lockscreen
blurls = rofi
@ -302,10 +313,10 @@ $dir = ~/.config
#! quickshell
bindr = SUPER+ALT, R, exec, pkill rofi || $dir/rofi/bin/launcher
# bind = SUPER, r, global, quickshell:overviewSearchToggle
bind = SUPER, r, exec, dms ipc call spotlight toggle
# bind = SUPER, r, exec, dms ipc call spotlight toggle
bind = SUPER+ALT, P, exec, pkill rofi || $dir/rofi/bin/powermenu
bind = SUPER, p, exec, dms ipc call powermenu open
bind = SUPER, tab, exec, dms ipc call hypr toggleOverview
# bind = SUPER, p, exec, dms ipc call powermenu open
# bind = SUPER, tab, exec, dms ipc call hypr toggleOverview
# bind = SUPER, p, global, quickshell:sessionToggle
# bind = SUPER, m, global, quickshell:mediaControlsToggle
# bind = SUPER, grave, global, quickshell:sidebarLeftToggle
@ -401,7 +412,7 @@ bind = ,Print,exec,hyprshot --clipboard-only --mode active --mode output
# bind = SUPER+SHIFT,S,exec,spectacle --copy-image --region --background # no gui
# bind = SUPER+SHIFT,S,exec,grim -g "$(slurp)" - | wl-copy
bind = SUPER+SHIFT,S,exec,hyprshot --freeze --clipboard-only --mode region
bind = SUPER, L,exec,$swaylock
# bind = SUPER, L,exec,$swaylock
#! move windows to workspaces
bind = $mainMod SHIFT, 1, movetoworkspace, 1
@ -469,3 +480,8 @@ decoration {
#windowrule = monitor 1,title:flameshot
#windowrule = move 0 0,title:flameshot
#windowrule = noanim,title:flameshot
#enable once dms fixes config; uses old hyprland syntax
source = ~/.config/hypr/dms/colors.conf
source = ~/.config/hypr/dms/binds.conf
source = ~/.config/hypr/dms/layout.conf

View file

@ -1,35 +1,42 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, /*hyprland,*/ options, /*hyprland-plugins, */nixpkgs-unstable, lib, nixos-hardware, zen-browser/*, kwin-effects-forceblur*/, ... }:
{
config,
pkgs,
options,
nixpkgs-unstable,
lib,
dms,
...
}:
let
unstable-pkgs = nixpkgs-unstable.legacyPackages.x86_64-linux; #import nixpkgs-unstable.nixosModules.readOnlyPkgs {};
unstable-pkgs = nixpkgs-unstable.legacyPackages.x86_64-linux; # import nixpkgs-unstable.nixosModules.readOnlyPkgs {};
# unstable-pkgs = hyprland.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in
{
imports =
[
# nixos-hardware.nixosModules.lenovo-legion-16ach6h-hybrid # this is borked in latest update for some reason, edid doesn't build
# nixos-hardware.nixosModules.common-cpu-amd
# nixos-hardware.nixosModules.common-cpu-amd-pstate
# nixos-hardware.nixosModules.common-cpu-amd-zenpower
# nixos-hardware.nixosModules.common-gpu-amd
# nixos-hardware.nixosModules.common-gpu-nvidia
# nixos-hardware.nixosModules.common-pc-laptop
# nixos-hardware.nixosModules.common-pc-laptop-ssd
./hardware-configuration.nix
# /etc/nixos/cachix.nix
];
# nyx.low-power.enable = true;
imports = [
# nixos-hardware.nixosModules.lenovo-legion-16ach6h-hybrid # this is borked in latest update for some reason, edid doesn't build
# nixos-hardware.nixosModules.common-cpu-amd
# nixos-hardware.nixosModules.common-cpu-amd-pstate
# nixos-hardware.nixosModules.common-cpu-amd-zenpower
# nixos-hardware.nixosModules.common-gpu-amd
# nixos-hardware.nixosModules.common-gpu-nvidia
# nixos-hardware.nixosModules.common-pc-laptop
# nixos-hardware.nixosModules.common-pc-laptop-ssd
./hardware-configuration.nix
dms.nixosModules.greeter
# /etc/nixos/cachix.nix
];
# nyx.low-power.enable = true;
hardware.nvidia.dynamicBoost.enable = lib.mkForce false;
nixpkgs.config.permittedInsecurePackages = [
"olm-3.2.16"
"cinny-unwrapped-4.2.3"
"cinny-4.2.3"
"libsoup-2.74.3"
"libsoup-2.74.3"
# "qbittorrent-4.6.4"
# "cinny-3.2.0"
"dotnet-sdk-wrapped-7.0.410"
@ -40,7 +47,6 @@ in
"electron-33.4.11"
];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.supportedFilesystems = [ "ntfs" ];
@ -76,10 +82,13 @@ in
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# networking.nameservers = ["1.1.1.1"];
services.dnsmasq.settings.server = [ "100.100.100.100" "127.0.0.1#5053" ];
services.dnsmasq.settings.server = [
"100.100.100.100"
"127.0.0.1#5053"
];
networking.networkmanager.enable = true;
networking.networkmanager.plugins = with pkgs; [networkmanager-openconnect];
networking.networkmanager.plugins = with pkgs; [ networkmanager-openconnect ];
networking.networkmanager.dns = "none";
services.dnscrypt-proxy = {
@ -95,9 +104,9 @@ in
cache_file = "/var/lib/dnscrypt-proxy/public-resolvers.md";
};
listen_addresses = ["127.0.0.1:5053"];
listen_addresses = [ "127.0.0.1:5053" ];
ipv6_servers = false;
block_ipv6 = ! (false);
block_ipv6 = !(false);
require_dnssec = true;
require_nolog = false;
@ -125,9 +134,9 @@ in
services.dnsmasq.enable = true;
services.displayManager.sddm.enable = true;
services.displayManager.sddm.wayland.enable = true;
services.desktopManager.plasma6 = {
enable = true;
};
services.desktopManager.plasma6 = {
enable = true;
};
# services.desktopManager.gnome.enable = true;
services.xserver = {
enable = false;
@ -148,12 +157,14 @@ in
alsa.support32Bit = true;
pulse.enable = true;
};
security.pam.loginLimits = [{
domain = "*";
type = "soft";
item = "nofile";
value = "64000";
}];
security.pam.loginLimits = [
{
domain = "*";
type = "soft";
item = "nofile";
value = "64000";
}
];
services.geoclue2.enable = true;
services.localtimed.enable = true;
services.lorri.enable = true;
@ -171,14 +182,32 @@ in
users.users.dan = {
isNormalUser = true;
description = "John";
extraGroups = [ "networkmanager" "wheel" "docker" "fuse" "video" "wireshark" "gamemode" "scanner" "lp" "kvm" "adbusers" "dialout"];
description = "Dan";
extraGroups = [
"i2c"
"networkmanager"
"wheel"
"docker"
"fuse"
"video"
"wireshark"
"gamemode"
"scanner"
"lp"
"kvm"
"adbusers"
"dialout"
];
shell = pkgs.fish;
packages = with pkgs; [
kdePackages.kate
];
};
nix.settings.trusted-users = [ "root" "@wheel" "dan" ];
nix.settings.trusted-users = [
"root"
"@wheel"
"dan"
];
# Other defaults are set in home.nix
# environment.sessionVariables.DEFAULT_BROWSER = "firefox";
@ -200,11 +229,11 @@ in
"cache.flakehub.com-3:hJuILl5sVK4iKm86JzgdXW12Y2Hwd5G07qKtHTOcDCM="
];
};
# Comment out below for the first time to avoid cache miss, if using flake
programs.hyprland = {
enable = true;
# package = hyprland.packages.${pkgs.system}.hyprland;
# package = hyprland.packages.${pkgs.system}.hyprland;
# portalPackage = hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland.override
# {
# inherit (pkgs) mesa;
@ -213,9 +242,16 @@ in
# package = unstable-pkgs.hyprland;
};
# End comment out
#
programs.dank-material-shell.greeter = {
enable = true;
compositor.name = "hyprland"; # Or "hyprland" or "sway"
configHome = "/home/dan";
};
#xdg.configFile."menus/applications.menu".text = builtins.readFile ./applications.menu;
environment.etc."/xdg/menus/plasma-applications.menu".text = builtins.readFile "${pkgs.kdePackages.plasma-workspace}/etc/xdg/menus/plasma-applications.menu";
environment.etc."/xdg/menus/plasma-applications.menu".text =
builtins.readFile "${pkgs.kdePackages.plasma-workspace}/etc/xdg/menus/plasma-applications.menu";
# programs.hyprland.enable = true;
programs.hyprlock.enable = true;
@ -225,14 +261,17 @@ in
# Fix dynamic binaries from outside of nix
programs.nix-ld = {
enable = true;
libraries = options.programs.nix-ld.libraries.default ++ (with pkgs; [
libdrm
mesa
libxkbcommon
openssl
libGL libva
libelf
]);
libraries =
options.programs.nix-ld.libraries.default
++ (with pkgs; [
libdrm
mesa
libxkbcommon
openssl
libGL
libva
libelf
]);
};
services.openssh.enable = true;
services.tailscale = {
@ -245,7 +284,7 @@ in
virtualisation.docker = {
enable = true;
enableOnBoot = false;
# enableNvidia = true;
# enableNvidia = true;
};
# hardware.nvidia-container-toolkit.enable = true;
services.avahi.enable = true;
@ -263,26 +302,26 @@ in
# Visuals
plymouth = {
enable = false;
theme = "deus_ex"; # motion is also cool
themePackages = with pkgs; [
(adi1090x-plymouth-themes.override {
selected_themes = [ "deus_ex" ];
})
];
enable = false;
theme = "deus_ex"; # motion is also cool
themePackages = with pkgs; [
(adi1090x-plymouth-themes.override {
selected_themes = [ "deus_ex" ];
})
];
};
kernelParams = [
# attempt to fix nvidia perf
#"nvidia_drm.fbdev=1" "nvidia_drm.modeset=1" "module_blacklist=i915"
"delayacct"
"initcall_blacklist=sysfb_init"
#"quiet"
#"splash"
"boot.shell_on_fail"
"loglevel=3"
"rd.systemd.show_status=false"
"rd.udev.log_level=3"
"udev.log_priority=3"
# attempt to fix nvidia perf
#"nvidia_drm.fbdev=1" "nvidia_drm.modeset=1" "module_blacklist=i915"
"delayacct"
"initcall_blacklist=sysfb_init"
#"quiet"
#"splash"
"boot.shell_on_fail"
"loglevel=3"
"rd.systemd.show_status=false"
"rd.udev.log_level=3"
"udev.log_priority=3"
];
# Removing support for unneeded stuff
@ -315,13 +354,12 @@ in
environment.systemPackages = with pkgs; [
git
# nvtopPackages.full
# nvtopPackages.full
btop
lshw
hyprpolkitagent
# lenovo-legion
# lenovo-legion
# required for quickshell config; needs to be here for them to be included in import/plugin path
kdePackages.qt5compat
@ -338,77 +376,82 @@ in
libsForQt5.kirigami2
kdePackages.syntax-highlighting
(python313.withPackages(ps: with ps; [
build
pillow
cffi
libsass
material-color-utilities
materialyoucolor
numpy
packaging
pillow
psutil
pycparser
pyproject-hooks
pywayland
setproctitle
setuptools
setuptools-scm
wheel
(python313.withPackages (
ps: with ps; [
build
pillow
cffi
libsass
material-color-utilities
materialyoucolor
numpy
packaging
pillow
psutil
pycparser
pyproject-hooks
pywayland
setproctitle
setuptools
setuptools-scm
wheel
pwntools
]))
pwntools
]
))
];
environment.variables = let
qtVersions = with pkgs; [
qt5
qt6
];
in
{
QT_PLUGIN_PATH = map (qt: "/${qt.qtbase.qtPluginPrefix}") qtVersions;
QML2_IMPORT_PATH = map (qt: "/${qt.qtbase.qtQmlPrefix}") qtVersions ++ (with unstable-pkgs; [
environment.variables =
let
qtVersions = with pkgs; [
qt5
qt6
];
in
{
QT_PLUGIN_PATH = map (qt: "/${qt.qtbase.qtPluginPrefix}") qtVersions;
QML2_IMPORT_PATH =
map (qt: "/${qt.qtbase.qtQmlPrefix}") qtVersions
++ (with unstable-pkgs; [
"${quickshell}/lib/qt-6/qml/"
]);
};
};
nixpkgs.config.allowUnfree = true;
nixpkgs.config.cudaSupport = true;
# The nvidia fun part
hardware.graphics = {
hardware.graphics = {
enable = true;
# package = unstable-pkgs.mesa.drivers;
# Steam support
enable32Bit = true;
# package32 = unstable-pkgs.pkgsi686Linux.mesa.drivers;
extraPackages = with pkgs; [
# Required for modern Intel GPUs (Xe iGPU and ARC)
intel-media-driver # VA-API (iHD) userspace
vpl-gpu-rt # oneVPL (QSV) runtime
intel-media-driver # VA-API (iHD) userspace
vpl-gpu-rt # oneVPL (QSV) runtime
# Optional (compute / tooling):
intel-compute-runtime # OpenCL (NEO) + Level Zero for Arc/Xe
# libvdpau-va-gl
# nvidia-vaapi-driver
intel-compute-runtime # OpenCL (NEO) + Level Zero for Arc/Xe
# libvdpau-va-gl
# nvidia-vaapi-driver
];
};
environment.sessionVariables = {
LIBVA_DRIVER_NAME = "iHD";
};
hardware.enableRedistributableFirmware = true;
LIBVA_DRIVER_NAME = "iHD";
};
hardware.enableRedistributableFirmware = true;
#boot.kernelModules = ["amdgpu" "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" "lenovo-legion-module"];
#hardware.nvidia = {
# open = false;
# modesetting.enable = true;
# powerManagement.enable = true;
# nvidiaSettings = true;
# modesetting.enable = true;
# powerManagement.enable = true;
# nvidiaSettings = true;
# prime = {
# hardware specific, beware!
# hardware specific, beware!
# amdgpuBusId = lib.mkForce "PCI:06:00:0";
# nvidiaBusId = lib.mkForce "PCI:01:00:0";
# };
@ -417,12 +460,14 @@ in
services.cpupower-gui.enable = true;
services.upower.enable = true;
services.power-profiles-daemon.enable = false;
services.tlp = {
enable = true;
# USB_DENYLIST = "04d9:a0b8";
};
# powerManagement.powertop.enable = true;
# powerManagement.cpuFreqGovernor = "powersave";
# services.tlp = {
# enable = true;
# USB_DENYLIST = "04d9:a0b8";
# };
powerManagement.enable = true;
powerManagement.powertop.enable = true;
powerManagement.cpuFreqGovernor = "schedutil";
services.thermald.enable = true;
security.polkit.enable = true;
@ -446,14 +491,15 @@ in
networking.firewall.allowedUDPPorts = [
5353 # Google cast discovery
42000 # warpinator
42001 # warpinator
67 68 # dhcp
42001 # warpinator
67
68 # dhcp
1716 # kdeconnect
];
# Or disable the firewall altogether.
networking.firewall.enable = false;
hardware.wooting.enable = true;
services.syncthing = {
enable = true;
openDefaultPorts = true;
@ -461,7 +507,6 @@ in
services.lldpd.enable = true;
systemd.services.syncthing.environment.STNODEFAULTFOLDER = "true";
# 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
@ -470,9 +515,11 @@ in
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "25.11"; # Did you read the comment?
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
# /etc/hosts :)
networking.extraHosts = ''
'';
networking.extraHosts = "";
}

View file

@ -78,6 +78,26 @@
"type": "github"
}
},
"danksearch": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1771177088,
"narHash": "sha256-n6e4e0iHNwtdGOlkJlDR9lbFhYalLMuqeQ3jDfp1CaA=",
"owner": "AvengeMedia",
"repo": "danksearch",
"rev": "3b3b79514acf349c166ae53db2225470a28be9e6",
"type": "github"
},
"original": {
"owner": "AvengeMedia",
"repo": "danksearch",
"type": "github"
}
},
"determinate": {
"inputs": {
"determinate-nixd-aarch64-darwin": "determinate-nixd-aarch64-darwin",
@ -143,11 +163,11 @@
"quickshell": "quickshell"
},
"locked": {
"lastModified": 1768575133,
"narHash": "sha256-P//moH3z9r4PXirTzXVsccQINsK5AIlF9RWOBwK3vLc=",
"lastModified": 1771347696,
"narHash": "sha256-O9NIJqfuSjwY//7OyFH3FqxRHe5M0vmmsXcryOi/bAE=",
"owner": "AvengeMedia",
"repo": "DankMaterialShell",
"rev": "a7cdb39b0b89b9af86160ad4e847a7d14ea44512",
"rev": "dd4c41a6b2d90f3238f543d1cc54f5f062d685a6",
"type": "github"
},
"original": {
@ -1201,6 +1221,7 @@
"inputs": {
"colmena": "colmena",
"copyparty": "copyparty",
"danksearch": "danksearch",
"determinate": "determinate",
"dms": "dms",
"dolphin-overlay": "dolphin-overlay",

View file

@ -4,6 +4,10 @@
url = "github:AvengeMedia/DankMaterialShell/stable";
inputs.nixpkgs.follows = "nixpkgs";
};
danksearch = {
url = "github:AvengeMedia/danksearch";
inputs.nixpkgs.follows = "nixpkgs";
};
niri = {
url = "github:sodiboo/niri-flake";
inputs.nixpkgs.follows = "nixpkgs";

View file

@ -7,6 +7,7 @@
nixpkgs-unstable, # suyu,
hyprland-plugins, # , hyprland
pkgs,
danksearch,
niri,
inputs,
...
@ -19,12 +20,13 @@ let
allowUnfree = true;
};
};
# system = stdenv.hostPlatform.system;
in
{
imports = [
zen-browser.homeModules.beta
dms.homeModules.dank-material-shell
danksearch.homeModules.default
# niri.homeManagerModules.default
# dms.homeModules.niri
];
@ -32,7 +34,17 @@ in
stateVersion = "25.11";
packages = with pkgs; [
bun
lenovo-legion
itch
filezilla
nicotine-plus
protonvpn-gui
dgop
mysql-workbench
i2c-tools
kdePackages.kimageformats
power-profiles-daemon
tail-tray
steam
helium
@ -43,7 +55,7 @@ in
samply
font-awesome
arduino-ide
xorg.libxkbfile
libxkbfile
# dioxus-cli
cosmic-files
@ -233,7 +245,7 @@ in
inxi
numbat
wireshark
nixfmt-rfc-style
nixfmt
qpwgraph
nixpkgs-unstable.legacyPackages.${system}.zed-editor
@ -315,9 +327,10 @@ in
# hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprtrails
# ];
};
programs.dsearch.enable = true;
programs.dank-material-shell = {
enable = true;
systemd.enable = true;
systemd.enable = false;
# niri = {
# enableKeybinds = false; # Sets static preset keybinds
# # enableSpawn = true; # Auto-start DMS with niri, if enabled
@ -380,23 +393,23 @@ in
# ];
};
difftastic.enable = true;
difftastic.git.enable = true;
git = {
enable = true;
userName = "Daniel Bulant";
userEmail = "danbulant@gmail.com";
difftastic.enable = true;
signing = {
signByDefault = true;
key = "/home/dan/.ssh/id_ed25519";
};
extraConfig = {
settings = {
user.name = "Daniel Bulant";
user.email = "danbulant@gmail.com";
pull.rebase = false;
pull.ff = "only";
gpg.format = "ssh";
commit.gpgsign = true;
gpg.ssh.allowedSignersFile = "/home/dan/allowed_signers";
};
signing = {
signByDefault = true;
key = "/home/dan/.ssh/id_ed25519";
};
};
gitui.enable = true;
btop.enable = true;