Compare commits
16 commits
5277f5f683
...
7e9e65c4c8
Author | SHA1 | Date | |
---|---|---|---|
7e9e65c4c8 | |||
7165ca9f70 | |||
52efb3be8f | |||
0abf0b0186 | |||
7305881a8c | |||
a7a042dd66 | |||
c65eec795e | |||
059ff5d89e | |||
55450a823d | |||
d6ea3790f4 | |||
a40d7f3b98 | |||
bb20cf4366 | |||
ca655a6c26 | |||
769d1eceb3 | |||
da809c45bd | |||
927b8b8a3d |
14 changed files with 160 additions and 72 deletions
|
@ -22,5 +22,5 @@ each host should have these files:
|
|||
- divide steam and gamemode?
|
||||
- laptop specific configuration (power profiles daemon, battery, etc)
|
||||
- sddm cursors no work :(
|
||||
- try out the [new sddm options](https://search.nixos.org/options?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=sddm)
|
||||
- sddm x11 support, too. or maybe just remove x11
|
||||
- gnome keyring / gcr for saving passwords
|
|
@ -33,7 +33,8 @@
|
|||
history_length = 20
|
||||
show_age_threshold = 60
|
||||
markup = "full"
|
||||
font = "Atkinson Hyperlegible Pro 10"
|
||||
format = "<b>%a</b>\n<b>%s</b>\n%b"
|
||||
font = "Atkinson Hyperlegible Pro 11"
|
||||
word_wrap = "yes"
|
||||
sort = "yes"
|
||||
shrink = "no"
|
||||
|
|
|
@ -79,6 +79,30 @@ window#waybar.floating #window {
|
|||
color: @lavender;
|
||||
}
|
||||
|
||||
#power-profiles-daemon {
|
||||
color: @teal;
|
||||
}
|
||||
|
||||
#battery {
|
||||
color: @green;
|
||||
}
|
||||
|
||||
#battery.charging {
|
||||
color: @green;
|
||||
}
|
||||
|
||||
#battery.warning:not(.charging) {
|
||||
color: @peach;
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
color: @maroon;
|
||||
}
|
||||
|
||||
#network {
|
||||
color: @sapphire;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
color: @pink;
|
||||
}
|
||||
|
|
|
@ -85,5 +85,4 @@ in {
|
|||
xdg-utils
|
||||
git
|
||||
];
|
||||
|
||||
}
|
||||
|
|
6
flake.lock
generated
6
flake.lock
generated
|
@ -487,11 +487,11 @@
|
|||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1711523803,
|
||||
"narHash": "sha256-UKcYiHWHQynzj6CN/vTcix4yd1eCu1uFdsuarupdCQQ=",
|
||||
"lastModified": 1715266358,
|
||||
"narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2726f127c15a4cc9810843b96cad73c7eb39e443",
|
||||
"rev": "f1010e0469db743d14519a1efd37e23f8513d714",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
enable = true;
|
||||
};
|
||||
desktop = {
|
||||
# sets magical variables; use `x11` or `wayland`
|
||||
envProto = "wayland";
|
||||
|
||||
hyprland.enable = true;
|
||||
|
@ -48,13 +49,16 @@
|
|||
hyprpaper.enable = true;
|
||||
|
||||
polkit-gnome.enable = true;
|
||||
gnome-keyring.enable = true;
|
||||
dunst.enable = true;
|
||||
rofi.enable = true;
|
||||
nwg-drawer.enable = true;
|
||||
waybar.enable = true;
|
||||
|
||||
# login manager
|
||||
sddm.enable = true;
|
||||
|
||||
# set active theme, see `modules/desktop/themes`
|
||||
themes.active = "catppuccin";
|
||||
};
|
||||
software = {
|
||||
|
|
|
@ -21,8 +21,15 @@
|
|||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
|
||||
# support power features such as suspend to ram
|
||||
powerManagement.enable = true;
|
||||
# tune power saving options on boot
|
||||
# todo: fix usb mice and keyboards from suspending
|
||||
#powerManagement.powertop.enable = true;
|
||||
# thermald proactively prevents overheating on intel CPUs and works well with other tools
|
||||
services.thermald.enable = true;
|
||||
# power-profile-daemon for power management
|
||||
services.power-profiles-daemon.enable = true;
|
||||
|
||||
# nvidia driver
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
|
|
14
modules/desktop/gnome-keyring.nix
Normal file
14
modules/desktop/gnome-keyring.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.desktop.gnome-keyring;
|
||||
in {
|
||||
options.modules.desktop.gnome-keyring = {
|
||||
enable = mkEnableOption "Enable gnome-keyring, a lightweight keyring with git, gpg, and ssh integration";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
};
|
||||
}
|
|
@ -20,7 +20,7 @@ in {
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.xserver.displayManager.sessionPackages = [ cfg.package ];
|
||||
services.displayManager.sessionPackages = [ cfg.package ];
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk cfg.portalPackage ];
|
||||
|
@ -53,6 +53,11 @@ in {
|
|||
bindl = [ # "bind locked"
|
||||
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
|
||||
|
||||
", XF86AudioPlay, exec, ${lib.getExe pkgs.playerctl} play-pause"
|
||||
", XF86AudioStop, exec, ${lib.getExe pkgs.playerctl} stop"
|
||||
", XF86AudioPrev, exec, ${lib.getExe pkgs.playerctl} previous"
|
||||
", XF86AudioNext, exec, ${lib.getExe pkgs.playerctl} next"
|
||||
];
|
||||
bindr = [ # "bind released"
|
||||
"SUPER, Super_L, exec, ${lib.getExe pkgs.nwg-drawer}"
|
||||
|
@ -126,17 +131,23 @@ in {
|
|||
|
||||
windowrulev2 = [
|
||||
# common popups
|
||||
"float, class:file-roller"
|
||||
"size 1100 730, class:file-roller"
|
||||
"float, class:org.gnome.FileRoller"
|
||||
"center, class:org.gnome.FileRoller"
|
||||
"size 1100 730, class:org.gnome.FileRoller"
|
||||
"float, class:org.gnome.Loupe"
|
||||
"center, class:org.gnome.Loupe"
|
||||
"size 1100 730, class:org.gnome.Loupe"
|
||||
"float, initialTitle:^Open Folder$"
|
||||
"center, initialTitle:^Open Folder$"
|
||||
"size 1100 730, initialTitle:^Open Folder$"
|
||||
"float, initialTitle:^Open File$"
|
||||
"center, initialTitle:^Open File$"
|
||||
"size 1100 730, initialTitle:^Open File$"
|
||||
"float, initialTitle:^Open Files$"
|
||||
"center, initialTitle:^Open Files$"
|
||||
"size 1100 730, initialTitle:^Open Files$"
|
||||
"float, initialTitle:^Save As$"
|
||||
"center, initialTitle:^Save As%"
|
||||
"size 1100 730, initialTitle:^Save As$"
|
||||
|
||||
"float, class:\.exe$"
|
||||
|
@ -173,7 +184,7 @@ in {
|
|||
};
|
||||
|
||||
drop_shadow = false;
|
||||
#shadow_range = 30;
|
||||
#shadow_range = 4;
|
||||
#shadow_render_power = 3;
|
||||
};
|
||||
|
||||
|
|
|
@ -9,15 +9,13 @@ in {
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.xserver.enable = true; # this is needed, unfortunately!
|
||||
services.xserver.excludePackages = [ pkgs.xterm ]; # prevents xterm on wayland and x
|
||||
environment.systemPackages = with pkgs; [
|
||||
config.modules.desktop.themes.sddmTheme.package
|
||||
libsForQt5.qt5.qtsvg
|
||||
libsForQt5.qt5.qtgraphicaleffects
|
||||
libsForQt5.qt5.qtquickcontrols2
|
||||
];
|
||||
services.xserver.displayManager.sddm = {
|
||||
services.displayManager.sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
theme = config.modules.desktop.themes.sddmTheme.name;
|
||||
|
|
|
@ -49,9 +49,11 @@ in {
|
|||
orientation = "inherit";
|
||||
modules = [
|
||||
"pulseaudio"
|
||||
#"network"
|
||||
"cpu"
|
||||
"memory"
|
||||
#"network"
|
||||
"power-profiles-daemon"
|
||||
"battery"
|
||||
];
|
||||
};
|
||||
"group/power" = {
|
||||
|
@ -139,6 +141,17 @@ in {
|
|||
};
|
||||
separate-outputs = true;
|
||||
};
|
||||
#network = {
|
||||
# format = "";
|
||||
# format-ethernet = "";
|
||||
# format-wifi = " {signalStrength}%";
|
||||
# format-disconnected = "";
|
||||
# tooltip-format = "{ifname} via {gwaddr}";
|
||||
# tooltip-format-wifi = "connected to {essid}";
|
||||
# tooltip-format-ethernet = "{ifname}";
|
||||
# tooltip-format-disconnected = "Disconnected";
|
||||
# on-click = "${pkgs.networkmanagerapplet}/bin/nm-connection-editor";
|
||||
#};
|
||||
pulseaudio = {
|
||||
format = "{icon} {volume}%";
|
||||
format-bluetooth = "{icon} {volume}%";
|
||||
|
@ -165,17 +178,31 @@ in {
|
|||
format = " {percentage}%";
|
||||
tooltip-format = "{used:0.1f}GiB/{avail:0.1f}GiB used\n{swapUsed:0.1f}GiB/{swapAvail:0.1f}GiB swap";
|
||||
};
|
||||
"network" = {
|
||||
format = "";
|
||||
format-ethernet = "";
|
||||
format-wifi = " {signalStrength}%";
|
||||
format-disconnected = "";
|
||||
tooltip-format = "{ifname} via {gwaddr}";
|
||||
tooltip-format-wifi = "connected to {essid}";
|
||||
tooltip-format-ethernet = "{ifname}";
|
||||
tooltip-format-disconnected = "Disconnected";
|
||||
power-profiles-daemon = {
|
||||
format = "{icon}";
|
||||
tooltip-format = "Power profile: {profile}\nDriver: {driver}";
|
||||
tooltip = true;
|
||||
format-icons = {
|
||||
default = "";
|
||||
performance = " perf";
|
||||
balanced = " balance";
|
||||
power-saver = " save";
|
||||
};
|
||||
"clock" = {
|
||||
};
|
||||
battery = {
|
||||
interval = 30;
|
||||
states = {
|
||||
warning = 20;
|
||||
critical = 10;
|
||||
};
|
||||
full-at = 98;
|
||||
format = "{icon} {capacity}%";
|
||||
format-icons = ["" "" "" "" ""];
|
||||
format-critical = " {capacity}%";
|
||||
tooltip-format = "{timeTo} ({power}W)";
|
||||
format-charging = " {capacity}%";
|
||||
};
|
||||
clock = {
|
||||
format = "{:%H:%M}";
|
||||
format-alt = "{:%a %b %d %R}";
|
||||
tooltip-format = "<tt><small>{calendar}</small></tt>";
|
||||
|
|
|
@ -14,6 +14,5 @@ in {
|
|||
|
||||
# frontend
|
||||
services.blueman.enable = true;
|
||||
hm.services.blueman-applet.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -34,6 +34,7 @@ in {
|
|||
|
||||
"terminal.integrated.fontFamily" = "\"${monospace.family}\"";
|
||||
"terminal.integrated.fontSize" = monospace.size;
|
||||
"terminal.integrated.smoothScrolling" = true;
|
||||
|
||||
"telemetry.telemetryLevel" = "off";
|
||||
|
||||
|
@ -44,6 +45,7 @@ in {
|
|||
"window.titleBarStyle" = "custom";
|
||||
|
||||
"workbench.tips.enabled" = false;
|
||||
"workbench.list.smoothScrolling" = true;
|
||||
|
||||
"nix.enableLanguageServer" = true;
|
||||
"nix.serverPath" = "${lib.getExe pkgs.nil}";
|
||||
|
|
|
@ -24,7 +24,9 @@ in {
|
|||
interactiveShellInit = ''
|
||||
sh ${colorScript}
|
||||
'';
|
||||
# TODO: add fish greeting?
|
||||
functions.fish_greeting = ''
|
||||
${lib.getExe pkgs.pfetch}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue