add caelestia shell
This commit is contained in:
Generated
+68
@@ -1,5 +1,51 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"caelestia-cli": {
|
||||||
|
"inputs": {
|
||||||
|
"caelestia-shell": [
|
||||||
|
"caelestia-shell"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"caelestia-shell",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1768010798,
|
||||||
|
"narHash": "sha256-CmEy/t3CCDnUvn594sXtv0vRxt1JQaqj0nGdtQFU3mA=",
|
||||||
|
"owner": "caelestia-dots",
|
||||||
|
"repo": "cli",
|
||||||
|
"rev": "70a8624eacfc1b90fe248aef722ae708e775a927",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "caelestia-dots",
|
||||||
|
"repo": "cli",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"caelestia-shell": {
|
||||||
|
"inputs": {
|
||||||
|
"caelestia-cli": "caelestia-cli",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"quickshell": "quickshell"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1768629486,
|
||||||
|
"narHash": "sha256-W50hARtSVHxAtrG6dHKbLjU1PHDumJyB70IwKzuoIL0=",
|
||||||
|
"owner": "caelestia-dots",
|
||||||
|
"repo": "shell",
|
||||||
|
"rev": "96942d5ff38698513f0330618073dbdf2af1bd59",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "caelestia-dots",
|
||||||
|
"repo": "shell",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"fenix": {
|
"fenix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -149,8 +195,30 @@
|
|||||||
},
|
},
|
||||||
"parent": []
|
"parent": []
|
||||||
},
|
},
|
||||||
|
"quickshell": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"caelestia-shell",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1768080170,
|
||||||
|
"narHash": "sha256-HYKRNShQe5YnnxLazQajB9JkAPGpVcUt9jQ3KwilITQ=",
|
||||||
|
"ref": "refs/heads/master",
|
||||||
|
"rev": "bcc3d4265e8b3ed2b17b801923905b60a3927823",
|
||||||
|
"revCount": 722,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"caelestia-shell": "caelestia-shell",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"personal": "personal",
|
"personal": "personal",
|
||||||
|
|||||||
@@ -22,6 +22,13 @@
|
|||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
caelestia-shell = {
|
||||||
|
url = "github:caelestia-dots/shell";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ self, nixpkgs, home-manager, ... }:
|
outputs = inputs@{ self, nixpkgs, home-manager, ... }:
|
||||||
|
|||||||
+10
-8
@@ -27,6 +27,14 @@
|
|||||||
name = "Nordzy";
|
name = "Nordzy";
|
||||||
package = pkgs.nordzy-icon-theme;
|
package = pkgs.nordzy-icon-theme;
|
||||||
};
|
};
|
||||||
|
# iconTheme = {
|
||||||
|
# name = "kora";
|
||||||
|
# package = pkgs.kora-icon-theme;
|
||||||
|
# };
|
||||||
|
# iconTheme = {
|
||||||
|
# name = "suru";
|
||||||
|
# package = pkgs.lomiri.suru-icon-theme;
|
||||||
|
# };
|
||||||
};
|
};
|
||||||
home.sessionVariables.QS_ICON_THEME = "Nordzy";
|
home.sessionVariables.QS_ICON_THEME = "Nordzy";
|
||||||
|
|
||||||
@@ -35,7 +43,6 @@
|
|||||||
xdg.mimeApps = {
|
xdg.mimeApps = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
# Optional but often helpful: ensure these associations exist at all
|
|
||||||
associations.added = {
|
associations.added = {
|
||||||
"image/jpeg" = [ "imv.desktop" ];
|
"image/jpeg" = [ "imv.desktop" ];
|
||||||
"image/png" = [ "imv.desktop" ];
|
"image/png" = [ "imv.desktop" ];
|
||||||
@@ -48,7 +55,7 @@
|
|||||||
"image/png" = "imv.desktop";
|
"image/png" = "imv.desktop";
|
||||||
"image/webp" = "imv.desktop";
|
"image/webp" = "imv.desktop";
|
||||||
"image/gif" = "imv.desktop";
|
"image/gif" = "imv.desktop";
|
||||||
"image/svg+xml" = "org.gnome.eog.desktop"; # example: Eye of GNOME for SVG
|
"image/svg+xml" = "org.gnome.eog.desktop";
|
||||||
|
|
||||||
# Videos
|
# Videos
|
||||||
"video/mp4" = "vlc.desktop";
|
"video/mp4" = "vlc.desktop";
|
||||||
@@ -57,16 +64,11 @@
|
|||||||
"video/quicktime" = "vlc.desktop"; # mov
|
"video/quicktime" = "vlc.desktop"; # mov
|
||||||
"video/webm" = "vlc.desktop";
|
"video/webm" = "vlc.desktop";
|
||||||
|
|
||||||
# Audio (optional: also vlc, or a dedicated player)
|
|
||||||
"audio/mpeg" = "vlc.desktop";
|
"audio/mpeg" = "vlc.desktop";
|
||||||
"audio/flac" = "vlc.desktop";
|
"audio/flac" = "vlc.desktop";
|
||||||
"audio/ogg" = "vlc.desktop";
|
"audio/ogg" = "vlc.desktop";
|
||||||
|
|
||||||
# PDFs
|
"text/plain" = "code.desktop";
|
||||||
# "application/pdf" = "org.gnome.Evince.desktop"; # or "okular.desktop"
|
|
||||||
|
|
||||||
# Plain text (example)
|
|
||||||
"text/plain" = "code.desktop"; # VS Code, for example
|
|
||||||
|
|
||||||
"x-scheme-handler/http" = "zen-twilight.desktop";
|
"x-scheme-handler/http" = "zen-twilight.desktop";
|
||||||
"x-scheme-handler/https" = "zen-twilight.desktop";
|
"x-scheme-handler/https" = "zen-twilight.desktop";
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, inputs, ... }:
|
||||||
|
|
||||||
# TODO:
|
# TODO:
|
||||||
# - make hyprexpo work
|
# - make hyprexpo work
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
inputs.caelestia-shell.homeManagerModules.default
|
||||||
# ./hyprland/env.nix
|
# ./hyprland/env.nix
|
||||||
# ./hyprland/execs.nix
|
# ./hyprland/execs.nix
|
||||||
# ./hyprland/general.nix
|
# ./hyprland/general.nix
|
||||||
@@ -12,10 +13,27 @@
|
|||||||
# ./hyprland/active.nix
|
# ./hyprland/active.nix
|
||||||
./hyprland/rules.nix
|
./hyprland/rules.nix
|
||||||
./hyprland/keybinds.nix # done
|
./hyprland/keybinds.nix # done
|
||||||
./hyprlock.nix # done
|
# ./hyprlock.nix # done
|
||||||
./hypridle.nix # done
|
./hypridle.nix # done
|
||||||
./qs/qs.nix
|
|
||||||
] ++ lib.optional (builtins.pathExists ./hyprland/my.nix) ./hyprland/my.nix;
|
] ++ lib.optional (builtins.pathExists ./hyprland/my.nix) ./hyprland/my.nix;
|
||||||
|
|
||||||
|
programs.caelestia = {
|
||||||
|
enable = true;
|
||||||
|
systemd = {
|
||||||
|
enable = false; # if you prefer starting from your compositor
|
||||||
|
target = "graphical-session.target";
|
||||||
|
environment = [ ];
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
# bar.status = { showBattery = false; };
|
||||||
|
# paths.wallpaperDir = "~/Images";
|
||||||
|
};
|
||||||
|
cli = {
|
||||||
|
enable = true; # Also add caelestia-cli to path
|
||||||
|
# settings = { theme.enableGtk = false; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
(pkgs.writeScriptBin "wallpaper" (''
|
(pkgs.writeScriptBin "wallpaper" (''
|
||||||
#!${pkgs.python311}/bin/python3
|
#!${pkgs.python311}/bin/python3
|
||||||
@@ -27,14 +45,14 @@
|
|||||||
nemo
|
nemo
|
||||||
pywal
|
pywal
|
||||||
jq
|
jq
|
||||||
quickshell
|
xdg-desktop-portal
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
xdg-desktop-portal-hyprland
|
||||||
|
xdg-desktop-portal-shana
|
||||||
|
# wayvnc # configure in future for auto start
|
||||||
];
|
];
|
||||||
programs.vicinae.enable = true;
|
programs.vicinae.enable = true;
|
||||||
services.swww.enable = true;
|
services.swww.enable = true;
|
||||||
programs.hyprpanel = {
|
|
||||||
enable = true;
|
|
||||||
settings = builtins.fromJSON (builtins.readFile ./hyprpanel.json);
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file.".config/hypr/scripts" = {
|
home.file.".config/hypr/scripts" = {
|
||||||
source = ./scripts;
|
source = ./scripts;
|
||||||
@@ -54,14 +72,12 @@
|
|||||||
layerrule = [ "noanim, vicinae" "blur,vicinae" "ignorealpha 0, vicinae" ];
|
layerrule = [ "noanim, vicinae" "blur,vicinae" "ignorealpha 0, vicinae" ];
|
||||||
env = [ "XCURSOR_SIZE,24" "HYPRCURSOR_SIZE,24" ];
|
env = [ "XCURSOR_SIZE,24" "HYPRCURSOR_SIZE,24" ];
|
||||||
|
|
||||||
# кто-то возраждает swww
|
|
||||||
# надо узнать, кому он нужен
|
|
||||||
exec-once = [
|
exec-once = [
|
||||||
"hyprlock --immediate-render --no-fade-in &"
|
"caelestia shell &"
|
||||||
|
"caelestia shell lock lock; until [ $? -eq 0 ]; do sleep 1; caelestia shell lock lock; done"
|
||||||
|
# "hyprlock --immediate-render --no-fade-in &"
|
||||||
"wal -R &"
|
"wal -R &"
|
||||||
"swww img ${config.home.homeDirectory}/Pictures/wallpaper.png &"
|
# "swww img ${config.home.homeDirectory}/Pictures/wallpaper.png &"
|
||||||
# "(swww-daemon &) && sleep 2 && swww img ${config.home.homeDirectory}/Pictures/wallpaper.png"
|
|
||||||
"hyprpanel &"
|
|
||||||
"vicinae server &"
|
"vicinae server &"
|
||||||
"gsettings set org.gnome.desktop.interface cursor-theme '${config.home.pointerCursor.name}'"
|
"gsettings set org.gnome.desktop.interface cursor-theme '${config.home.pointerCursor.name}'"
|
||||||
"gsettings set org.gnome.desktop.interface cursor-size ${
|
"gsettings set org.gnome.desktop.interface cursor-size ${
|
||||||
@@ -74,9 +90,11 @@
|
|||||||
debug = { disable_logs = false; };
|
debug = { disable_logs = false; };
|
||||||
|
|
||||||
monitor = [
|
monitor = [
|
||||||
"eDP-1,preferred,auto,1.25"
|
"eDP-1,preferred,0x0,1.25"
|
||||||
"HDMI-A-1,preferred,auto-left,auto"
|
"HDMI-A-1,preferred,auto-left,auto"
|
||||||
"HDMI-A-2,preferred,auto-left,auto"
|
"HDMI-A-2,preferred,auto-left,auto"
|
||||||
|
"vcl-samsung,2340x1080@30,0x864,2"
|
||||||
|
"vcl-xiaomi,1440x900@30,-900x0,1"
|
||||||
];
|
];
|
||||||
|
|
||||||
input = {
|
input = {
|
||||||
@@ -211,6 +229,8 @@
|
|||||||
disable_splash_rendering = true;
|
disable_splash_rendering = true;
|
||||||
focus_on_activate = false;
|
focus_on_activate = false;
|
||||||
|
|
||||||
|
vrr = 0;
|
||||||
|
|
||||||
# TODO: enable after rules.nix
|
# TODO: enable after rules.nix
|
||||||
|
|
||||||
# vfr = 1;
|
# vfr = 1;
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
services.hypridle = let
|
services.hypridle = let
|
||||||
lock_cmd = "hyprlock --grace 10";
|
lock_cmd = "caelestia shell lock lock &";
|
||||||
|
# lock_cmd = "hyprlock --grace 10";
|
||||||
# lock_cmd = "exit";
|
# lock_cmd = "exit";
|
||||||
suspend_cmd = "systemctl suspend || loginctl suspend";
|
suspend_cmd = "systemctl suspend || loginctl suspend";
|
||||||
in {
|
in {
|
||||||
@@ -16,11 +17,11 @@
|
|||||||
|
|
||||||
listener = [
|
listener = [
|
||||||
{
|
{
|
||||||
timeout = 300; # 5 mins
|
timeout = 420; # 7 mins
|
||||||
on-timeout = "loginctl lock-session";
|
on-timeout = "loginctl lock-session";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
timeout = 600; # 10 mins
|
timeout = 780; # 13 mins
|
||||||
# on-timeout = "hyprctl dispatch dpms off";
|
# on-timeout = "hyprctl dispatch dpms off";
|
||||||
# on-resume = "hyprctl dispatch dpms on";
|
# on-resume = "hyprctl dispatch dpms on";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -126,13 +126,20 @@
|
|||||||
# ''
|
# ''
|
||||||
];
|
];
|
||||||
|
|
||||||
bindd = [
|
bindd = [ # d - description
|
||||||
"${super}, M, Toggle power profile,exec, ~/.config/hypr/scripts/switch_config.sh"
|
"${super}, M, Toggle power profile,exec, ~/.config/hypr/scripts/switch_config.sh"
|
||||||
# "${super}+Shift, S, Screenshot, exec, hyprshot --freeze --clipboard-only --mode region --silent"
|
|
||||||
", Print, Screenshot screen to file, exec, hyprshot --mode output --mode active "
|
", Print, Screenshot screen to file, exec, hyprshot --mode output --mode active "
|
||||||
"${super}+Shift, S, Screenshot region, exec, hyprshot --freeze --clipboard-only --mode region --silent"
|
"${super}+Shift, S, Screenshot region, exec, hyprshot --freeze --clipboard-only --mode region --silent"
|
||||||
"${super}+Shift, T, OCR, exec, hyprshot -m region --raw | tesseract stdin stdout"
|
"${super}+Shift, T, OCR, exec, hyprshot -m region --raw | tesseract stdin stdout"
|
||||||
"${super}, L, Lock screen, exec, hyprlock --immediate-render --no-fade-in"
|
"${super}, L, Lock screen, exec, caelestia shell lock lock"
|
||||||
|
", XF86AudioMicMute, Disable microphone, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle" # а они у меня есть?.. F4 + Fn
|
||||||
|
", XF86Display, Lock Hyprland, exec, caelestia shell lock lock" # F7 + Fn can be in future toggle vnc
|
||||||
|
# ", XF86WLAN, Open Amnezia, exec, AmneziaVPN" # F8 + Fn need to disable by default
|
||||||
|
", XF86Tools, Open NixOS config in VSCode, exec, code ~/Documents/Github/nixos-config"
|
||||||
|
# ", XF86Bluetooth, Open control center, exec, caelestia shell controlCenter open || kitty -n1 blueman || kitty -n1 bluetoothctl" # need to disable by default
|
||||||
|
# ", XF86Keyboard"
|
||||||
|
", XF86Favorites, Open special workspace, togglespecialworkspace, special"
|
||||||
|
# ", XF86WakeUp"
|
||||||
];
|
];
|
||||||
|
|
||||||
bindm = [
|
bindm = [
|
||||||
@@ -142,9 +149,9 @@
|
|||||||
"${super}, mouse:275, togglespecialworkspace"
|
"${super}, mouse:275, togglespecialworkspace"
|
||||||
];
|
];
|
||||||
|
|
||||||
bindle = [
|
bindle = [ # l - locked, e - repeat
|
||||||
", XF86MonBrightnessUp, exec, brightnessctl s 5%+"
|
", XF86MonBrightnessUp, exec, caelestia shell brightness set +0.05 || brightnessctl s 5%+"
|
||||||
", XF86MonBrightnessDown, exec, brightnessctl s 5%-"
|
", XF86MonBrightnessDown, exec, caelestia shell brightness set 0.05- || brightnessctl s 5%-"
|
||||||
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 2%+"
|
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 2%+"
|
||||||
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-"
|
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-"
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
qmlPrefix = pkgs.qt6Packages.qtbase.qtQmlPrefix;
|
|
||||||
qmlDir = pkg: "${pkg}/${qmlPrefix}";
|
|
||||||
|
|
||||||
qsWrapped = pkgs.writeShellScriptBin "qss" ''
|
|
||||||
export QML_IMPORT_PATH="${qmlDir pkgs.qt6Packages.qtpositioning}:${
|
|
||||||
qmlDir pkgs.qt6Packages.qtlocation
|
|
||||||
}:${qmlDir pkgs.qt6Packages.qt5compat}:''${QML_IMPORT_PATH:-}"
|
|
||||||
export QML2_IMPORT_PATH="$QML_IMPORT_PATH"
|
|
||||||
exec ${pkgs.quickshell}/bin/qs "$@"
|
|
||||||
'';
|
|
||||||
in {
|
|
||||||
home.packages = [
|
|
||||||
pkgs.quickshell
|
|
||||||
pkgs.qt6Packages.qt5compat
|
|
||||||
pkgs.qt6Packages.qtpositioning
|
|
||||||
pkgs.qt6Packages.qtlocation
|
|
||||||
qsWrapped
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, ... }:
|
{ config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
@@ -21,7 +21,9 @@
|
|||||||
bat
|
bat
|
||||||
ripgrep
|
ripgrep
|
||||||
entr
|
entr
|
||||||
|
ddgr
|
||||||
|
|
||||||
|
cava
|
||||||
github-copilot-cli
|
github-copilot-cli
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -13,75 +13,17 @@
|
|||||||
boot.resumeDevice = "/dev/nvme0n1p2";
|
boot.resumeDevice = "/dev/nvme0n1p2";
|
||||||
|
|
||||||
# -- tmp --
|
# -- tmp --
|
||||||
programs.dconf.enable = true;
|
|
||||||
|
|
||||||
# No display manager / X11 required
|
|
||||||
services.xserver.enable = false;
|
services.xserver.enable = false;
|
||||||
services.displayManager.gdm.enable = false;
|
services.displayManager.gdm.enable = false;
|
||||||
|
|
||||||
# Hyprland (NixOS module sets up the usual system bits like portals/polkit/etc.)
|
|
||||||
# programs.hyprland = {
|
|
||||||
# enable = true;
|
|
||||||
# xwayland.enable = true;
|
|
||||||
|
|
||||||
# # Recommended on NixOS for systemd-managed sessions (optional, but nice):
|
|
||||||
# withUWSM = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# A terminal for the default Hyprland config (you can pick another)
|
|
||||||
# environment.systemPackages = with pkgs; [
|
|
||||||
# kitty
|
|
||||||
# ];
|
|
||||||
|
|
||||||
# Auto-login on tty1
|
|
||||||
services.getty.autologinUser = "krosh";
|
services.getty.autologinUser = "krosh";
|
||||||
# Optional: only do the autologin once per boot
|
|
||||||
services.getty.autologinOnce = true;
|
services.getty.autologinOnce = true;
|
||||||
|
|
||||||
# Start Hyprland immediately after the tty1 autologin.
|
|
||||||
# Choose ONE of the blocks below depending on your shell.
|
|
||||||
|
|
||||||
## If you log in with zsh:
|
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
programs.zsh.loginShellInit = ''
|
programs.zsh.loginShellInit = ''
|
||||||
if [ "$(tty)" = "/dev/tty1" ] && [ -z "$WAYLAND_DISPLAY" ] && [ -z "$DISPLAY" ] && [ -z "$SSH_CONNECTION" ]; then
|
if [ "$(tty)" = "/dev/tty1" ] && [ -z "$WAYLAND_DISPLAY" ] && [ -z "$DISPLAY" ] && [ -z "$SSH_CONNECTION" ]; then
|
||||||
# If using UWSM:
|
|
||||||
#if command -v uwsm >/dev/null 2>&1 && uwsm check may-start; then
|
|
||||||
# exec uwsm start hyprland.desktop
|
|
||||||
#fi
|
|
||||||
|
|
||||||
# Fallback (no UWSM):
|
|
||||||
exec Hyprland 2>/dev/null 1>&2
|
exec Hyprland 2>/dev/null 1>&2
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
## If you log in with bash instead, use this (and remove the zsh block):
|
|
||||||
# programs.bash.loginShellInit = ''
|
|
||||||
# if [ "$(tty)" = "/dev/tty1" ] && [ -z "$WAYLAND_DISPLAY" ] && [ -z "$DISPLAY" ] && [ -z "$SSH_CONNECTION" ]; then
|
|
||||||
# if command -v uwsm >/dev/null 2>&1 && uwsm check may-start; then
|
|
||||||
# exec uwsm start hyprland.desktop
|
|
||||||
# fi
|
|
||||||
# exec Hyprland
|
|
||||||
# fi
|
|
||||||
# '';
|
|
||||||
|
|
||||||
# systemd.services.getty."tty1".exec =
|
|
||||||
# [ "/bin/login" "-f" "krosh" "--" "${pkgs.hyprland}/bin/Hyprland" ];
|
|
||||||
|
|
||||||
# --- Temp sections for testing purposes ---
|
|
||||||
# services.pipewire = {
|
|
||||||
# enable = true;
|
|
||||||
# alsa.enable = true;
|
|
||||||
# pulse.enable = true;
|
|
||||||
# alsa.support32Bit = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# environment.systemPackages = with pkgs; [
|
|
||||||
# pavucontrol
|
|
||||||
# qpwgraph
|
|
||||||
# paprefs
|
|
||||||
# helvum
|
|
||||||
|
|
||||||
# ];
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+61
-46
@@ -6,65 +6,80 @@
|
|||||||
|
|
||||||
services.power-profiles-daemon.enable = false;
|
services.power-profiles-daemon.enable = false;
|
||||||
powerManagement.powertop.enable = true;
|
powerManagement.powertop.enable = true;
|
||||||
|
services.thermald.enable = true;
|
||||||
services.system76-scheduler.settings.cfsProfiles.enable = true;
|
services.system76-scheduler.settings.cfsProfiles.enable = true;
|
||||||
# networking.networkmanager.wifi.powersave = true;
|
# networking.networkmanager.wifi.powersave = true;
|
||||||
|
|
||||||
|
services.auto-cpufreq.enable = true;
|
||||||
|
|
||||||
|
hardware.intel-gpu-tools.enable = true;
|
||||||
|
|
||||||
|
### NixOS power management
|
||||||
|
# powerManagement = {
|
||||||
|
# enable = true;
|
||||||
|
# #cpufreq.min = 800000;
|
||||||
|
# #cpufreq.max = 2200000;
|
||||||
|
# # powertop.enable = true;
|
||||||
|
# #powerUpCommands =
|
||||||
|
# cpuFreqGovernor = "schedutil"; # power, performance, ondemand
|
||||||
|
# };
|
||||||
|
|
||||||
boot.kernelParams = [ "usbcore.autosuspend=0" ];
|
boot.kernelParams = [ "usbcore.autosuspend=0" ];
|
||||||
|
|
||||||
services.tlp = {
|
# services.tlp = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
settings = { # power saving priority
|
# settings = { # power saving priority
|
||||||
CPU_ENERGY_PERF_POLICY_ON_AC = "balance_performance";
|
# CPU_ENERGY_PERF_POLICY_ON_AC = "balance_performance";
|
||||||
CPU_ENERGY_PERF_POLICY_ON_BAT = "balance_power";
|
# CPU_ENERGY_PERF_POLICY_ON_BAT = "balance_power";
|
||||||
CPU_ENERGY_PERF_POLICY_ON_SAV = "power";
|
# CPU_ENERGY_PERF_POLICY_ON_SAV = "power";
|
||||||
|
|
||||||
PLATFORM_PROFILE_ON_AC = "performance";
|
# PLATFORM_PROFILE_ON_AC = "performance";
|
||||||
PLATFORM_PROFILE_ON_BAT = "power";
|
# PLATFORM_PROFILE_ON_BAT = "power";
|
||||||
PLATFORM_PROFILE_ON_SAV = "low-power";
|
# PLATFORM_PROFILE_ON_SAV = "low-power";
|
||||||
|
|
||||||
CPU_BOOST_ON_AC = 1;
|
|
||||||
CPU_BOOST_ON_BAT = 0;
|
|
||||||
CPU_BOOST_ON_SAV = 0;
|
|
||||||
|
|
||||||
CPU_HWP_DYN_BOOST_ON_AC = 1;
|
|
||||||
CPU_HWP_DYN_BOOST_ON_BAT = 0;
|
|
||||||
CPU_HWP_DYN_BOOST_ON_SAV = 0;
|
|
||||||
|
|
||||||
AMDGPU_ABM_LEVEL_ON_AC = 0;
|
|
||||||
AMDGPU_ABM_LEVEL_ON_BAT = 3;
|
|
||||||
AMDGPU_ABM_LEVEL_ON_SAV = 3;
|
|
||||||
|
|
||||||
# CPU_BOOST_ON_AC = 1;
|
# CPU_BOOST_ON_AC = 1;
|
||||||
# CPU_BOOST_ON_BAT = 0;
|
# CPU_BOOST_ON_BAT = 0;
|
||||||
|
# CPU_BOOST_ON_SAV = 0;
|
||||||
|
|
||||||
# CPU_HWP_DYN_BOOST_ON_AC = 1;
|
# CPU_HWP_DYN_BOOST_ON_AC = 1;
|
||||||
# CPU_HWP_DYN_BOOST_ON_BAT = 0;
|
# CPU_HWP_DYN_BOOST_ON_BAT = 0;
|
||||||
# CPU_SCALING_GOVERNOR_ON_AC = "performance";
|
# CPU_HWP_DYN_BOOST_ON_SAV = 0;
|
||||||
# CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
|
|
||||||
# CPU_SCALING_MIN_FREQ_ON_BAT = 0;
|
|
||||||
# CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
|
|
||||||
# CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
|
||||||
|
|
||||||
# AMDGPU_ABM_LEVEL_ON_AC = 0;
|
# AMDGPU_ABM_LEVEL_ON_AC = 0;
|
||||||
# AMDGPU_ABM_LEVEL_ON_BAT = 0;
|
# AMDGPU_ABM_LEVEL_ON_BAT = 3;
|
||||||
# PLATFORM_PROFILE_ON_AC = "performance";
|
# AMDGPU_ABM_LEVEL_ON_SAV = 3;
|
||||||
# PLATFORM_PROFILE_ON_BAT = "low-power";
|
|
||||||
# PCIE_ASPM_ON_BAT = "powersupersave";
|
|
||||||
# SATA_LINKPWR_ON_AC = "med_power_with_dipm";
|
|
||||||
# SATA_LINKPWR_ON_BAT = "min_power";
|
|
||||||
# RUNTIME_PM_ON_AC = "on";
|
|
||||||
# RUNTIME_PM_ON_BAT = "auto";
|
|
||||||
# SOUND_POWER_SAVE_ON_AC = 0;
|
|
||||||
# SOUND_POWER_SAVE_ON_BAT = 1;
|
|
||||||
# SOUND_POWER_SAVE_CONTROLLER = "Y";
|
|
||||||
# CPU_MAX_PERF_ON_AC = 100;
|
|
||||||
# CPU_MAX_PERF_ON_BAT = 50;
|
|
||||||
# NMI_WATCHDOG = 0;
|
|
||||||
|
|
||||||
# USB_AUTOSUSPEND = 0;
|
# # CPU_BOOST_ON_AC = 1;
|
||||||
# USB_BLACKLIST_BTUSB = 0;
|
# # CPU_BOOST_ON_BAT = 0;
|
||||||
# START_CHARGE_THRESH_BAT0 = 0;
|
# # CPU_HWP_DYN_BOOST_ON_AC = 1;
|
||||||
# STOP_CHARGE_THRESH_BAT0 = 1;
|
# # CPU_HWP_DYN_BOOST_ON_BAT = 0;
|
||||||
};
|
# # CPU_SCALING_GOVERNOR_ON_AC = "performance";
|
||||||
};
|
# # CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
|
||||||
|
# # CPU_SCALING_MIN_FREQ_ON_BAT = 0;
|
||||||
|
# # CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
|
||||||
|
# # CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
||||||
|
|
||||||
|
# # AMDGPU_ABM_LEVEL_ON_AC = 0;
|
||||||
|
# # AMDGPU_ABM_LEVEL_ON_BAT = 0;
|
||||||
|
# # PLATFORM_PROFILE_ON_AC = "performance";
|
||||||
|
# # PLATFORM_PROFILE_ON_BAT = "low-power";
|
||||||
|
# # PCIE_ASPM_ON_BAT = "powersupersave";
|
||||||
|
# # SATA_LINKPWR_ON_AC = "med_power_with_dipm";
|
||||||
|
# # SATA_LINKPWR_ON_BAT = "min_power";
|
||||||
|
# # RUNTIME_PM_ON_AC = "on";
|
||||||
|
# # RUNTIME_PM_ON_BAT = "auto";
|
||||||
|
# # SOUND_POWER_SAVE_ON_AC = 0;
|
||||||
|
# # SOUND_POWER_SAVE_ON_BAT = 1;
|
||||||
|
# # SOUND_POWER_SAVE_CONTROLLER = "Y";
|
||||||
|
# # CPU_MAX_PERF_ON_AC = 100;
|
||||||
|
# # CPU_MAX_PERF_ON_BAT = 50;
|
||||||
|
# # NMI_WATCHDOG = 0;
|
||||||
|
|
||||||
|
# # USB_AUTOSUSPEND = 0;
|
||||||
|
# # USB_BLACKLIST_BTUSB = 0;
|
||||||
|
# # START_CHARGE_THRESH_BAT0 = 0;
|
||||||
|
# # STOP_CHARGE_THRESH_BAT0 = 1;
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,13 +25,17 @@
|
|||||||
services.upower.enable = true;
|
services.upower.enable = true;
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
|
|
||||||
|
programs.dconf.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
(writeShellScriptBin "power_max" (builtins.readFile ../scripts/max.sh))
|
(writeShellScriptBin "power_max" (builtins.readFile ../scripts/max.sh))
|
||||||
(writeShellScriptBin "power_min" (builtins.readFile ../scripts/min.sh))
|
(writeShellScriptBin "power_min" (builtins.readFile ../scripts/min.sh))
|
||||||
(writeShellScriptBin "reload" (builtins.readFile ../scripts/reload.sh))
|
(writeShellScriptBin "reload" (builtins.readFile ../scripts/reload.sh))
|
||||||
# papirus-icon-theme
|
# papirus-icon-theme
|
||||||
|
kora-icon-theme
|
||||||
nordzy-icon-theme
|
nordzy-icon-theme
|
||||||
adwaita-icon-theme
|
adwaita-icon-theme
|
||||||
# hicolor-icon-theme
|
hicolor-icon-theme
|
||||||
|
lomiri.suru-icon-theme
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,9 +10,9 @@
|
|||||||
|
|
||||||
services.displayManager.gdm.enable = lib.mkDefault true;
|
services.displayManager.gdm.enable = lib.mkDefault true;
|
||||||
services.desktopManager.gnome.enable = lib.mkDefault false;
|
services.desktopManager.gnome.enable = lib.mkDefault false;
|
||||||
programs.uwsm.enable = true;
|
# programs.uwsm.enable = true;
|
||||||
programs.hyprland = {
|
programs.hyprland = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
withUWSM = true;
|
withUWSM = false;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user