stuff for sure
This commit is contained in:
@@ -1,17 +1,15 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
outputs,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{ lib, pkgs, ... }:
|
||||
let
|
||||
configLimit = 5;
|
||||
default = "@saved";
|
||||
kernel = pkgs.linuxPackages_latest;
|
||||
in
|
||||
{
|
||||
# Configure bootloader with lanzaboot and secureboot
|
||||
boot = {
|
||||
loader = {
|
||||
systemd-boot = {
|
||||
enable = false;
|
||||
configurationLimit = 2;
|
||||
enable = lib.mkForce false;
|
||||
};
|
||||
|
||||
efi = {
|
||||
@@ -24,14 +22,13 @@
|
||||
enable = true;
|
||||
pkiBundle = "/etc/secureboot";
|
||||
settings = {
|
||||
default = "@saved";
|
||||
default = default;
|
||||
console-mode = "max";
|
||||
};
|
||||
configurationLimit = 5;
|
||||
configurationLimit = configLimit;
|
||||
};
|
||||
|
||||
# Override kernel to latest
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
kernelPackages = kernel;
|
||||
|
||||
kernelParams = [
|
||||
"quiet"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
{
|
||||
config,
|
||||
outputs,
|
||||
# outputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
@@ -35,28 +35,15 @@ in
|
||||
./filesystems.nix
|
||||
./sops.nix
|
||||
../default.nix
|
||||
|
||||
# specialisations
|
||||
./cosmic
|
||||
./hyprland
|
||||
./gnome
|
||||
];
|
||||
|
||||
specialisation = {
|
||||
apps.discover-wrapped.enable = lib.mkDefault false;
|
||||
|
||||
cosmic.configuration = {
|
||||
services = {
|
||||
desktopManager.cosmic.enable = true;
|
||||
displayManager.cosmic-greeter.enable = true;
|
||||
|
||||
# disable plasma
|
||||
displayManager.sddm.enable = false;
|
||||
desktopManager.plasma6.enable = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
apps.discover-wrapped.enable = false;
|
||||
|
||||
nix.settings.trusted-users = [ "root" "matt" ];
|
||||
nix.settings.trusted-users = lib.mkDefault [ "root" user ];
|
||||
|
||||
services = {
|
||||
# Enable Desktop Environment.
|
||||
@@ -76,8 +63,8 @@ in
|
||||
# xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-kde ];
|
||||
|
||||
share.hardware.amd = {
|
||||
enable = true;
|
||||
lact.enable = true;
|
||||
enable = lib.mkDefault true;
|
||||
lact.enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
share.gaming.enable = true;
|
||||
@@ -86,14 +73,14 @@ in
|
||||
services = {
|
||||
# Enable the X11 windowing system.
|
||||
xserver = {
|
||||
enable = true;
|
||||
enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
# enable auto discovery of printers
|
||||
avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
enable = lib.mkDefault true;
|
||||
nssmdns4 = lib.mkDefault true;
|
||||
openFirewall = lib.mkDefault true;
|
||||
};
|
||||
|
||||
borgbackup.jobs.home-matt = {
|
||||
@@ -111,8 +98,8 @@ in
|
||||
};
|
||||
|
||||
btrfs = {
|
||||
autoScrub.enable = true;
|
||||
autoScrub.fileSystems = [
|
||||
autoScrub.enable = lib.mkDefault true;
|
||||
autoScrub.fileSystems = lib.mkDefault [
|
||||
"/nix"
|
||||
"/root"
|
||||
"/etc"
|
||||
@@ -121,12 +108,13 @@ in
|
||||
];
|
||||
};
|
||||
|
||||
ratbagd.enable = true;
|
||||
ratbagd.enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
systemd = {
|
||||
services = {
|
||||
fix-wifi = {
|
||||
enable = lib.mkDefault true;
|
||||
path = [
|
||||
pkgs.bash
|
||||
pkgs.networkmanager
|
||||
@@ -143,6 +131,7 @@ in
|
||||
|
||||
user.services = {
|
||||
rclone-home-proton = {
|
||||
enable = lib.mkDefault true;
|
||||
path = [ pkgs.bash pkgs.rclone ];
|
||||
script = ''
|
||||
rclone sync /home/matt proton-drive:backup-nix --exclude '/home/matt/Games/**' --exclude '/home/matt/1TB/**' --exclude '/home/matt/Downloads/**'
|
||||
@@ -150,6 +139,7 @@ in
|
||||
};
|
||||
|
||||
rsync-home = {
|
||||
enable = lib.mkDefault true;
|
||||
path = [ pkgs.bash pkgs.rsync pkgs.openssh ];
|
||||
script = ''
|
||||
rsync -rtpogvPlHzs --ignore-existing --exclude={'/home/matt/Games', '/home/matt/1TB', '/home/matt/Downloads/*', '/home/matt/.cache'} -e ssh /home/matt admin@10.0.1.18:/media/nas/main/backup/desktop-nix/home
|
||||
@@ -163,19 +153,19 @@ in
|
||||
hostName = hostname;
|
||||
|
||||
# Enable Network Manager
|
||||
networkmanager.enable = true;
|
||||
networkmanager.wifi.powersave = false;
|
||||
networkmanager.settings.connectivity.uri = "http://nmcheck.gnome.org/check_network_status.txt";
|
||||
networkmanager.enable = lib.mkDefault true;
|
||||
networkmanager.wifi.powersave = lib.mkDefault false;
|
||||
networkmanager.settings.connectivity.uri = lib.mkDefault "http://nmcheck.gnome.org/check_network_status.txt";
|
||||
};
|
||||
|
||||
# Time config
|
||||
time = {
|
||||
hardwareClockInLocalTime = false;
|
||||
hardwareClockInLocalTime = lib.mkDefault false;
|
||||
};
|
||||
|
||||
virtualisation.libvirtd.enable = true;
|
||||
virtualisation.libvirtd.enable = lib.mkDefault true;
|
||||
|
||||
programs.gamemode.enable = true;
|
||||
programs.gamemode.enable = lib.mkDefault true;
|
||||
|
||||
# Configure environment
|
||||
environment = {
|
||||
@@ -217,7 +207,7 @@ in
|
||||
wineWowPackages.waylandFull
|
||||
];
|
||||
|
||||
sessionVariables = {
|
||||
sessionVariables = lib.mkDefault {
|
||||
STEAM_FORCE_DESKTOPUI_SCALING = "1";
|
||||
};
|
||||
|
||||
@@ -230,7 +220,7 @@ in
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users."${user}" = {
|
||||
isNormalUser = true;
|
||||
isNormalUser = lib.mkDefault true;
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"networkmanager"
|
||||
|
||||
13
hosts/desktop/cosmic/default.nix
Normal file
13
hosts/desktop/cosmic/default.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
specialisation.cosmic.configuration = {
|
||||
services = {
|
||||
desktopManager.cosmic.enable = true;
|
||||
displayManager.cosmic-greeter.enable = true;
|
||||
|
||||
# disable plasma
|
||||
displayManager.sddm.enable = false;
|
||||
desktopManager.plasma6.enable = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -2,11 +2,11 @@
|
||||
let
|
||||
shellAliases = {
|
||||
ll = "ls -alh";
|
||||
update = "sudo nixos-rebuild switch --max-jobs 10";
|
||||
update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.18";
|
||||
update-switch = "sudo nixos-rebuild switch --max-jobs 10 --build-host admin@10.0.1.18";
|
||||
update-flake = "sudo nix flake update ~/nix-config";
|
||||
update-specialisation = "sudo nixos-rebuild switch --specialisation --max-jobs 10";
|
||||
nas-update = "nixos-rebuild switch --use-remote-sudo --target-host admin@10.0.1.18 --build-host localhost --flake ~/nix-config#jallen-nas";
|
||||
nas-ssh = "ssh admin@10.0.1.18";
|
||||
update-nas = "nixos-rebuild switch --use-remote-sudo --target-host admin@10.0.1.18 --build-host admin@10.0.1.18 --flake ~/nix-config#jallen-nas";
|
||||
nas-ssh = "kitten ssh admin@10.0.1.18";
|
||||
};
|
||||
|
||||
gitAliases = {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
programs.btop = {
|
||||
enable = true;
|
||||
settings = {
|
||||
color_theme = "~/.config/btop/themes/catppuccin_macchiato.theme";
|
||||
color_theme = "/home/matt/.config/btop/themes/catppuccin_macchiato.theme";
|
||||
theme_background = true;
|
||||
truecolor = true;
|
||||
force_tty = false;
|
||||
|
||||
@@ -5,7 +5,13 @@
|
||||
systemd.enable = true;
|
||||
|
||||
settings = {
|
||||
"$mainMod" = "SUPER";
|
||||
"$mod" = "SUPER";
|
||||
|
||||
# Mouse
|
||||
# mouse_[up|down] - scroll wheel
|
||||
# middle_mouse - 274
|
||||
# thumb_up - 276
|
||||
# thumb_down - 275
|
||||
|
||||
# l -> locked, will also work when an input inhibitor (e.g. a lockscreen) is active.
|
||||
# r -> release, will trigger on release of a key.
|
||||
@@ -18,66 +24,71 @@
|
||||
# d -> has description, will allow you to write a description for your bind.
|
||||
# p -> bypasses the app's requests to inhibit keybinds.
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Binds/
|
||||
# https://wiki.hyprland.org/Configuring/Binds/#mouse-buttons
|
||||
|
||||
bind = [
|
||||
"$mainMod, Return, exec, kitty"
|
||||
"$mainMod, Q, killactive, "
|
||||
"$mainMod, M, exec, wlogout --protocol layer-shell"
|
||||
"$mainMod, E, exec, nautilus"
|
||||
"$mainMod, V, togglefloating, "
|
||||
"$mainMod, D, exec, wofi --show drun"
|
||||
"$mainMod, P, pseudo, "# dwindle
|
||||
"$mainMod, S, togglesplit, "# dwindle
|
||||
"$mainMod SHIFT, Q, exec, hyprlock"
|
||||
"$mod, Return, exec, kitty"
|
||||
"$mod, Q, killactive, "
|
||||
"$mod, mouse:274, killactive, "
|
||||
"$mod, M, exec, wlogout --protocol layer-shell"
|
||||
"$mod, E, exec, nautilus"
|
||||
"$mod, V, togglefloating, "
|
||||
"$mod, D, exec, wofi --show drun"
|
||||
"$mod, P, pseudo, "# dwindle
|
||||
"$mod, S, togglesplit, "# dwindle
|
||||
"$mod SHIFT, Q, exec, hyprlock"
|
||||
", PRINT, exec, hyprshot -m region --clipboard-only"
|
||||
"$mod,F,exec,hyprctl dispatch fullscreen active"
|
||||
|
||||
# alt-tab between workspaces on active monitor
|
||||
"ALT, Tab, workspace, m+1"
|
||||
"ALT SHIFT, Tab, workspace, m-1"
|
||||
|
||||
"$mainMod, h, movefocus, l"
|
||||
"$mainMod, l, movefocus, r"
|
||||
"$mainMod, k, movefocus, u"
|
||||
"$mainMod, j, movefocus, d"
|
||||
"$mod, h, movefocus, l"
|
||||
"$mod, l, movefocus, r"
|
||||
"$mod, k, movefocus, u"
|
||||
"$mod, j, movefocus, d"
|
||||
|
||||
"$mainMod, 1, workspace, 1"
|
||||
"$mainMod, 2, workspace, 2"
|
||||
"$mainMod, 3, workspace, 3"
|
||||
"$mainMod, 4, workspace, 4"
|
||||
"$mainMod, 5, workspace, 5"
|
||||
"$mainMod, 6, workspace, 6"
|
||||
"$mainMod, 7, workspace, 7"
|
||||
"$mainMod, 8, workspace, 8"
|
||||
"$mainMod, 9, workspace, 9"
|
||||
"$mainMod, 0, workspace, 10"
|
||||
"$mod, 1, workspace, 1"
|
||||
"$mod, 2, workspace, 2"
|
||||
"$mod, 3, workspace, 3"
|
||||
"$mod, 4, workspace, 4"
|
||||
"$mod, 5, workspace, 5"
|
||||
"$mod, 6, workspace, 6"
|
||||
"$mod, 7, workspace, 7"
|
||||
"$mod, 8, workspace, 8"
|
||||
"$mod, 9, workspace, 9"
|
||||
"$mod, 0, workspace, 10"
|
||||
|
||||
"$mainMod SHIFT, 1, movetoworkspace, 1"
|
||||
"$mainMod SHIFT, 2, movetoworkspace, 2"
|
||||
"$mainMod SHIFT, 3, movetoworkspace, 3"
|
||||
"$mainMod SHIFT, 4, movetoworkspace, 4"
|
||||
"$mainMod SHIFT, 5, movetoworkspace, 5"
|
||||
"$mainMod SHIFT, 6, movetoworkspace, 6"
|
||||
"$mainMod SHIFT, 7, movetoworkspace, 7"
|
||||
"$mainMod SHIFT, 8, movetoworkspace, 8"
|
||||
"$mainMod SHIFT, 9, movetoworkspace, 9"
|
||||
"$mainMod SHIFT, 0, movetoworkspace, 10"
|
||||
"$mod SHIFT, 1, movetoworkspace, 1"
|
||||
"$mod SHIFT, 2, movetoworkspace, 2"
|
||||
"$mod SHIFT, 3, movetoworkspace, 3"
|
||||
"$mod SHIFT, 4, movetoworkspace, 4"
|
||||
"$mod SHIFT, 5, movetoworkspace, 5"
|
||||
"$mod SHIFT, 6, movetoworkspace, 6"
|
||||
"$mod SHIFT, 7, movetoworkspace, 7"
|
||||
"$mod SHIFT, 8, movetoworkspace, 8"
|
||||
"$mod SHIFT, 9, movetoworkspace, 9"
|
||||
"$mod SHIFT, 0, movetoworkspace, discord"
|
||||
|
||||
"$mainMod CTRL, l, resizeactive, 10 0"
|
||||
"$mainMod CTRL, h, resizeactive, -10 0"
|
||||
"$mainMod CTRL, k, resizeactive, 0 -10"
|
||||
"$mainMod CTRL, j, resizeactive, 0 10"
|
||||
"$mod CTRL, l, resizeactive, 10 0"
|
||||
"$mod CTRL, h, resizeactive, -10 0"
|
||||
"$mod CTRL, k, resizeactive, 0 -10"
|
||||
"$mod CTRL, j, resizeactive, 0 10"
|
||||
|
||||
"$mainMod SHIFT, l, movewindow, r"
|
||||
"$mainMod SHIFT, h, movewindow, l"
|
||||
"$mainMod SHIFT, k, movewindow, u"
|
||||
"$mainMod SHIFT, j, movewindow, d"
|
||||
"$mod SHIFT, l, movewindow, r"
|
||||
"$mod SHIFT, h, movewindow, l"
|
||||
"$mod SHIFT, k, movewindow, u"
|
||||
"$mod SHIFT, j, movewindow, d"
|
||||
|
||||
"$mainMod, b, exec, firefox"
|
||||
"$mod, b, exec, firefox"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
"$mainMod, mouse:272, movewindow"
|
||||
"$mainMod, mouse:273, resizewindow"
|
||||
# Move/resize windows with mod + LMB/RMB and dragging
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, resizewindow"
|
||||
];
|
||||
|
||||
bindel =[
|
||||
@@ -104,7 +115,7 @@
|
||||
"col.active_border" = "rgb(8aadf4) rgb(24273A) rgb(24273A) rgb(8aadf4) 45deg";
|
||||
"col.inactive_border" = "rgb(24273A) rgb(24273A) rgb(24273A) rgb(24273A) 45deg";
|
||||
layout = "dwindle";
|
||||
allow_tearing = false;
|
||||
allow_tearing = true;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
@@ -153,6 +164,11 @@
|
||||
force_default_wallpaper = 0;
|
||||
};
|
||||
|
||||
workspace = [
|
||||
"name: discord, monitor:DP-2, default:true"
|
||||
"name: steam, monitor:DP-2, default:false"
|
||||
];
|
||||
|
||||
windowrule = [
|
||||
"float, file_progress"
|
||||
"float, confirm"
|
||||
@@ -164,28 +180,53 @@
|
||||
"float, confirmreset"
|
||||
"float, title:Open File"
|
||||
"float, title:branchdialog"
|
||||
"float,viewnior"
|
||||
"float, pavucontrol-qt"
|
||||
"float, pavucontrol"
|
||||
"move onscreen cursor 0% 0%, pavucontrol"
|
||||
"float, file-roller"
|
||||
"fullscreen, wlogout"
|
||||
"float, title:wlogout"
|
||||
"fullscreen, title:wlogout"
|
||||
"idleinhibit stayfocused, mpv"
|
||||
];
|
||||
"fullscreen, title:BBar"
|
||||
"fullscreen, title:Remote Desktop Connection"
|
||||
"norounding, class:Remote Desktop Connection"
|
||||
"noshadow, class:Remote Desktop Connection"
|
||||
"immediate, class:Remote Desktop Connection"
|
||||
"syncfullscreen, class:Remote Desktop Connection"
|
||||
"allowsinput, class:Remote Desktop Connection"
|
||||
"noanim, class:Remote Desktop Connection"
|
||||
"noblur, class:Remote Desktop Connection"
|
||||
"noborder, class:Remote Desktop Connection"
|
||||
"nodim, class:Remote Desktop Connection"
|
||||
"nomaxsize, class:Remote Desktop Connection"
|
||||
"minsize 3840 2160, class:Remote Desktop Connection"
|
||||
];
|
||||
windowrulev2 = [
|
||||
"float, class:Vmware-view,title:VMware Horizon Client"
|
||||
"size 3840 2160, class:Remote Desktop Connection"
|
||||
# "float, class:Remote Desktop Connection,title:BBar"
|
||||
# "float, class:Remote Desktop Connection,title:Remote Desktop Connection"
|
||||
"float, class:Credential Manager UI Host,title:Windows Security"
|
||||
"float, title:^(Media viewer)$"
|
||||
# Picture in picture windows
|
||||
# "float, class:pavucontrol,title:pavucontrol" # ?????
|
||||
"float, title:^(Picture-in-Picture)$"
|
||||
"pin, title:^(Picture-in-Picture)$"
|
||||
"float, class:^(vesktop)$,title:^(Discord Popout)$"
|
||||
"pin, class:^(vesktop)$,title:^(Discord Popout)$"
|
||||
"float, class:^(steam)$,title:^(Friends List)$"
|
||||
# Workspace assign
|
||||
"workspace: 1, class:^(kitty)$"
|
||||
"workspace: 2, class:^(firefox)$"
|
||||
"workspace: 5, class:^(steam)$"
|
||||
"workspace: 10, class:^(vesktop)$"
|
||||
# "workspace: 1, class:^(kitty)$"
|
||||
# "workspace: name:discord, class:^(firefox)$"
|
||||
"workspace: name:discord, class:^(vesktop)$"
|
||||
|
||||
# Steam
|
||||
"float, class:^([Ss]team)$, title:^((?![Ss]team).*)$"
|
||||
"workspace name:steam silent, class:^([Ss]team)$, title:^([Ss]team)$"
|
||||
"tile, class:^([Ss]team)$, title:^([Ss]team)$"
|
||||
|
||||
# Game Tearing??? https://wiki.hyprland.org/Configuring/Tearing/
|
||||
"immediate, class:gamescope"
|
||||
];
|
||||
|
||||
|
||||
@@ -214,9 +255,10 @@
|
||||
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
exec-once = nwg-look -a
|
||||
exec-once = [workspace 2 silent] firefox
|
||||
exec-once = [workspace 10 silent] vesktop
|
||||
exec-once = [workspace 5 silent] steam
|
||||
exec-once = [workspace name:discord silent] firefox
|
||||
exec-once = [workspace name:discord silent] vesktop
|
||||
exec-once = [workspace name:discord silent] spotify
|
||||
exec-once = [workspace name:steam silent] steam
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -1,10 +1,12 @@
|
||||
{
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-Hyprland
|
||||
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
layer = "bottom";
|
||||
position = "top";
|
||||
mod = "dock";
|
||||
exclusive = true;
|
||||
@@ -67,6 +69,7 @@
|
||||
tooltip = false;
|
||||
format-muted = " Muted";
|
||||
on-click = "pamixer -t";
|
||||
on-click-right = "pavucontrol -t 1";
|
||||
on-scroll-up = "pamixer -i 5";
|
||||
on-scroll-down = "pamixer -d 5";
|
||||
scroll-step = 5;
|
||||
@@ -86,6 +89,7 @@
|
||||
format-source = "🎙{volume}%";
|
||||
format-source-muted = "🎙Muted";
|
||||
on-click = "pamixer --default-source -t";
|
||||
on-click-right = "pavucontrol -t 2";
|
||||
on-scroll-up = "pamixer --default-source -i 5";
|
||||
on-scroll-down = "pamixer --default-source -d 5";
|
||||
scroll-step = 5;
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
sddmTheme = "catppuccin-mocha";
|
||||
in
|
||||
{
|
||||
specialisation.hyprland.configuration = {
|
||||
imports = [
|
||||
@@ -10,12 +13,14 @@
|
||||
services = {
|
||||
displayManager.sddm.enable = true;
|
||||
displayManager.sddm.package = pkgs.kdePackages.sddm;
|
||||
displayManager.sddm.theme = "catppuccin-mocha";
|
||||
displayManager.sddm.theme = sddmTheme;
|
||||
displayManager.defaultSession = "hyprland";
|
||||
# disable plasma
|
||||
desktopManager.plasma6.enable = false;
|
||||
|
||||
dbus.enable = true;
|
||||
|
||||
ddccontrol.enable = true;
|
||||
};
|
||||
|
||||
programs.hyprland = {
|
||||
|
||||
@@ -17,6 +17,7 @@ in
|
||||
catppuccin-sddm
|
||||
colloid-gtk-theme
|
||||
colloid-icon-theme
|
||||
ddcutil
|
||||
dunst
|
||||
glib
|
||||
gnome-disk-utility
|
||||
@@ -31,6 +32,7 @@ in
|
||||
nwg-look
|
||||
pamixer
|
||||
papirus-folders
|
||||
pavucontrol
|
||||
playerctl
|
||||
polkit
|
||||
polkit_gnome
|
||||
@@ -41,6 +43,7 @@ in
|
||||
waybarWeatherScript
|
||||
wayland-protocols
|
||||
wayland-utils
|
||||
wev
|
||||
wl-clipboard
|
||||
wlogout
|
||||
wlroots
|
||||
|
||||
@@ -1,4 +1,21 @@
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
wallpaper = "/home/matt/.config/wallpapers/wall.png";
|
||||
cursorTheme = "macOS-Monterey";
|
||||
cursorThemePkg = pkgs.apple-cursor;
|
||||
cursorSize = 24;
|
||||
gtkThemeSize = "compact";
|
||||
gtkThemeAccent = "blue";
|
||||
gtkThemeVariant = "macchiato";
|
||||
gtkTheme = "catppuccin-${gtkThemeVariant}-${gtkThemeAccent}-${gtkThemeSize}";
|
||||
gtkThemePkg = pkgs.catppuccin-gtk.override {
|
||||
size = gtkThemeSize;
|
||||
accents = [ gtkThemeAccent ];
|
||||
variant = gtkThemeVariant;
|
||||
};
|
||||
iconTheme = "Colloid-dark"; # Colloid, Colloid-light, Colloid-dark
|
||||
iconThemePkg = pkgs.colloid-icon-theme;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./config.nix
|
||||
@@ -14,10 +31,10 @@
|
||||
hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
preload = [ "~/.config/wallpapers/wall.png" ];
|
||||
preload = [ wallpaper ];
|
||||
wallpaper = [
|
||||
"DP-1, ~/.config/wallpapers/wall.png"
|
||||
"DP-2, ~/.config/wallpapers/wall.png"
|
||||
"DP-1, ${wallpaper}"
|
||||
"DP-2, ${wallpaper}"
|
||||
];
|
||||
splash = false;
|
||||
};
|
||||
@@ -27,13 +44,29 @@
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||
before_sleep_cmd = "loginctl lock-session"; # lock before suspend.
|
||||
after_sleep_cmd = "hyprctl dispatch dpms on"; # to avoid having to press a key twice to turn on the display.
|
||||
ignore_dbus_inhibit = false;
|
||||
lock_cmd = "hyprlock";
|
||||
lock_cmd = "pidof hyprlock || hyprlock"; # avoid starting multiple hyprlock instances.
|
||||
};
|
||||
listener = [
|
||||
# {
|
||||
# timeout = 300; # 5min
|
||||
# on-timeout = "brightnessctl -s set 10"; # set monitor backlight to minimum, avoid 0 on OLED monitor.
|
||||
# on-resume = "brightnessctl -r"; # monitor backlight restore.
|
||||
# }
|
||||
{
|
||||
timeout = 3600;
|
||||
timeout = 900; # 15 min
|
||||
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed
|
||||
}
|
||||
{
|
||||
timeout = 930; # 15.5 min
|
||||
on-timeout = "hyprctl dispatch dpms off"; # screen off when timeout has passed
|
||||
on-resume = "hyprctl dispatch dpms on"; # screen on when activity is detected after timeout has fired.
|
||||
}
|
||||
{
|
||||
timeout = 3600; # 1hr
|
||||
on-timeout = "systemctl suspend"; # suspend pc
|
||||
}
|
||||
];
|
||||
};
|
||||
@@ -46,7 +79,7 @@
|
||||
background = [
|
||||
{
|
||||
monitor = "";
|
||||
path = "/home/matt/.config/wallpapers/wall.png"; # supports png, jpg, webp (no animations, though)
|
||||
path = wallpaper; # supports png, jpg, webp (no animations, though)
|
||||
color = "rgba(25, 20, 20, 1.0)";
|
||||
|
||||
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
|
||||
@@ -63,12 +96,13 @@
|
||||
{
|
||||
size = "200, 50";
|
||||
position = "0, -80";
|
||||
monitor = "";
|
||||
monitor = "DP-1";
|
||||
dots_center = true;
|
||||
fade_on_empty = false;
|
||||
fade_on_empty = true;
|
||||
font_color = "rgb(202, 211, 245)";
|
||||
inner_color = "rgb(91, 96, 120)";
|
||||
outer_color = "rgb(24, 25, 38)";
|
||||
bothlock_color = -1;
|
||||
outline_thickness = 5;
|
||||
placeholder_text = ''<span foreground="##cad3f5">Password...</span>'';
|
||||
shadow_passes = 2;
|
||||
@@ -94,9 +128,9 @@
|
||||
# WLR_NO_HARDWARE_CURSORS = "1";
|
||||
CLUTTER_BACKEND = "wayland";
|
||||
# WLR_RENDERER = "vulkan";
|
||||
XCURSOR_THEME = "macOS-Monterey";
|
||||
XCURSOR_SIZE = "24";
|
||||
GTK_THEME="catppuccin-macchiato-blue-compact";
|
||||
XCURSOR_THEME = cursorTheme;
|
||||
XCURSOR_SIZE = cursorSize;
|
||||
GTK_THEME = gtkTheme;
|
||||
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||
XDG_SESSION_DESKTOP = "Hyprland";
|
||||
XDG_SESSION_TYPE = "wayland";
|
||||
@@ -110,31 +144,27 @@
|
||||
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
package = pkgs.apple-cursor;
|
||||
name = "macOS-Monterey";
|
||||
size = 24;
|
||||
package = cursorThemePkg;
|
||||
name = cursorTheme;
|
||||
size = cursorSize;
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
|
||||
cursorTheme = {
|
||||
name = "macOS-Monterey"; # macOS-[BigSur, Monterey]-[ , White, White-Windows, Windows]
|
||||
package = pkgs.apple-cursor;
|
||||
name = cursorTheme; # macOS-[BigSur, Monterey]-[ , White, White-Windows, Windows]
|
||||
package = cursorThemePkg;
|
||||
};
|
||||
|
||||
theme = {
|
||||
name = "catppuccin-macchiato-blue-compact";
|
||||
package = pkgs.catppuccin-gtk.override {
|
||||
size = "compact";
|
||||
accents = ["blue"];
|
||||
variant = "macchiato";
|
||||
};
|
||||
name = gtkTheme;
|
||||
package = gtkThemePkg;
|
||||
};
|
||||
|
||||
iconTheme = {
|
||||
name = "Colloid-dark"; # Colloid, Colloid-light, Colloid-dark
|
||||
package = pkgs.colloid-icon-theme;
|
||||
name = iconTheme;
|
||||
package = iconThemePkg;
|
||||
};
|
||||
|
||||
gtk3.extraConfig = {
|
||||
|
||||
Reference in New Issue
Block a user