Compare commits
No commits in common. "4bba4871b48715a102eff033c3e735f0226ef861" and "d0d4bf9ddbd55e46afe3be7c98eef8ccaff5a008" have entirely different histories.
4bba4871b4
...
d0d4bf9ddb
27 changed files with 21 additions and 1303 deletions
|
|
@ -5,7 +5,6 @@ rewrite of my nixos flake with hopefully better structuring and modularity
|
||||||
- (progress) migrate files to this repository in the modules folder
|
- (progress) migrate files to this repository in the modules folder
|
||||||
- (half-progress) split the files into little chunks for 1 specific purposes per file
|
- (half-progress) split the files into little chunks for 1 specific purposes per file
|
||||||
- (quater-progress) reintegrate file paths and arguments to work together
|
- (quater-progress) reintegrate file paths and arguments to work together
|
||||||
- test the final config in my system
|
|
||||||
|
|
||||||
# todo: migrate files below
|
# todo: migrate files below
|
||||||
- [X] flake stuff (flake.nix & flake.lock)
|
- [X] flake stuff (flake.nix & flake.lock)
|
||||||
|
|
@ -16,5 +15,5 @@ rewrite of my nixos flake with hopefully better structuring and modularity
|
||||||
- [X] apps list
|
- [X] apps list
|
||||||
- [X] user config (not hm)
|
- [X] user config (not hm)
|
||||||
|
|
||||||
- [X] home manager config
|
- [ ] home manager config
|
||||||
- [X] rice config (everything in /rice)
|
- [ ] rice config (everything in /rice)
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
{ ... }: {
|
{ ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
../../modules/scans/thinkpad.nix
|
|
||||||
|
|
||||||
../../modules/hardware/thinkpad.nix
|
../../modules/hardware/thinkpad.nix
|
||||||
../../modules/system/default.nix
|
../../modules/system/default.nix
|
||||||
../../modules/system/user.nix
|
../../modules/scans/thinkpad.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./misc/battery-power.nix
|
./misc/battery-power.nix
|
||||||
./misc/power-button.nix
|
./misc/power-button.nix
|
||||||
|
|
@ -10,11 +11,11 @@
|
||||||
./core/tpm.nix
|
./core/tpm.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
kernelPackages = pkgs.linuxPackages;
|
kernelPackages = pkgs.linuxPackages;
|
||||||
kernel.sysctl."vm.laptop_mode" = 5;
|
kernel.sysctl."vm.laptop_mode" = 5;
|
||||||
initrd.availableKernelModules = [ "thinkpad_acpi" ];
|
initrd.availableKernelModules = [ "thinkpad_acpi" ];
|
||||||
};
|
};
|
||||||
hardware.bluetooth.enable = true;
|
|
||||||
services.hardware.bolt.enable = true;
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
||||||
{ pkgs, ... }: {
|
|
||||||
home = {
|
|
||||||
sessionVariables = {
|
|
||||||
EDITOR = "nvim";
|
|
||||||
BROWSER = "brave";
|
|
||||||
TERMINAL = "kitty";
|
|
||||||
};
|
|
||||||
packages = with pkgs; [
|
|
||||||
vscode # lets see how long you survive as my default code editor
|
|
||||||
zed-editor
|
|
||||||
|
|
||||||
discord
|
|
||||||
slack
|
|
||||||
brave
|
|
||||||
|
|
||||||
appimage-run
|
|
||||||
#winboat
|
|
||||||
libreoffice
|
|
||||||
#keepassxc
|
|
||||||
vlc
|
|
||||||
remmina
|
|
||||||
moonlight-qt
|
|
||||||
kdePackages.kdenlive
|
|
||||||
inkscape
|
|
||||||
#davinci-resolve
|
|
||||||
|
|
||||||
(wrapOBS {
|
|
||||||
plugins = with obs-studio-plugins; [
|
|
||||||
wlrobs
|
|
||||||
obs-backgroundremoval
|
|
||||||
obs-pipewire-audio-capture
|
|
||||||
];
|
|
||||||
})
|
|
||||||
|
|
||||||
portablemc
|
|
||||||
ferium
|
|
||||||
virt-manager
|
|
||||||
|
|
||||||
# CLI tools moved to core/cli.nix
|
|
||||||
go
|
|
||||||
bun
|
|
||||||
#nodejs # pkgs.buildEnv error: two given paths contain a conflicting subpath
|
|
||||||
nodePackages.npm
|
|
||||||
nodePackages.pnpm
|
|
||||||
nodePackages.yarn
|
|
||||||
python314
|
|
||||||
jdk25_headless
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,85 +0,0 @@
|
||||||
{ pkgs, git, rice, ... }: {
|
|
||||||
programs = {
|
|
||||||
tmux.enable = true;
|
|
||||||
vim.enable = true;
|
|
||||||
bat.enable = true;
|
|
||||||
kitty = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.kitty;
|
|
||||||
settings = {
|
|
||||||
font_family = rice.font;
|
|
||||||
background_opacity = 0.8;
|
|
||||||
background_blur = 4;
|
|
||||||
window_padding_width = 8;
|
|
||||||
cursor_shape = "beam";
|
|
||||||
cursor_trail = 10;
|
|
||||||
copy_on_select = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
ranger = {
|
|
||||||
enable = true;
|
|
||||||
aliases = {
|
|
||||||
"sh" = "shell zsh";
|
|
||||||
"zed" = "shell zeditor .";
|
|
||||||
"vim" = "shell vim";
|
|
||||||
"img" = "shell eog .";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
btop = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
update_ms = 100;
|
|
||||||
shown_boxes = "proc cpu";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
neovim = {
|
|
||||||
enable = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
vimAlias = true;
|
|
||||||
initLua = ''
|
|
||||||
vim.opt.clipboard = "unnamedplus"
|
|
||||||
vim.opt.termguicolors = true
|
|
||||||
require("nvim-tree").setup()
|
|
||||||
vim.api.nvim_create_autocmd("VimEnter", {
|
|
||||||
callback = function()
|
|
||||||
-- vim.cmd("NvimTreeOpen")
|
|
||||||
vim.cmd.wincmd 'p'
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
'';
|
|
||||||
plugins = with pkgs.vimPlugins; [
|
|
||||||
bufferline-nvim
|
|
||||||
nvim-web-devicons
|
|
||||||
nvim-treesitter
|
|
||||||
nvim-lspconfig
|
|
||||||
telescope-file-browser-nvim
|
|
||||||
nvim-tree-lua
|
|
||||||
nvim-cmp
|
|
||||||
barbar-nvim
|
|
||||||
indent-blankline-nvim
|
|
||||||
markdown-preview-nvim
|
|
||||||
];
|
|
||||||
};
|
|
||||||
gh = {
|
|
||||||
enable = true;
|
|
||||||
settings.editor = "nvim";
|
|
||||||
gitCredentialHelper.enable = true;
|
|
||||||
extensions = with pkgs; [
|
|
||||||
gh-dash
|
|
||||||
gh-skyline
|
|
||||||
gh-eco
|
|
||||||
];
|
|
||||||
};
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
pull.rebase = "true";
|
|
||||||
user = {
|
|
||||||
name = git.user;
|
|
||||||
email = git.email;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
xdg = {
|
|
||||||
autostart.enable = true;
|
|
||||||
mimeApps = {
|
|
||||||
enable = true;
|
|
||||||
defaultApplications = {
|
|
||||||
"text/plain" = "nvim.desktop";
|
|
||||||
"text/html" = "brave-browser.desktop";
|
|
||||||
"application/pdf" = "brave-browser.desktop";
|
|
||||||
"x-scheme-handler/http" = "brave-browser.desktop";
|
|
||||||
"x-scheme-handler/https" = "brave-browser.desktop";
|
|
||||||
"x-scheme-handler/terminal" = "kitty.desktop";
|
|
||||||
"x-terminal-emulator" = "kitty.desktop";
|
|
||||||
"inode/directory" = "pcmanfm-qt.desktop";
|
|
||||||
"audio/mpeg" = "vlc.desktop";
|
|
||||||
"audio/mp3" = "vlc.desktop";
|
|
||||||
"audio/wav" = "vlc.desktop";
|
|
||||||
"audio/flac" = "vlc.desktop";
|
|
||||||
"video/mp4" = "vlc.desktop";
|
|
||||||
"video/x-matroska" = "vlc.desktop";
|
|
||||||
"video/webm" = "vlc.desktop";
|
|
||||||
"video/x-msvideo" = "vlc.desktop";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
||||||
{ pkgs, ... }: {
|
|
||||||
programs.zed-editor = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.zed-editor;
|
|
||||||
extensions = [ "nix" ];
|
|
||||||
userSettings = {
|
|
||||||
format_on_save = "off";
|
|
||||||
features.edit_prediction_provider = "copilot";
|
|
||||||
vim_mode = true;
|
|
||||||
git.inline_blame.enabled = true;
|
|
||||||
gutter.line_numbers = true;
|
|
||||||
relative_line_numbers = "enabled";
|
|
||||||
minimap.show = "never";
|
|
||||||
autosave.after_delay.milliseconds = 1000;
|
|
||||||
tab_size = 2;
|
|
||||||
ui_font_size = 16;
|
|
||||||
buffer_font_size = 15;
|
|
||||||
base_keymap = "VSCode";
|
|
||||||
file_types.tailwindcss = [ "*.css" ];
|
|
||||||
auto_install_extensions.catppuccin-icons = true;
|
|
||||||
icon_theme = "Catppuccin Mocha";
|
|
||||||
theme = {
|
|
||||||
mode = "dark";
|
|
||||||
light = "Catppuccin Mocha (sapphire)";
|
|
||||||
dark = "Catppuccin Mocha (sapphire)";
|
|
||||||
};
|
|
||||||
lsp.discord_presence.initialization_options = {
|
|
||||||
application_id = "1263505205522337886";
|
|
||||||
base_icons_url = "https://raw.githubusercontent.com/xhyrom/zed-discord-presence/main/assets/icons/";
|
|
||||||
state = "Working on {filename}";
|
|
||||||
details = "In {workspace}";
|
|
||||||
large_image = "{base_icons_url}/{language:lo}.png";
|
|
||||||
large_text = "{language:u}";
|
|
||||||
small_image = "{base_icons_url}/zed.png";
|
|
||||||
small_text = "Zed";
|
|
||||||
git_integration = true;
|
|
||||||
idle = {
|
|
||||||
timeout = 300;
|
|
||||||
action = "change_activity";
|
|
||||||
state = "Idling";
|
|
||||||
details = "In Zed";
|
|
||||||
large_image = "{base_icons_url}/zed.png";
|
|
||||||
large_text = "Zed";
|
|
||||||
small_image = "{base_icons_url}/idle.png";
|
|
||||||
small_text = "Idle";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
{ hostname, flake-path, mc, ... }: {
|
|
||||||
programs = {
|
|
||||||
pay-respects = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
options = [
|
|
||||||
"--alias"
|
|
||||||
"f"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
zsh = {
|
|
||||||
enable = true;
|
|
||||||
autocd = true;
|
|
||||||
syntaxHighlighting.enable = true;
|
|
||||||
envExtra = ''
|
|
||||||
NIXPKGS_ALLOW_UNFREE=1
|
|
||||||
WINEPREFIX="~/.wine"
|
|
||||||
WINEARCH="win64"
|
|
||||||
DISPLAY=":0"
|
|
||||||
EDITOR="nvim"
|
|
||||||
PORT="3000"
|
|
||||||
'';
|
|
||||||
shellAliases = {
|
|
||||||
"cd-gvfs" = "cd /run/user/$(id -u)/gvfs";
|
|
||||||
"wlp-set" = "swww img --transition-type=grow --transition-duration=1";
|
|
||||||
"ssh" = "TERM=xterm-256color ssh";
|
|
||||||
|
|
||||||
"sys" = "sudo systemctl";
|
|
||||||
"sys-log" = "journalctl -f -b -u";
|
|
||||||
"user" = "systemctl --user";
|
|
||||||
"user-log" = "journalctl -f -b --user-unit";
|
|
||||||
|
|
||||||
"ts" = "sudo tailscale";
|
|
||||||
"tsip" = "tailscale ip -4";
|
|
||||||
"rmall" = "rm -rf ./* ./.*"; # scary!
|
|
||||||
"srmall" = "sudo rm -rf ./* ./.*"; # also scary!
|
|
||||||
|
|
||||||
"fetch-update" ="rm -f ~/.fetch.sh && wget https://raw.githubusercontent.com/SX-9/fetch.sh/master/fetch.sh -O ~/.fetch.sh && chmod +x ~/.fetch.sh";
|
|
||||||
"fetch" = "~/.fetch.sh";
|
|
||||||
|
|
||||||
"hm-sw" = "home-manager switch -b bak-hm --flake";
|
|
||||||
"nix-sw" = "sudo nixos-rebuild switch --flake";
|
|
||||||
"nix-hw-conf" = "nixos-generate-config --show-hardware-config";
|
|
||||||
"cd-conf" = "cd ${flake-path}";
|
|
||||||
"code-conf" = "zeditor ${flake-path}";
|
|
||||||
|
|
||||||
"mkdistro" = "distrobox create -Y -i";
|
|
||||||
"mkdistro-arch" = "mkdistro archlinux -n arch";
|
|
||||||
"mkdistro-deb" = "mkdistro debian -n deb";
|
|
||||||
"win11-compose" = "docker compose --file ~/.config/winapps/compose.yaml";
|
|
||||||
"wm-ctl" = "hyprctl --instance 0";
|
|
||||||
"wm-lock" = "wm-ctl dispatch exec loginctl lock-session && notify-send ${hostname} 'Manual lock triggered'";
|
|
||||||
"wm-dpms" = "wm-ctl dispatch dpms";
|
|
||||||
|
|
||||||
"git-author-setup" = "git config user.name $(gh api -H \"Accept: application/vnd.github+json\" -H \"X-GitHub-Api-Version: 2022-11-28\" /user | jq -r .login) && git config user.email $(gh api -H \"Accept: application/vnd.github+json\" -H \"X-GitHub-Api-Version: 2022-11-28\" /user/emails | jq -r \".[1].email\")";
|
|
||||||
"mcl" = "portablemc start ${mc.version} -l ${mc.email}";
|
|
||||||
"mc" = "ferium upgrade; mcl";
|
|
||||||
|
|
||||||
"please" = "SUDO_PROMPT=\"What is the magic word? \" sudo";
|
|
||||||
"pls" = "SUDO_PROMPT=\"What is the magic word? \" sudo";
|
|
||||||
};
|
|
||||||
initContent = ''
|
|
||||||
if [[ -z "$SSH_CONNECTION" && $(tput cols) -ge 64 && $(tput lines) -ge 16 ]]; then
|
|
||||||
# ~/.fetch.sh -c 2> /dev/null
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
oh-my-zsh = {
|
|
||||||
enable = true;
|
|
||||||
plugins = ["git"];
|
|
||||||
theme = "refined";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
{ username, ... }: {
|
|
||||||
imports = [
|
|
||||||
./misc/kde-connect.nix
|
|
||||||
./core/apps.nix
|
|
||||||
./core/zed.nix
|
|
||||||
./core/xdg.nix
|
|
||||||
./core/cli.nix
|
|
||||||
./core/zsh.nix
|
|
||||||
./desktop.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
home = {
|
|
||||||
stateVersion = "24.11";
|
|
||||||
username = "${username}";
|
|
||||||
homeDirectory = "/home/${username}";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
{ pkgs, ... }: {
|
|
||||||
imports = [
|
|
||||||
./rice/hyprland.nix
|
|
||||||
./rice/hyprlock.nix
|
|
||||||
./rice/waybar.nix
|
|
||||||
./rice/rofi.nix
|
|
||||||
./rice/wlogout.nix
|
|
||||||
./rice/hypridle.nix
|
|
||||||
./rice/dunst.nix
|
|
||||||
./rice/cursor.nix
|
|
||||||
./rice/theme.nix
|
|
||||||
./rice/keybinds.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
services = {
|
|
||||||
swww.enable = true;
|
|
||||||
hyprpolkitagent.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home = {
|
|
||||||
packages = with pkgs; [
|
|
||||||
playerctl brightnessctl
|
|
||||||
networkmanagerapplet
|
|
||||||
qt6Packages.qt6ct kdePackages.qtstyleplugin-kvantum
|
|
||||||
nwg-displays
|
|
||||||
lxqt.pcmanfm-qt
|
|
||||||
hyprshot wl-clipboard cliphist
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
services.kdeconnect = {
|
|
||||||
enable = true;
|
|
||||||
indicator = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
{ pkgs, ctp-opt, ... }: {
|
|
||||||
home.pointerCursor = {
|
|
||||||
gtk.enable = true;
|
|
||||||
package = pkgs.catppuccin-cursors."${ctp-opt.flavor}Light";
|
|
||||||
name = "catppuccin-${ctp-opt.flavor}-light-cursors";
|
|
||||||
size = 24;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
{ pkgs, rice, ... }: {
|
|
||||||
services.dunst = {
|
|
||||||
enable = true;
|
|
||||||
settings.global = {
|
|
||||||
font = "${rice.font} 8";
|
|
||||||
width = 300;
|
|
||||||
origin = "${if rice.bar.top then "top" else "bottom"}-right";
|
|
||||||
offset = "${toString rice.gap.outer}x${toString rice.gap.outer}";
|
|
||||||
corner_radius = rice.borders.rounded;
|
|
||||||
frame_width = rice.borders.size;
|
|
||||||
notification_limit = 0;
|
|
||||||
mouse_left_click = "close_current";
|
|
||||||
mouse_middle_click = "do_action";
|
|
||||||
mouse_right_click = "context";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
dunst
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
{ pkgs, ... }: {
|
|
||||||
services.hypridle = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
general = {
|
|
||||||
lock_cmd = "hyprlock";
|
|
||||||
unlock_cmd = "pkill -USR1 hyprlock";
|
|
||||||
before_sleep_cmd = "hyprctl dispatch dpms off && hyprlock";
|
|
||||||
after_sleep_cmd = "hyprctl dispatch dpms on && pkill -USR2 hyprlock";
|
|
||||||
};
|
|
||||||
listener = [
|
|
||||||
{
|
|
||||||
timeout = 120;
|
|
||||||
on-timeout = "brightnessctl s 10%-";
|
|
||||||
on-resume = "brightnessctl s +10%";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
timeout = 300;
|
|
||||||
on-timeout = "hyprlock";
|
|
||||||
on-resume = "pkill -USR2 hyprlock";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
timeout = 420;
|
|
||||||
on-timeout = "hyprctl dispatch dpms off";
|
|
||||||
on-resume = "hyprctl dispatch dpms on";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
timeout = 600;
|
|
||||||
on-timeout = "systemctl suspend";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
hypridle
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,163 +0,0 @@
|
||||||
{ pkgs, rice, ctp-opt, ... }: {
|
|
||||||
imports = [
|
|
||||||
./keybinds.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
systemd.enable = false;
|
|
||||||
package = pkgs.hyprland; # inputs.hl.packages."${pkgs.system}".hyprland;
|
|
||||||
xwayland.enable = true;
|
|
||||||
settings = {
|
|
||||||
debug = {
|
|
||||||
error_position = 1;
|
|
||||||
disable_logs = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# monitor = [
|
|
||||||
# "eDP-1,preferred,auto,1"
|
|
||||||
# ",preferred,auto,1"
|
|
||||||
# ];
|
|
||||||
source = [
|
|
||||||
"~/.config/hypr/monitors.conf"
|
|
||||||
"~/.config/hypr/workspaces.conf"
|
|
||||||
]; # nwg-displays
|
|
||||||
|
|
||||||
exec-once = [
|
|
||||||
"hyprctl setcursor catppuccin-mocha-light-cursors 24"
|
|
||||||
"wl-paste --type text --watch cliphist store"
|
|
||||||
"wl-paste --type image --watch cliphist store"
|
|
||||||
|
|
||||||
#"dunst &"
|
|
||||||
#"hypridle &"
|
|
||||||
#"swww-daemon &"
|
|
||||||
"uwsm app -s s -- waybar &"
|
|
||||||
"uwsm app -s b -- sunshine &"
|
|
||||||
|
|
||||||
"uwsm app -s b -- blueman-applet &"
|
|
||||||
"uwsm app -s b -- nm-applet &"
|
|
||||||
"uwsm app -s b -- tailscale-systray &"
|
|
||||||
#"keepassxc &"
|
|
||||||
];
|
|
||||||
|
|
||||||
env = [
|
|
||||||
"XCURSOR_SIZE,24"
|
|
||||||
"XCURSOR_THEME,catppuccin-${ctp-opt.flavor}-light-cursors"
|
|
||||||
"HYPRCURSOR_SIZE,24"
|
|
||||||
"HYPRCURSOR_THEME,catppuccin-${ctp-opt.flavor}-light-cursors"
|
|
||||||
|
|
||||||
"CLIPHIST_MAX_ITEMS,36"
|
|
||||||
|
|
||||||
"GTK_APPLICATION_PREFER_DARK_THEME,1"
|
|
||||||
"GTK_THEME,Adwaita:dark"
|
|
||||||
"QT_QPA_PLATFORMTHEME,kvantum"
|
|
||||||
];
|
|
||||||
|
|
||||||
general = {
|
|
||||||
gaps_in = rice.gap.inner;
|
|
||||||
gaps_out = rice.gap.outer;
|
|
||||||
border_size = rice.borders.size;
|
|
||||||
resize_on_border = true;
|
|
||||||
allow_tearing = false;
|
|
||||||
layout = "dwindle";
|
|
||||||
|
|
||||||
"col.active_border" = if rice.borders.colored then "$accent" else "$overlay0";
|
|
||||||
"col.inactive_border" = if rice.borders.colored then "$overlay2" else "$crust";
|
|
||||||
};
|
|
||||||
|
|
||||||
dwindle = {
|
|
||||||
preserve_split = true;
|
|
||||||
pseudotile = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
decoration = {
|
|
||||||
rounding = rice.borders.rounded;
|
|
||||||
rounding_power = 2;
|
|
||||||
active_opacity = 1.0;
|
|
||||||
inactive_opacity = 0.9;
|
|
||||||
|
|
||||||
shadow = {
|
|
||||||
enabled = true;
|
|
||||||
range = 6;
|
|
||||||
render_power = 3;
|
|
||||||
color_inactive = "rgba($crustAlpha99)";
|
|
||||||
color = "rgba($crustAlphaee)";
|
|
||||||
};
|
|
||||||
|
|
||||||
blur = {
|
|
||||||
enabled = true;
|
|
||||||
size = 3;
|
|
||||||
passes = 1;
|
|
||||||
vibrancy = 0.1696;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
animations = {
|
|
||||||
enabled = true;
|
|
||||||
#first_launch_animation = false;
|
|
||||||
|
|
||||||
bezier = [
|
|
||||||
"easeOutQuint,0.23,1,0.32,1"
|
|
||||||
"quick,0.15,0,0.1,1"
|
|
||||||
"overshot,0.05,0.9,0.1,1.1"
|
|
||||||
"instant,0,0,1,1"
|
|
||||||
];
|
|
||||||
|
|
||||||
animation = [
|
|
||||||
"global, 1, 10, default"
|
|
||||||
"fade, 1, 3, quick"
|
|
||||||
"border, 1, 10, quick"
|
|
||||||
"layers, 1, 5, easeOutQuint, slidevert"
|
|
||||||
"windows, 1, 5, easeOutQuint, popin 87%"
|
|
||||||
"workspaces, 1, 5, easeOutQuint, slidefade 20%"
|
|
||||||
"specialWorkspace, 1, 5, easeOutQuint, slidefadevert ${if rice.bar.top then "" else "-"}20%"
|
|
||||||
"zoomFactor, 1, 1, instant"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
misc = {
|
|
||||||
force_default_wallpaper = 0;
|
|
||||||
disable_hyprland_logo = true;
|
|
||||||
focus_on_activate = true;
|
|
||||||
middle_click_paste = false;
|
|
||||||
exit_window_retains_fullscreen = true;
|
|
||||||
on_focus_under_fullscreen = 1;
|
|
||||||
background_color = "$base";
|
|
||||||
vfr = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
input = {
|
|
||||||
kb_layout = "us";
|
|
||||||
kb_options = "caps:none";
|
|
||||||
follow_mouse = 1;
|
|
||||||
sensitivity = 0;
|
|
||||||
touchpad = {
|
|
||||||
natural_scroll = true;
|
|
||||||
middle_button_emulation = 0;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
layerrule = [
|
|
||||||
"no_anim on, match:namespace selection" # hyprshot overlay
|
|
||||||
"animation fade, match:namespace swww-daemon"
|
|
||||||
"animation fade, match:namespace logout_dialog"
|
|
||||||
"above_lock false, match:namespace waybar"
|
|
||||||
"above_lock true, match:namespace notifications"
|
|
||||||
"above_lock true, match:namespace selection"
|
|
||||||
"above_lock true, match:namespace logout_dialog"
|
|
||||||
];
|
|
||||||
|
|
||||||
windowrule = [
|
|
||||||
"suppress_event minimize, match:class .*"
|
|
||||||
"no_focus on, match:class ^$, match:title ^$, match:xwayland 1, match:float 1, match:fullscreen 0, match:pin 0"
|
|
||||||
|
|
||||||
"stay_focused on, suppress_event fullscreen maximize, dim_around on, float on, match:title ^(Hyprland Polkit Agent|Unlock Login Keyring|KeePassXC -.*)$"
|
|
||||||
"keep_aspect_ratio on, pin on, match:title ^(Picture in picture)$"
|
|
||||||
|
|
||||||
"float on, match:title ^(Open|Print|Save|Rename|Move|Copy|Confirm).*"
|
|
||||||
"float on, match:title ^(Preferences|Settings|Options|About|Passbolt).*"
|
|
||||||
"float on, match:title ^(MainPicker|Volume Control|File Operation Progress|Network Connections|Choose an Application| )$"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
{ rice, ... }: {
|
|
||||||
programs.hyprlock = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
|
|
||||||
general = {
|
|
||||||
ignore_empty_input = true;
|
|
||||||
hide_cursor = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
animation = {
|
|
||||||
bezier = [
|
|
||||||
"easeOutQuint,0.23,1,0.32,1"
|
|
||||||
"quick,0.15,0,0.1,1"
|
|
||||||
"overshot,0.05,0.9,0.1,1.1"
|
|
||||||
];
|
|
||||||
|
|
||||||
animation = [
|
|
||||||
"fade, 1, 3.5, easeOutQuint"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
background = [
|
|
||||||
{
|
|
||||||
path = "screenshot";
|
|
||||||
brightness = 0.25;
|
|
||||||
blur_passes = 3;
|
|
||||||
blur_size = 1;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
label = [
|
|
||||||
{
|
|
||||||
text = "<span> </span>";
|
|
||||||
color = "$subtext1";
|
|
||||||
font_size = 64;
|
|
||||||
position = "0, 0";
|
|
||||||
shadow_passes = 1;
|
|
||||||
shadow_boost = 0.5;
|
|
||||||
halign = "center";
|
|
||||||
valign = "center";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
input-field = [
|
|
||||||
{
|
|
||||||
size = "200, 50";
|
|
||||||
position = "0, ${builtins.toString (rice.gap.outer + (if rice.bar.top then 0 else 60))}";
|
|
||||||
valign = "bottom";
|
|
||||||
halign = "center";
|
|
||||||
|
|
||||||
dots_center = true;
|
|
||||||
fade_on_empty = false;
|
|
||||||
outline_thickness = rice.borders.size;
|
|
||||||
shadow_passes = 8;
|
|
||||||
rounding = rice.borders.rounded;
|
|
||||||
|
|
||||||
outer_color = if rice.borders.colored then "$accent" else "$overlay0";
|
|
||||||
inner_color = "$crust";
|
|
||||||
font_color = "$text";
|
|
||||||
placeholder_text = "Type your password";
|
|
||||||
font_family = rice.font;
|
|
||||||
# font_family = "monospace";
|
|
||||||
|
|
||||||
capslock_color = "$yellow";
|
|
||||||
check_color = "$green";
|
|
||||||
fail_color = "$red";
|
|
||||||
fail_text = " $FAIL ($ATTEMPTS)";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,172 +0,0 @@
|
||||||
{ pkgs, hostname, ... }: {
|
|
||||||
services.fusuma = {
|
|
||||||
extraPackages = with pkgs; [ systemd coreutils-full xorg.xprop ];
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
swipe = {
|
|
||||||
"4".down.sendkey = "LEFTMETA+L";
|
|
||||||
"4".up.sendkey = "LEFTMETA+M";
|
|
||||||
"3".up.sendkey = "LEFTMETA+W";
|
|
||||||
|
|
||||||
"3".down.sendkey = "LEFTMETA+DOWN";
|
|
||||||
"3".right.sendkey = "LEFTMETA+LEFT";
|
|
||||||
"3".left.sendkey = "LEFTMETA+RIGHT";
|
|
||||||
};
|
|
||||||
hold = {
|
|
||||||
"3".sendkey = "LEFTMETA+TAB";
|
|
||||||
"4".sendkey = "LEFTMETA+SPACE";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
settings = {
|
|
||||||
gestures = {
|
|
||||||
#workspace_swipe = true;
|
|
||||||
workspace_swipe_forever = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# gesture = [
|
|
||||||
# "3, up, fullscreen, maximize"
|
|
||||||
# "3, down, scale: 0.5, special, hidden"
|
|
||||||
# "3, left, workspace, -1"
|
|
||||||
# "3, right, workspace, +1"
|
|
||||||
# ];
|
|
||||||
|
|
||||||
binde = [
|
|
||||||
"ALT, TAB, cyclenext,"
|
|
||||||
"ALT, TAB, bringactivetotop,"
|
|
||||||
"ALT SHIFT, TAB, cyclenext, prev"
|
|
||||||
"ALT SHIFT, TAB, bringactivetotop,"
|
|
||||||
|
|
||||||
"SUPER SHIFT, right, movetoworkspace, +1"
|
|
||||||
"SUPER SHIFT, left, movetoworkspace, -1"
|
|
||||||
"SUPER SHIFT, 1, movetoworkspace, 1"
|
|
||||||
"SUPER SHIFT, 2, movetoworkspace, 2"
|
|
||||||
"SUPER SHIFT, 3, movetoworkspace, 3"
|
|
||||||
"SUPER SHIFT, 4, movetoworkspace, 4"
|
|
||||||
|
|
||||||
"SUPER, right, workspace, +1"
|
|
||||||
"SUPER, left, workspace, -1"
|
|
||||||
"SUPER, 1, workspace, 1"
|
|
||||||
"SUPER, 2, workspace, 2"
|
|
||||||
"SUPER, 3, workspace, 3"
|
|
||||||
"SUPER, 4, workspace, 4"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindm = [
|
|
||||||
"SUPER, mouse:272, movewindow"
|
|
||||||
"SUPER, mouse:273, resizewindow"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindc = [
|
|
||||||
"SUPER, mouse:274, killactive"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindl = [
|
|
||||||
", switch:on:Lid Switch, exec, systemctl suspend"
|
|
||||||
", PRINT, exec, hyprshot -m region -o ~/Pictures/Screenshots"
|
|
||||||
"SUPER, SPACE, exec, playerctl play-pause"
|
|
||||||
"SUPER, M, exec, wlogout"
|
|
||||||
"SUPER, TAB, exec, pkill -SIGUSR1 waybar"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindel = [
|
|
||||||
",XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
|
|
||||||
",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
|
||||||
",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
|
||||||
",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
|
|
||||||
",XF86MonBrightnessUp, exec, brightnessctl s 10%+"
|
|
||||||
",XF86MonBrightnessDown, exec, brightnessctl s 10%-"
|
|
||||||
];
|
|
||||||
|
|
||||||
bind = [
|
|
||||||
# ",XF86Tools, exec, "
|
|
||||||
# ",XF86Bluetooth, exec, "
|
|
||||||
# ",XF86Keyboard, exec, "
|
|
||||||
# ",XF86Favorites, exec, "
|
|
||||||
|
|
||||||
",XF86Display, exec, [float; size 75%] uwsm app -- nwg-displays"
|
|
||||||
"CTRL ALT, DELETE, exec, wlogout"
|
|
||||||
"CTRL SHIFT, ESCAPE, exec, [float; size 75%] uwsm app -- kitty btop"
|
|
||||||
"SUPER, Grave, exec, dunstctl set-paused toggle"
|
|
||||||
|
|
||||||
"SUPER, N, exec, uwsm app -- rofi-network-manager"
|
|
||||||
|
|
||||||
"SUPER, J, exec, notify-send -u critical ${hostname} 'Caffein Mode' && notify-send '(SUPER+X to reset)' && systemctl --user stop hypridle"
|
|
||||||
"SUPER, K, exec, notify-send -u critical ${hostname} 'Focus Mode' && notify-send '(SUPER+X to reset)' && systemctl --user stop swww && pkill -SIGUSR1 waybar && hyprctl --batch 'keyword decoration:inactive_opacity 1.0; keyword decoration:blur:enabled 0; keyword general:gaps_in 0; keyword general:gaps_out 0; keyword general:border_size 1; keyword decoration:rounding 0; keyword decoration:shadow:enabled false'"
|
|
||||||
"SUPER, B, submap, disabled-all-keybinds"
|
|
||||||
"SUPER, H, exec, notify-send ${hostname} 'Animations Off' && hyprctl keyword animations:enabled 0"
|
|
||||||
"SUPER, X, exec, dunstctl close-all && hyprctl reload && hyprctl dispatch submap reset && pkill -SIGUSR2 waybar && systemctl --user restart swww hypridle fusuma"
|
|
||||||
"SUPER, Z, exec, dunstctl close-all"
|
|
||||||
|
|
||||||
"SUPER SHIFT, S, exec, hyprshot -m region -o ~/Pictures/Screenshots"
|
|
||||||
"ALT, PRINT, exec, hyprshot -m output -o ~/Pictures/Screenshots"
|
|
||||||
|
|
||||||
"SUPER, R, exec, rofi -show drun -show-icons -display-drun '' -run-command \"uwsm app -- {cmd}\""
|
|
||||||
"SUPER, V, exec, rofi -modi clipboard:cliphist-rofi-img -show clipboard -show-icons"
|
|
||||||
# "SUPER, B, exec, rofi -show calc -modi calc -no-show-match -no-sort"
|
|
||||||
|
|
||||||
"SUPER, A, exec, uwsm app -- zeditor"
|
|
||||||
"SUPER, T, exec, uwsm app -- kitty"
|
|
||||||
"SUPER, E, exec, uwsm app -- pcmanfm-qt ~" # kitty ranger ~"
|
|
||||||
"SUPER, C, exec, [float; size 75%] uwsm app -- kitty btop"
|
|
||||||
"SUPER SHIFT, C, exec, [float; size 75%] uwsm app -- kitty zsh -c 'fastfetch; exec zsh -i'"
|
|
||||||
"SUPER, Y, exec, uwsm app -- brave --restore-last-session"
|
|
||||||
"SUPER, D, exec, uwsm app -- steam steam://open/bigpicture"
|
|
||||||
"SUPER SHIFT, D, exec, uwsm app -- steam"
|
|
||||||
|
|
||||||
"SUPER, Q, killactive,"
|
|
||||||
"SUPER SHIFT, Q, forcekillactive,"
|
|
||||||
"SUPER, W, fullscreen, 1"
|
|
||||||
"SUPER, S, fullscreen, 0"
|
|
||||||
"SUPER, F, togglefloating,"
|
|
||||||
"SUPER, G, togglesplit,"
|
|
||||||
"SUPER, L, exec, loginctl lock-session"
|
|
||||||
|
|
||||||
"SUPER, down, togglespecialworkspace, hidden"
|
|
||||||
"SUPER SHIFT, down, movetoworkspace, special:hidden"
|
|
||||||
"SUPER SHIFT, up, movetoworkspace, +0"
|
|
||||||
|
|
||||||
"SUPER, P, submap, move"
|
|
||||||
"SUPER, O, submap, resize"
|
|
||||||
"SUPER, I, submap, focus"
|
|
||||||
"SUPER, U, submap, swap"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
extraConfig = ''
|
|
||||||
submap = move
|
|
||||||
binde = , right, movewindow, r
|
|
||||||
binde = , left, movewindow, l
|
|
||||||
binde = , up, movewindow, u
|
|
||||||
binde = , down, movewindow, d
|
|
||||||
bind = , catchall, submap, reset
|
|
||||||
|
|
||||||
submap = resize
|
|
||||||
binde = , right, resizeactive, 10 0
|
|
||||||
binde = , left, resizeactive, -10 0
|
|
||||||
binde = , up, resizeactive, 0 -10
|
|
||||||
binde = , down, resizeactive, 0 10
|
|
||||||
bind = , catchall, submap, reset
|
|
||||||
|
|
||||||
submap = swap
|
|
||||||
bind = , right, swapwindow, r
|
|
||||||
bind = , left, swapwindow, l
|
|
||||||
bind = , up, swapwindow, u
|
|
||||||
bind = , down, swapwindow, d
|
|
||||||
bind = , catchall, submap, reset
|
|
||||||
|
|
||||||
submap = focus
|
|
||||||
bind = , right, movefocus, r
|
|
||||||
bind = , left, movefocus, l
|
|
||||||
bind = , up, movefocus, u
|
|
||||||
bind = , down, movefocus, d
|
|
||||||
bind = , catchall, submap, reset
|
|
||||||
|
|
||||||
submap = disabled-all-keybinds
|
|
||||||
bind = , ESCAPE, submap, reset
|
|
||||||
|
|
||||||
submap = reset
|
|
||||||
''; # https://github.com/nix-community/home-manager/issues/6062
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
{ config, pkgs, rice, ctp-opt, ... }: {
|
|
||||||
programs.rofi = {
|
|
||||||
enable = true;
|
|
||||||
terminal = "${pkgs.kitty}/bin/kitty";
|
|
||||||
# location = "top";
|
|
||||||
# yoffset = 10;
|
|
||||||
theme = let inherit (config.lib.formats.rasi) mkLiteral; in {
|
|
||||||
"entry".placeholder = "Search...";
|
|
||||||
"scrollbar".border-radius = rice.borders.rounded;
|
|
||||||
# "element-icon".size = mkLiteral "2em";
|
|
||||||
"*" = {
|
|
||||||
font = "${rice.font} 12";
|
|
||||||
normal-foreground = mkLiteral "@text";
|
|
||||||
alternate-normal-foreground = mkLiteral "@text";
|
|
||||||
foreground = mkLiteral "@${ctp-opt.accent}";
|
|
||||||
border-color = mkLiteral (if rice.borders.colored then "@foreground" else "@overlay0");
|
|
||||||
};
|
|
||||||
"window" = {
|
|
||||||
border-radius = rice.borders.rounded;
|
|
||||||
border = rice.borders.size;
|
|
||||||
# fullscreen = true;
|
|
||||||
};
|
|
||||||
"listview" = {
|
|
||||||
columns = 2; # 3;
|
|
||||||
lines = 9; # 3;
|
|
||||||
fixed-columns = false;
|
|
||||||
};
|
|
||||||
"element" = {
|
|
||||||
border-radius = rice.borders.rounded;
|
|
||||||
padding = mkLiteral "4px";
|
|
||||||
spacing = mkLiteral "8px";
|
|
||||||
# orientation = mkLiteral "vertical";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
rofi-network-manager
|
|
||||||
rofi-power-menu
|
|
||||||
rofi
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
{ lib, pkgs, ctp-opt, ... }: {
|
|
||||||
catppuccin = {
|
|
||||||
hyprlock.useDefaultConfig = false;
|
|
||||||
hyprland.accent = ctp-opt.primary;
|
|
||||||
flavor = ctp-opt.flavor;
|
|
||||||
accent = ctp-opt.accent;
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
dconf = {
|
|
||||||
enable = true;
|
|
||||||
settings."org/gnome/desktop/interface" = {
|
|
||||||
color-scheme = "prefer-dark";
|
|
||||||
gtk-theme = "Adwaita-dark";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
|
|
||||||
iconTheme = {
|
|
||||||
name = "Papirus-Dark";
|
|
||||||
package = lib.mkForce pkgs.papirus-icon-theme;
|
|
||||||
};
|
|
||||||
theme = {
|
|
||||||
name = "Adwaita-dark";
|
|
||||||
package = pkgs.gnome-themes-extra;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
qt = {
|
|
||||||
enable = true;
|
|
||||||
platformTheme.name = "kvantum";
|
|
||||||
style = {
|
|
||||||
name = "kvantum";
|
|
||||||
package = pkgs.catppuccin-kvantum.override {
|
|
||||||
variant = ctp-opt.flavor;
|
|
||||||
accent = ctp-opt.accent;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,266 +0,0 @@
|
||||||
{ username, hostname, ctp-opt, rice, ... }: {
|
|
||||||
programs.waybar = {
|
|
||||||
enable = true;
|
|
||||||
settings = [
|
|
||||||
{
|
|
||||||
layer = "top";
|
|
||||||
position = if rice.bar.top then "top" else "bottom";
|
|
||||||
margin-top = if rice.bar.top then rice.gap.outer else 0;
|
|
||||||
margin-bottom = if rice.bar.top then 0 else rice.gap.outer;
|
|
||||||
margin-right = rice.gap.outer;
|
|
||||||
margin-left = rice.gap.outer;
|
|
||||||
|
|
||||||
modules-left = [
|
|
||||||
"custom/start"
|
|
||||||
"hyprland/workspaces"
|
|
||||||
"hyprland/window"
|
|
||||||
"mpris"
|
|
||||||
];
|
|
||||||
modules-center = if rice.bar.minimal then [] else [
|
|
||||||
"custom/dunst"
|
|
||||||
"clock"
|
|
||||||
"tray"
|
|
||||||
"hyprland/submap"
|
|
||||||
];
|
|
||||||
modules-right = if rice.bar.minimal then [
|
|
||||||
"tray"
|
|
||||||
"pulseaudio"
|
|
||||||
"network"
|
|
||||||
"battery"
|
|
||||||
"clock"
|
|
||||||
"custom/dunst"
|
|
||||||
] else [
|
|
||||||
"temperature"
|
|
||||||
"cpu"
|
|
||||||
"memory"
|
|
||||||
"disk"
|
|
||||||
"pulseaudio"
|
|
||||||
"network"
|
|
||||||
"battery"
|
|
||||||
];
|
|
||||||
"cpu" = {
|
|
||||||
states = {
|
|
||||||
critical = 85;
|
|
||||||
};
|
|
||||||
interval = 1;
|
|
||||||
format = " {usage:2}% {avg_frequency}GHz";
|
|
||||||
on-click = "auto-cpufreq-gtk";
|
|
||||||
on-click-right = "pkexec systemctl restart thermald throttled && notify-send ${hostname} 'CPU Underclocking Restarted'";
|
|
||||||
on-click-middle = "pkexec systemctl stop thermald throttled && notify-send ${hostname} 'CPU Underclocking Stopped'";
|
|
||||||
};
|
|
||||||
"memory" = {
|
|
||||||
states = {
|
|
||||||
critical = 85;
|
|
||||||
};
|
|
||||||
interval = 1;
|
|
||||||
format = " {used:0.1f}GiB";
|
|
||||||
on-click = "hyprctl dispatch exec '[float; size 75%]' kitty btop";
|
|
||||||
};
|
|
||||||
"disk" = {
|
|
||||||
states = {
|
|
||||||
critical = 85;
|
|
||||||
};
|
|
||||||
interval = 5;
|
|
||||||
format = " {used}";
|
|
||||||
on-click = "hyprctl dispatch exec '[float; size 75%]' kitty btop";
|
|
||||||
on-click-right = "kitty sh -c 'sudo nix-collect-garbage -d; nix-collect-garbage -d; read'";
|
|
||||||
};
|
|
||||||
"network" = {
|
|
||||||
interval = 1;
|
|
||||||
format-ethernet = " {ifname}";
|
|
||||||
format-wifi = " {signalStrength}%";
|
|
||||||
format-disconnected = "";
|
|
||||||
format-disabled = "";
|
|
||||||
tooltip = false;
|
|
||||||
on-click = "nm-connection-editor";
|
|
||||||
on-click-middle = "kitty sh -c 'ping 1.1 -c 3 && ping google.com -c 3; read'";
|
|
||||||
on-click-right = "pkexec systemctl restart systemd-resolved NetworkManager tailscaled cloudflare-warp && notify-send ${hostname} 'Network Restarted'";
|
|
||||||
};
|
|
||||||
"temperature" = {
|
|
||||||
hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input";
|
|
||||||
critical-threshold = 80;
|
|
||||||
format = " {temperatureC}°C";
|
|
||||||
interval = 1;
|
|
||||||
on-click = "hyprctl dispatch exec '[float; size 75%]' kitty btop";
|
|
||||||
};
|
|
||||||
"power-profiles-daemon" = {
|
|
||||||
format = "{icon} {profile}";
|
|
||||||
format-icons = {
|
|
||||||
performance = "";
|
|
||||||
power-saver = "";
|
|
||||||
balanced = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"hyprland/workspaces" = {
|
|
||||||
format = "{name}";
|
|
||||||
format-icons = {
|
|
||||||
default = " ";
|
|
||||||
active = " ";
|
|
||||||
urgent = " ";
|
|
||||||
};
|
|
||||||
on-scroll-down = "hyprctl dispatch workspace e+1";
|
|
||||||
on-scroll-up = "hyprctl dispatch workspace e-1";
|
|
||||||
};
|
|
||||||
"custom/dunst" = {
|
|
||||||
format = "{}";
|
|
||||||
exec = "echo \"$([ $(dunstctl is-paused) = 'false' ] && echo '' || echo '') $(dunstctl count history)\"";
|
|
||||||
on-click = "dunstctl set-paused toggle";
|
|
||||||
on-click-right = "dunstctl history-clear";
|
|
||||||
on-scroll-up = "dunstctl history-pop";
|
|
||||||
on-scroll-down = "dunstctl close";
|
|
||||||
interval = 1;
|
|
||||||
};
|
|
||||||
"mpris" = {
|
|
||||||
intelval = 1;
|
|
||||||
format = " {title} - {artist}";
|
|
||||||
max-length = 25;
|
|
||||||
format-paused = " {title} - {artist}";
|
|
||||||
on-click-middle = "playerctl play-pause";
|
|
||||||
on-click-right = "playerctl next";
|
|
||||||
on-click = "playerctl previous";
|
|
||||||
};
|
|
||||||
"hyprland/window" = {
|
|
||||||
icon = true;
|
|
||||||
max-length = 35;
|
|
||||||
separate-outputs = false;
|
|
||||||
rewrite = {
|
|
||||||
"" = "${username}@${hostname}";
|
|
||||||
"~" = "${username}@${hostname}";
|
|
||||||
"btop" = "${username}@${hostname}";
|
|
||||||
};
|
|
||||||
on-click-right = "hyprctl dispatch fullscreen 0";
|
|
||||||
on-click-middle = "hyprctl dispatch killactive";
|
|
||||||
on-click = "hyprctl dispatch fullscreen 1";
|
|
||||||
on-scroll-up = "hyprctl dispatch cyclenext";
|
|
||||||
on-scroll-down = "hyprctl dispatch cyclenext prev";
|
|
||||||
};
|
|
||||||
"hyprland/submap" = {
|
|
||||||
format = " {}";
|
|
||||||
on-click = "hyprctl dispatch submap reset";
|
|
||||||
};
|
|
||||||
"clock" = {
|
|
||||||
format = "{:%b %d, %I:%M:%S %p}";
|
|
||||||
interval = 1;
|
|
||||||
on-click = "pkexec systemctl restart tzupdate && notify-send ${hostname} 'Timezone Updated'";
|
|
||||||
};
|
|
||||||
"tray" = {
|
|
||||||
spacing = 12;
|
|
||||||
};
|
|
||||||
"taskbar" = {
|
|
||||||
icon-size = 10;
|
|
||||||
icon-theme = "Papirus-Dark";
|
|
||||||
on-click = "activate";
|
|
||||||
on-click-right = "fullscreen";
|
|
||||||
on-click-middle = "close";
|
|
||||||
on-scroll-up = "maximize";
|
|
||||||
on-scroll-down = "minimize";
|
|
||||||
};
|
|
||||||
"pulseaudio" = {
|
|
||||||
format = " {volume}%{format_source}";
|
|
||||||
format-muted = " {volume}%{format_source_muted}";
|
|
||||||
format-source = "";
|
|
||||||
format-source-muted = " ";
|
|
||||||
on-click = "pavucontrol";
|
|
||||||
on-click-middle = "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle";
|
|
||||||
on-click-right = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
|
||||||
};
|
|
||||||
"battery" = {
|
|
||||||
states = {
|
|
||||||
warning = 30;
|
|
||||||
critical = 15;
|
|
||||||
};
|
|
||||||
format = "{icon} {capacity}% {power}W";
|
|
||||||
format-charging = " {capacity}%";
|
|
||||||
format-plugged = " {capacity}%";
|
|
||||||
format-icons = [
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
interval = 1;
|
|
||||||
on-click = "pkexec systemctl restart auto-cpufreq";
|
|
||||||
};
|
|
||||||
"custom/start" = {
|
|
||||||
format = "";
|
|
||||||
on-click-middle = "wlogout";
|
|
||||||
on-click-right = "hyprctl dispatch togglespecialworkspace hidden";
|
|
||||||
on-click = "rofi -show drun -show-icons -display-drun '' -run-command \"uwsm app -- {cmd}\"";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
style = ''
|
|
||||||
* {
|
|
||||||
font-size: 12px;
|
|
||||||
font-family: Font Awesome, ${rice.font};
|
|
||||||
font-weight: bold;
|
|
||||||
color: @text;
|
|
||||||
transition: none;
|
|
||||||
transition: all, 0.25s ease-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar, .modules-left, .modules-center, .modules-right { border-radius: ${toString rice.borders.rounded}px; }
|
|
||||||
.modules-left, .modules-center, .modules-right { padding: 0 5px; }
|
|
||||||
window#waybar${if rice.bar.fragmented then ":not(.empty):not(.floating)" else ""}, .modules-left, ${if rice.bar.minimal then "" else ".modules-center,"} .modules-right {
|
|
||||||
background-color: @crust;
|
|
||||||
border: ${toString rice.borders.size}px solid @surface0;
|
|
||||||
}
|
|
||||||
${if rice.bar.fragmented then "
|
|
||||||
window#waybar:not(.empty):not(.floating) .modules-right, window#waybar:not(.empty):not(.floating) .modules-center{
|
|
||||||
border-left: none;
|
|
||||||
}
|
|
||||||
window#waybar:not(.empty):not(.floating) .modules-left, window#waybar:not(.empty):not(.floating) .modules-center {
|
|
||||||
border-right: none;
|
|
||||||
}
|
|
||||||
" else ""}
|
|
||||||
window#waybar${if rice.bar.fragmented then ":not(.empty):not(.floating)" else ""} .modules-center {
|
|
||||||
border-radius: 0px;
|
|
||||||
}
|
|
||||||
window#waybar${if rice.bar.fragmented then ":not(.empty):not(.floating)" else ""} .modules-left {
|
|
||||||
border-radius: ${toString rice.borders.rounded}px 0px 0px ${toString rice.borders.rounded}px;
|
|
||||||
}
|
|
||||||
window#waybar${if rice.bar.fragmented then ":not(.empty):not(.floating)" else ""} .modules-right {
|
|
||||||
border-radius: 0px ${toString rice.borders.rounded}px ${toString rice.borders.rounded}px 0px;
|
|
||||||
}
|
|
||||||
window#waybar {
|
|
||||||
background: rgba(0,0,0,0);
|
|
||||||
border: ${toString rice.borders.size}px solid transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
#window, #submap { padding: 0px 5px; }
|
|
||||||
#submap, #workspaces, #cpu, #memory, #disk, #clock, #window, #tray, #pulseaudio, #battery, #network, #temperature, #power-profiles-daemon, #custom-exit, #custom-start, #custom-dunst, #mpris { padding: 0px 5px; margin: 0px 5px; }
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
border-radius: 0px;
|
|
||||||
margin: 0px;
|
|
||||||
background: none;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button:hover, #custom-start:hover, #window:hover, #mpris:hover {
|
|
||||||
border: none;
|
|
||||||
outline: none;
|
|
||||||
background: none;
|
|
||||||
color: @text;
|
|
||||||
background-size: 300% 300%;
|
|
||||||
background: @base;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active, #submap {
|
|
||||||
background: @surface0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-start {
|
|
||||||
padding: 0px 5px;
|
|
||||||
color: @${ctp-opt.primary};
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
.critical, .muted, .performance { color: @red; }
|
|
||||||
.warning, .urgent, .disabled, .disconnected, .paused { color: @yellow; }
|
|
||||||
.charging, .plugged, .power-saver { color: @green; }
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
{ rice, ... }: {
|
|
||||||
programs.wlogout = {
|
|
||||||
enable = true;
|
|
||||||
layout = [
|
|
||||||
{
|
|
||||||
label = "shutdown";
|
|
||||||
action = "systemctl poweroff";
|
|
||||||
text = "(S)hutdown";
|
|
||||||
keybind = "s";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
label = "reboot";
|
|
||||||
action = "systemctl reboot";
|
|
||||||
text = "(R)eboot";
|
|
||||||
keybind = "r";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
label = "hibernate";
|
|
||||||
action = "systemctl hibernate";
|
|
||||||
text = "(H)ibernate";
|
|
||||||
keybind = "h";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
label = "suspend";
|
|
||||||
action = "systemctl suspend";
|
|
||||||
text = "Sus(p)end";
|
|
||||||
keybind = "p";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
label = "logout";
|
|
||||||
action = "uwsm stop";
|
|
||||||
text = "L(o)gout";
|
|
||||||
keybind = "o";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
label = "lock";
|
|
||||||
action = "loginctl lock-session";
|
|
||||||
text = "(L)ock";
|
|
||||||
keybind = "l";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
style = ''
|
|
||||||
button {
|
|
||||||
border-width: ${toString rice.borders.size}px;
|
|
||||||
border-radius: ${toString rice.borders.rounded}px;
|
|
||||||
margin: ${toString rice.gap.inner}px;
|
|
||||||
font-family: ${rice.font};
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
programs = {
|
|
||||||
nix-ld.enable = true;
|
|
||||||
zsh.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -5,11 +5,9 @@
|
||||||
./core/filesystem.nix
|
./core/filesystem.nix
|
||||||
./core/network.nix
|
./core/network.nix
|
||||||
./core/kernel.nix
|
./core/kernel.nix
|
||||||
./core/shell.nix
|
|
||||||
./core/user.nix
|
./core/user.nix
|
||||||
./misc/programs.nix
|
./misc/programs.nix
|
||||||
./misc/graphics.nix
|
./misc/desktop.nix
|
||||||
./desktop.nix
|
|
||||||
./base.nix
|
./base.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -22,4 +20,8 @@
|
||||||
Defaults passwd_tries = 5
|
Defaults passwd_tries = 5
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
corefonts
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
|
|
||||||
{ pkgs, enable-dm, ... }: {
|
|
||||||
imports = [
|
|
||||||
./misc/theme.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
withUWSM = true;
|
|
||||||
xwayland.enable = true;
|
|
||||||
package = pkgs.hyprland; # if rice.enable then inputs.hl.packages."${pkgs.system}".hyprland else pkgs.hyprland;
|
|
||||||
portalPackage = pkgs.xdg-desktop-portal-hyprland; # inputs.hl.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.portal = {
|
|
||||||
enable = true;
|
|
||||||
extraPortals = [
|
|
||||||
pkgs.xdg-desktop-portal-hyprland #inputs.hl.packages.${pkgs.system}.xdg-desktop-portal-hyprland
|
|
||||||
pkgs.xdg-desktop-portal-gtk
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
services.displayManager.sddm = {
|
|
||||||
enable = enable-dm;
|
|
||||||
wayland.enable = true;
|
|
||||||
package = pkgs.kdePackages.sddm;
|
|
||||||
extraPackages = with pkgs.kdePackages; [
|
|
||||||
qtmultimedia qtsvg
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
environment = {
|
|
||||||
systemPackages = with pkgs; [
|
|
||||||
libsecret libnotify kdePackages.kdeconnect-kde
|
|
||||||
];
|
|
||||||
sessionVariables = {
|
|
||||||
XDG_RUNTIME_DIR = "/run/user/$UID"; # https://discourse.nixos.org/t/login-keyring-did-not-get-unlocked-hyprland/40869/10
|
|
||||||
WLR_NO_HARDWARE_CURSORS = "1";
|
|
||||||
NIXOS_OZONE_WL = "1";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +1,11 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, enable-dm, ... }: {
|
||||||
hardware.graphics = {
|
hardware.graphics = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPackages = [ pkgs.libva-vdpau-driver ];
|
extraPackages = [ pkgs.libva-vdpau-driver ];
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
|
displayManager.gdm.enable = enable-dm;
|
||||||
xserver = {
|
xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xkb = {
|
xkb = {
|
||||||
|
|
@ -25,17 +26,5 @@
|
||||||
pulseaudio.enable = false;
|
pulseaudio.enable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts = {
|
|
||||||
enableDefaultPackages = true;
|
|
||||||
packages = with pkgs; [
|
|
||||||
nerd-fonts.droid-sans-mono
|
|
||||||
noto-fonts-cjk-sans
|
|
||||||
noto-fonts
|
|
||||||
font-awesome
|
|
||||||
corefonts
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.xfconf.enable = true;
|
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
}
|
}
|
||||||
|
|
@ -13,11 +13,16 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
steam.enable = true;
|
|
||||||
gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
|
gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
|
||||||
|
zsh.enable = true;
|
||||||
|
nix-ld.enable = true;
|
||||||
|
steam.enable = true;
|
||||||
appimage = {
|
appimage = {
|
||||||
enable = true;
|
enable = true;
|
||||||
binfmt = true;
|
binfmt = true;
|
||||||
};
|
};
|
||||||
|
kdeconnect = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
{ ctp-opt, ... }: {
|
|
||||||
qt = {
|
|
||||||
enable = true;
|
|
||||||
platformTheme = "gnome";
|
|
||||||
style = "adwaita-dark";
|
|
||||||
};
|
|
||||||
|
|
||||||
catppuccin = {
|
|
||||||
enable = true;
|
|
||||||
flavor = ctp-opt.flavor;
|
|
||||||
accent = ctp-opt.accent;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue