Compare commits
4 Commits
844561a87c
...
c977589fde
| Author | SHA1 | Date | |
|---|---|---|---|
|
c977589fde
|
|||
|
7af7980e07
|
|||
|
c47ca40705
|
|||
|
ebd19812a2
|
@ -81,7 +81,7 @@
|
|||||||
signCommits = true;
|
signCommits = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
hyprland = import ./hyprland.nix {inherit config headless;};
|
hyprland = import ./hyprland.nix {inherit pkgs config headless;};
|
||||||
hyprpanel.enable = !headless;
|
hyprpanel.enable = !headless;
|
||||||
kitty.enable = !headless;
|
kitty.enable = !headless;
|
||||||
lazygit.enable = true;
|
lazygit.enable = true;
|
||||||
|
|||||||
@ -1,11 +1,12 @@
|
|||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
config,
|
config,
|
||||||
headless,
|
headless,
|
||||||
}: {
|
}: {
|
||||||
enable = !headless;
|
enable = !headless;
|
||||||
dunst.enable = !config.modules.hyprpanel.enable; # Disable for hyprpanel
|
dunst.enable = !config.modules.hyprpanel.enable; # Disable for hyprpanel
|
||||||
bars.enable = false;
|
bars.enable = false;
|
||||||
dynamicCursor.enable = true;
|
dynamicCursor.enable = false;
|
||||||
trails.enable = true;
|
trails.enable = true;
|
||||||
hyprspace.enable = true;
|
hyprspace.enable = true;
|
||||||
|
|
||||||
@ -37,6 +38,25 @@
|
|||||||
"$mainMod, XF86MonBrightnessDown" = ["exec, hyprctl hyprsunset temperature 5750"];
|
"$mainMod, XF86MonBrightnessDown" = ["exec, hyprctl hyprsunset temperature 5750"];
|
||||||
"$mainMod, XF86MonBrightnessUp" = ["exec, hyprctl hyprsunset identity"];
|
"$mainMod, XF86MonBrightnessUp" = ["exec, hyprctl hyprsunset identity"];
|
||||||
|
|
||||||
|
"CTRL ALT, f" = let
|
||||||
|
hyprctl = "${config.wayland.windowManager.hyprland.package}/bin/hyprctl";
|
||||||
|
grep = "${pkgs.gnugrep}/bin/grep";
|
||||||
|
awk = "${pkgs.gawk}/bin/gawk";
|
||||||
|
notify = "${pkgs.libnotify}/bin/notify-send";
|
||||||
|
|
||||||
|
toggleMouseFocus = pkgs.writeScriptBin "hypr-toggle-mouse-focus" ''
|
||||||
|
CURRENT=$(${hyprctl} getoption input:follow_mouse | ${grep} int | ${awk} -F' ' '{print $2}')
|
||||||
|
|
||||||
|
if [[ "$CURRENT" == "1" ]]; then
|
||||||
|
${hyprctl} keyword input:follow_mouse 0
|
||||||
|
${notify} "Disabled Mouse Focus!"
|
||||||
|
else
|
||||||
|
${hyprctl} keyword input:follow_mouse 1
|
||||||
|
${notify} "Enabled Mouse Focus!"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
in ["exec, ${toggleMouseFocus}/bin/hypr-toggle-mouse-focus"];
|
||||||
|
|
||||||
# "CTRL ALT, t" = ["exec, bash -c 'systemctl --user restart hyprpanel.service'"];
|
# "CTRL ALT, t" = ["exec, bash -c 'systemctl --user restart hyprpanel.service'"];
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -89,7 +109,7 @@
|
|||||||
workspacerules = {
|
workspacerules = {
|
||||||
"1" = [];
|
"1" = [];
|
||||||
"2" = ["Zotero" "neovide" "code-url-handler"];
|
"2" = ["Zotero" "neovide" "code-url-handler"];
|
||||||
"3" = ["obsidian" "unityhub" "Unity"];
|
"3" = ["obsidian"];
|
||||||
"4" = ["firefox" "Google-chrome" "chromium-browser" "org.qutebrowser.qutebrowser"];
|
"4" = ["firefox" "Google-chrome" "chromium-browser" "org.qutebrowser.qutebrowser"];
|
||||||
"5" = ["steam"];
|
"5" = ["steam"];
|
||||||
"6" = ["steam_app_(.+)"];
|
"6" = ["steam_app_(.+)"];
|
||||||
@ -106,6 +126,7 @@
|
|||||||
title = "File Operation Progress";
|
title = "File Operation Progress";
|
||||||
}
|
}
|
||||||
{class = "ffplay";}
|
{class = "ffplay";}
|
||||||
|
{class = "Unity";}
|
||||||
];
|
];
|
||||||
|
|
||||||
transparent-opacity = "0.75";
|
transparent-opacity = "0.75";
|
||||||
|
|||||||
@ -132,9 +132,9 @@
|
|||||||
mono
|
mono
|
||||||
steam-run-free # nix-alien doesn't seem to run unity apps, this does...
|
steam-run-free # nix-alien doesn't seem to run unity apps, this does...
|
||||||
|
|
||||||
blender
|
(blender.override {cudaSupport = true;})
|
||||||
godot_4
|
godot_4
|
||||||
obs-studio
|
(obs-studio.override {cudaSupport = true;})
|
||||||
kdePackages.kdenlive
|
kdePackages.kdenlive
|
||||||
krita
|
krita
|
||||||
makemkv
|
makemkv
|
||||||
|
|||||||
@ -283,6 +283,10 @@ in {
|
|||||||
"theme.bar.buttons.clock.text" = "#${color.hex.accentText}";
|
"theme.bar.buttons.clock.text" = "#${color.hex.accentText}";
|
||||||
|
|
||||||
# https://github.com/Jas-SinghFSU/HyprPanel/blob/master/src/configuration/modules/config/bar/systray/index.ts
|
# https://github.com/Jas-SinghFSU/HyprPanel/blob/master/src/configuration/modules/config/bar/systray/index.ts
|
||||||
|
"bar.systray.ignore" = [
|
||||||
|
"Fcitx" # Keyboard indicator
|
||||||
|
]; # Middle click the tray icon to show a notification with the app name :)
|
||||||
|
"bar.systray.customIcons" = {};
|
||||||
|
|
||||||
# https://github.com/Jas-SinghFSU/HyprPanel/blob/master/src/configuration/modules/theme/bar/buttons/systray.ts
|
# https://github.com/Jas-SinghFSU/HyprPanel/blob/master/src/configuration/modules/theme/bar/buttons/systray.ts
|
||||||
"theme.bar.buttons.systray.background" = "#${color.hex.blue}";
|
"theme.bar.buttons.systray.background" = "#${color.hex.blue}";
|
||||||
|
|||||||
@ -43,6 +43,12 @@ in {
|
|||||||
mkRFile = mkFile "root";
|
mkRFile = mkFile "root";
|
||||||
mkUDir = mkDir "${username}";
|
mkUDir = mkDir "${username}";
|
||||||
mkUFile = mkFile "${username}";
|
mkUFile = mkFile "${username}";
|
||||||
|
# TODO: sth. like this, make options for configdirs/sharedirs/statedirs/homedirs
|
||||||
|
# populate options from respective modules, not here...
|
||||||
|
# mkConfigDirs = dirs:
|
||||||
|
# dirs
|
||||||
|
# |> builtins.map (dir: ".config/${dir}")
|
||||||
|
# |> builtins.map mkUDir # NOTE: mkUDir has wrong arg order
|
||||||
in
|
in
|
||||||
lib.mkIf impermanence.enable {
|
lib.mkIf impermanence.enable {
|
||||||
# TODO: Create options to allow host-specific impermanence setup
|
# TODO: Create options to allow host-specific impermanence setup
|
||||||
@ -80,13 +86,13 @@ in {
|
|||||||
files = [
|
files = [
|
||||||
# NOTE: Don't put files generated/linked by HM here (they're already managed)
|
# NOTE: Don't put files generated/linked by HM here (they're already managed)
|
||||||
|
|
||||||
# TODO: These files are not mounted?
|
# TODO: Specifying files here (e.g. .config/QtProject.conf) doesn't seem to work
|
||||||
(mkUFile ".config/.tidal-dl.json" m755)
|
# They won't get mounted, also they can't be unmounted (because they're not mounted),
|
||||||
(mkUFile ".config/.tidal-dl.token.json" m755)
|
# which leads to /home not being unmounted correctly during shutdown...
|
||||||
(mkUFile ".config/QtProject.conf" m755) # KeePassXC
|
|
||||||
];
|
];
|
||||||
|
|
||||||
directories = [
|
directories = [
|
||||||
|
# Home directory
|
||||||
(mkUDir "Downloads" m755)
|
(mkUDir "Downloads" m755)
|
||||||
(mkUDir "Documents" m755)
|
(mkUDir "Documents" m755)
|
||||||
(mkUDir "GitRepos" m755)
|
(mkUDir "GitRepos" m755)
|
||||||
@ -98,26 +104,35 @@ in {
|
|||||||
(mkUDir "Unity" m755)
|
(mkUDir "Unity" m755)
|
||||||
(mkUDir "Videos" m755)
|
(mkUDir "Videos" m755)
|
||||||
|
|
||||||
|
# Secrets
|
||||||
(mkUDir ".gnupg" m755) # m600
|
(mkUDir ".gnupg" m755) # m600
|
||||||
(mkUDir ".secrets" m755) # m644
|
(mkUDir ".secrets" m755) # m644
|
||||||
(mkUDir ".ssh" m755) # m644
|
(mkUDir ".ssh" m755) # m644
|
||||||
|
|
||||||
|
# The shit some applications add to ~/ without asking
|
||||||
(mkUDir ".android" m755) # Unity
|
(mkUDir ".android" m755) # Unity
|
||||||
|
(mkUDir ".gradle" m755) # Unity
|
||||||
(mkUDir ".java" m755) # Unity/Rider
|
(mkUDir ".java" m755) # Unity/Rider
|
||||||
(mkUDir ".mozilla/firefox" m755) # TODO: Remove this someday
|
(mkUDir ".mozilla/firefox" m755) # TODO: Remove this someday
|
||||||
(mkUDir ".mozilla/native-messaging-hosts" m755)
|
(mkUDir ".mozilla/native-messaging-hosts" m755)
|
||||||
(mkUDir ".nix-package-search" m755)
|
(mkUDir ".nix-package-search" m755)
|
||||||
|
(mkUDir ".nv" m755) # Unity
|
||||||
(mkUDir ".ollama" m755)
|
(mkUDir ".ollama" m755)
|
||||||
|
(mkUDir ".plastic4" m755) # Unity
|
||||||
(mkUDir ".var/app" m755)
|
(mkUDir ".var/app" m755)
|
||||||
(mkUDir ".vim/undo" m755)
|
(mkUDir ".vim/undo" m755)
|
||||||
(mkUDir ".zotero" m755)
|
(mkUDir ".zotero" m755)
|
||||||
|
|
||||||
|
# Cache that's actually useful
|
||||||
(mkUDir ".cache/fish/generated_completions" m755)
|
(mkUDir ".cache/fish/generated_completions" m755)
|
||||||
(mkUDir ".cache/nix-index" m755)
|
(mkUDir ".cache/nix-index" m755)
|
||||||
(mkUDir ".cache/nix-search-tv" m755)
|
(mkUDir ".cache/nix-search-tv" m755)
|
||||||
(mkUDir ".cache/nvim" m755)
|
(mkUDir ".cache/nvim" m755)
|
||||||
|
|
||||||
|
# Config
|
||||||
|
(mkUDir ".config/.android" m755) # Unity
|
||||||
(mkUDir ".config/beets" m755)
|
(mkUDir ".config/beets" m755)
|
||||||
|
(mkUDir ".config/blender" m755)
|
||||||
(mkUDir ".config/chromium" m755) # TODO: Remove this someday
|
(mkUDir ".config/chromium" m755) # TODO: Remove this someday
|
||||||
(mkUDir ".config/Ferdium" m755)
|
(mkUDir ".config/Ferdium" m755)
|
||||||
(mkUDir ".config/fish/completions" m755)
|
(mkUDir ".config/fish/completions" m755)
|
||||||
@ -128,19 +143,22 @@ in {
|
|||||||
(mkUDir ".config/Msty" m755)
|
(mkUDir ".config/Msty" m755)
|
||||||
(mkUDir ".config/Nextcloud" m755)
|
(mkUDir ".config/Nextcloud" m755)
|
||||||
(mkUDir ".config/obsidian" m755)
|
(mkUDir ".config/obsidian" m755)
|
||||||
|
(mkUDir ".config/obs-studio" m755)
|
||||||
(mkUDir ".config/Signal" m755)
|
(mkUDir ".config/Signal" m755)
|
||||||
|
(mkUDir ".config/singularitygroup-hotreload" m755) # Unity
|
||||||
(mkUDir ".config/tidal-hifi" m755)
|
(mkUDir ".config/tidal-hifi" m755)
|
||||||
(mkUDir ".config/tidal_dl_ng" m755)
|
(mkUDir ".config/tidal_dl_ng" m755)
|
||||||
(mkUDir ".config/unity3d" m755) # Unity
|
(mkUDir ".config/unity3d" m755) # Unity
|
||||||
(mkUDir ".config/unityhub" m755)
|
(mkUDir ".config/unityhub" m755) # Unity
|
||||||
(mkUDir ".config/vlc" m755)
|
(mkUDir ".config/vlc" m755)
|
||||||
(mkUDir ".config/Zeal" m755)
|
(mkUDir ".config/Zeal" m755)
|
||||||
|
|
||||||
|
# Share
|
||||||
(mkUDir ".local/share/direnv" m755)
|
(mkUDir ".local/share/direnv" m755)
|
||||||
(mkUDir ".local/share/docker" m755)
|
(mkUDir ".local/share/docker" m755)
|
||||||
(mkUDir ".local/share/fish" m755)
|
(mkUDir ".local/share/fish" m755)
|
||||||
(mkUDir ".local/share/flatpak" m755)
|
(mkUDir ".local/share/flatpak" m755)
|
||||||
(mkUDir ".local/share/JetBrains" m755) # Unity/Rider
|
(mkUDir ".local/share/JetBrains" m755) # Unity
|
||||||
(mkUDir ".local/share/hyprland" m755)
|
(mkUDir ".local/share/hyprland" m755)
|
||||||
(mkUDir ".local/share/keyrings" m755) # m700
|
(mkUDir ".local/share/keyrings" m755) # m700
|
||||||
(mkUDir ".local/share/mime" m755)
|
(mkUDir ".local/share/mime" m755)
|
||||||
@ -148,10 +166,12 @@ in {
|
|||||||
(mkUDir ".local/share/nvim" m755)
|
(mkUDir ".local/share/nvim" m755)
|
||||||
(mkUDir ".local/share/qutebrowser" m755)
|
(mkUDir ".local/share/qutebrowser" m755)
|
||||||
(mkUDir ".local/share/systemd" m755)
|
(mkUDir ".local/share/systemd" m755)
|
||||||
(mkUDir ".local/share/unity3d" m755)
|
(mkUDir ".local/share/unity3d" m755) # Unity
|
||||||
(mkUDir ".local/share/zoxide" m755)
|
(mkUDir ".local/share/zoxide" m755)
|
||||||
|
|
||||||
|
# State
|
||||||
(mkUDir ".local/state/astal/notifd" m755)
|
(mkUDir ".local/state/astal/notifd" m755)
|
||||||
|
(mkUDir ".local/state/home-manager/gc-roots" m755) # nix-flatpak stores its state there
|
||||||
(mkUDir ".local/state/lazygit" m755)
|
(mkUDir ".local/state/lazygit" m755)
|
||||||
(mkUDir ".local/state/nix" m755)
|
(mkUDir ".local/state/nix" m755)
|
||||||
(mkUDir ".local/state/nvim" m755)
|
(mkUDir ".local/state/nvim" m755)
|
||||||
|
|||||||
@ -43,9 +43,11 @@
|
|||||||
|
|
||||||
blacklistedKernelModules = ["k10temp"]; # Disable in favor of zenpower
|
blacklistedKernelModules = ["k10temp"]; # Disable in favor of zenpower
|
||||||
|
|
||||||
|
kernelParams = [
|
||||||
# Enable AMD pstate
|
# Enable AMD pstate
|
||||||
# https://github.com/NixOS/nixos-hardware/blob/master/common/cpu/amd/pstate.nix
|
# https://github.com/NixOS/nixos-hardware/blob/master/common/cpu/amd/pstate.nix
|
||||||
kernelParams = ["amd_pstate=active"];
|
"amd_pstate=active"
|
||||||
|
];
|
||||||
|
|
||||||
# extraModprobeConfig = ''
|
# extraModprobeConfig = ''
|
||||||
# options iwlwifi 11n_disable=1 wd_disable=0
|
# options iwlwifi 11n_disable=1 wd_disable=0
|
||||||
@ -117,9 +119,9 @@
|
|||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
# package = config.boot.kernelPackages.nvidiaPackages.beta;
|
# package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||||
|
|
||||||
modesetting.enable = true; # Not officially supported by NVidia but needed for wayland
|
|
||||||
open = true;
|
open = true;
|
||||||
nvidiaSettings = false; # Those are for x-server
|
nvidiaSettings = false; # Those are for x-server
|
||||||
|
modesetting.enable = true; # Required for wayland
|
||||||
};
|
};
|
||||||
|
|
||||||
# video.hidpi.enable = lib.mkDefault true; # No longer has any effect
|
# video.hidpi.enable = lib.mkDefault true; # No longer has any effect
|
||||||
|
|||||||
Reference in New Issue
Block a user