some more refinement
This commit is contained in:
parent
fae56aa241
commit
6cd35a3fb2
@ -15,14 +15,16 @@
|
|||||||
settings = {
|
settings = {
|
||||||
"$mod" = "SUPER";
|
"$mod" = "SUPER";
|
||||||
"$browser" = "firefox";
|
"$browser" = "firefox";
|
||||||
|
"$launcher-cmd" = "wofi --show drun -n";
|
||||||
|
"$ide" = "code";
|
||||||
|
|
||||||
# Global bindings
|
# Global bindings
|
||||||
bind = [
|
bind = [
|
||||||
# Launch applications
|
# Launch applications
|
||||||
"$mod, space, exec, walker"
|
"$mod, space, exec, $launcher-cmd"
|
||||||
"$mod, return, exec, kitty"
|
"$mod, return, exec, kitty"
|
||||||
"$mod, b, exec, $browser"
|
"$mod, b, exec, $browser"
|
||||||
"$mod, s, exec, code"
|
"$mod, s, exec, $ide"
|
||||||
"$mod, e, exec, nautilus"
|
"$mod, e, exec, nautilus"
|
||||||
|
|
||||||
|
|
||||||
@ -51,7 +53,8 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
exec-once = [
|
exec-once = [
|
||||||
"${pkgs.hyprpaper}/bin/hyprpaper"
|
# "${pkgs.hyprpaper}/bin/hyprpaper"
|
||||||
|
# hyprpaper is handled as its own service
|
||||||
"${pkgs.waybar}/bin/waybar"
|
"${pkgs.waybar}/bin/waybar"
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -70,7 +73,7 @@
|
|||||||
|
|
||||||
input = {
|
input = {
|
||||||
kb_layout = "de";
|
kb_layout = "de";
|
||||||
kb_options = "caps:control";
|
kb_options = "caps:escape";
|
||||||
numlock_by_default = true;
|
numlock_by_default = true;
|
||||||
# mouse input should be unchanged
|
# mouse input should be unchanged
|
||||||
natural_scroll = false;
|
natural_scroll = false;
|
||||||
@ -98,14 +101,7 @@
|
|||||||
# color = "#000000";
|
# color = "#000000";
|
||||||
};
|
};
|
||||||
|
|
||||||
# set this on a per-program basis
|
# blur is set on a per-program basis
|
||||||
# blur = {
|
|
||||||
# enabled = true;
|
|
||||||
# size = 4;
|
|
||||||
# passes = 2;
|
|
||||||
# new_optimizations = true;
|
|
||||||
# ignore_opacity = true;
|
|
||||||
# };
|
|
||||||
layerrule = [
|
layerrule = [
|
||||||
"blur, wofi"
|
"blur, wofi"
|
||||||
"ignorezero, wofi"
|
"ignorezero, wofi"
|
||||||
@ -130,22 +126,6 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.walker = {
|
|
||||||
enable = true;
|
|
||||||
runAsService = true;
|
|
||||||
|
|
||||||
# All options from the config.json can be used here.
|
|
||||||
config = {
|
|
||||||
search.placeholder = "Search";
|
|
||||||
ui.fullscreen = true;
|
|
||||||
list = {
|
|
||||||
height = 200;
|
|
||||||
};
|
|
||||||
websearch.prefix = "?";
|
|
||||||
switcher.prefix = "/";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
programs.hyprlock = {
|
programs.hyprlock = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -1,15 +1,60 @@
|
|||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
with lib; let
|
||||||
|
wallpapers = builtins.path { path = ../../../wallpapers; };
|
||||||
|
|
||||||
|
wallpaperBashArray = "(\"${strings.concatStrings (strings.intersperse "\" \"" (map (wallpaper: "${wallpaper}") wallpapers))}\")";
|
||||||
|
wallpaperRandomizer = pkgs.writeShellScriptBin "wallpaperRandomizer" ''
|
||||||
|
wallpapers=${wallpaperBashArray}
|
||||||
|
rand=$[$RANDOM % ''${#wallpapers[@]}]
|
||||||
|
wallpaper=''${wallpapers[$rand]}
|
||||||
|
|
||||||
|
monitor=(`hyprctl monitors | grep Monitor | awk '{print $2}'`)
|
||||||
|
hyprctl hyprpaper unload all
|
||||||
|
hyprctl hyprpaper preload $wallpaper
|
||||||
|
for m in ''${monitor[@]}; do
|
||||||
|
hyprctl hyprpaper wallpaper "$m,$wallpaper"
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
in {
|
||||||
|
home.packages = [wallpaperRandomizer];
|
||||||
|
|
||||||
services.hyprpaper = {
|
services.hyprpaper = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
|
||||||
# TODO: implement this correctly
|
# settings = {
|
||||||
# preload = builtins.attrValues (builtins.readFile ../../../wallpapers/luke-chesser-eICUFSeirc0-unsplash.jpg);
|
# ipc = "on";
|
||||||
# wallpaper = [
|
# splash = false;
|
||||||
# ", ${builtins.attrValues (builtins.readFile ../../../wallpapers/luke-chesser-eICUFSeirc0-unsplash.jpg)}"
|
# splash_offset = 2.0;
|
||||||
# ];
|
# };
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.user = {
|
||||||
|
services.wallpaperRandomizer = {
|
||||||
|
Install = {WantedBy = ["graphical-session.target"];};
|
||||||
|
|
||||||
|
Unit = {
|
||||||
|
Description = "Set random desktop background using hyprpaper";
|
||||||
|
After = ["graphical-session-pre.target"];
|
||||||
|
PartOf = ["graphical-session.target"];
|
||||||
|
};
|
||||||
|
|
||||||
|
Service = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart = "${wallpaperRandomizer}/bin/wallpaperRandomizer";
|
||||||
|
IOSchedulingClass = "idle";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
timers.wallpaperRandomizer = {
|
||||||
|
Unit = {Description = "Set random desktop background using hyprpaper on an interval";};
|
||||||
|
|
||||||
|
Timer = {OnUnitActiveSec = "6h";};
|
||||||
|
|
||||||
|
Install = {WantedBy = ["timers.target"];};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -9,10 +9,16 @@
|
|||||||
cursor_trail = 3;
|
cursor_trail = 3;
|
||||||
};
|
};
|
||||||
keybindings = {
|
keybindings = {
|
||||||
# TODO - they should not overwrite default behaviour
|
# copy and paste
|
||||||
# "ctrl+c" = "copy_to_clipboard";
|
"ctrl+shift+c" = "copy_to_clipboard";
|
||||||
# "ctrl+v" = "paste_from_clipboard";
|
"ctrl+shift+v" = "paste_from_clipboard";
|
||||||
|
# zoom
|
||||||
|
"ctrl+shift+plus" = "increase_font_size";
|
||||||
|
"ctrl+shift+minus" = "decrease_font_size";
|
||||||
|
"ctrl+shift+0" = "reset_font_size";
|
||||||
|
# tabs
|
||||||
|
"ctrl+shift+t" = "new_tab";
|
||||||
|
"ctrl+shift+w" = "close_tab";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
8
modules/home-manager/kubectl.nix
Normal file
8
modules/home-manager/kubectl.nix
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{pkgs, ...}:
|
||||||
|
{
|
||||||
|
home.packages = [
|
||||||
|
pkgs.kubie
|
||||||
|
pkgs.kubectl
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
108
modules/home-manager/wofi.nix
Normal file
108
modules/home-manager/wofi.nix
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
let
|
||||||
|
accent = "#ffffff";
|
||||||
|
background = "#000000";
|
||||||
|
background-alt = "#000000";
|
||||||
|
foreground = "##ffffff";
|
||||||
|
font = "Roboto";
|
||||||
|
rounding = 5;
|
||||||
|
font-size = 25;
|
||||||
|
in {
|
||||||
|
|
||||||
|
home.packages = with pkgs; [ wofi-emoji ];
|
||||||
|
|
||||||
|
programs.wofi = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
allow_markup = true;
|
||||||
|
width = 450;
|
||||||
|
show = "drun";
|
||||||
|
prompt = "Apps";
|
||||||
|
normal_window = true;
|
||||||
|
layer = "top";
|
||||||
|
term = "foot";
|
||||||
|
height = "305px";
|
||||||
|
orientation = "vertical";
|
||||||
|
halign = "fill";
|
||||||
|
line_wrap = "off";
|
||||||
|
dynamic_lines = false;
|
||||||
|
allow_images = true;
|
||||||
|
image_size = 24;
|
||||||
|
exec_search = false;
|
||||||
|
hide_search = false;
|
||||||
|
parse_search = false;
|
||||||
|
insensitive = true;
|
||||||
|
hide_scroll = true;
|
||||||
|
no_actions = true;
|
||||||
|
sort_order = "default";
|
||||||
|
gtk_dark = true;
|
||||||
|
filter_rate = 100;
|
||||||
|
key_expand = "Tab";
|
||||||
|
key_exit = "Escape";
|
||||||
|
};
|
||||||
|
|
||||||
|
style = lib.mkForce
|
||||||
|
# css
|
||||||
|
''
|
||||||
|
* {
|
||||||
|
font-family: "${font}";
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: ${toString font-size}px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
background-color: ${background};
|
||||||
|
color: ${foreground};
|
||||||
|
border-radius: ${toString rounding}px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#outer-box {
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input {
|
||||||
|
background-color: ${background-alt};
|
||||||
|
border: 0px solid ${accent};
|
||||||
|
color: ${foreground};
|
||||||
|
padding: 8px 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#scroll {
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#inner-box {}
|
||||||
|
|
||||||
|
#img {
|
||||||
|
padding-right: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#text {
|
||||||
|
color: ${foreground};
|
||||||
|
}
|
||||||
|
|
||||||
|
#text:selected {
|
||||||
|
color: ${foreground};
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry {
|
||||||
|
padding: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry:selected {
|
||||||
|
background-color: ${accent};
|
||||||
|
color: ${foreground};
|
||||||
|
}
|
||||||
|
|
||||||
|
#unselected {}
|
||||||
|
|
||||||
|
#selected {}
|
||||||
|
|
||||||
|
#input,
|
||||||
|
#entry:selected {
|
||||||
|
border-radius: ${toString rounding}px;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
@ -9,9 +9,11 @@ with lib.hm.gvariant;
|
|||||||
../modules/home-manager/hypr
|
../modules/home-manager/hypr
|
||||||
../modules/home-manager/keepassxc.nix
|
../modules/home-manager/keepassxc.nix
|
||||||
../modules/home-manager/kitty.nix
|
../modules/home-manager/kitty.nix
|
||||||
|
../modules/home-manager/kubectl.nix
|
||||||
../modules/home-manager/obsidian.nix
|
../modules/home-manager/obsidian.nix
|
||||||
../modules/home-manager/owncloud-client.nix
|
../modules/home-manager/owncloud-client.nix
|
||||||
../modules/home-manager/thunderbird.nix
|
../modules/home-manager/thunderbird.nix
|
||||||
|
../modules/home-manager/wofi.nix
|
||||||
../modules/home-manager/xdg-portals.nix
|
../modules/home-manager/xdg-portals.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -24,38 +26,10 @@ with lib.hm.gvariant;
|
|||||||
home.username = "remy";
|
home.username = "remy";
|
||||||
home.homeDirectory = "/home/remy";
|
home.homeDirectory = "/home/remy";
|
||||||
|
|
||||||
#home.file.<filepath> = <content>;
|
|
||||||
|
|
||||||
## Utils relevant to this user only
|
## Utils relevant to this user only
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "Remy Moll";
|
userName = "Remy Moll";
|
||||||
userEmail = "me@moll.re";
|
userEmail = "me@moll.re";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# ## Gnome keyboard and mouse settings
|
|
||||||
# dconf.settings = {
|
|
||||||
# # set the keyboard layout to german
|
|
||||||
# "org/gnome/desktop/input-sources" = {
|
|
||||||
# current = mkUint32 0;
|
|
||||||
# sources = [ (mkTuple [ "xkb" "de" ]) (mkTuple [ "xkb" "ch" ]) (mkTuple [ "xkb" "us" ]) ];
|
|
||||||
# xkb-options = [ "lv3:ralt_switch" ];
|
|
||||||
# };
|
|
||||||
|
|
||||||
# "org/gnome/desktop/peripherals/keyboard" = {
|
|
||||||
# numlock-state = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# "org/gnome/desktop/peripherals/mouse" = {
|
|
||||||
# natural-scroll = false;
|
|
||||||
# speed = 0.20851063829787231;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# "org/gnome/desktop/peripherals/touchpad" = {
|
|
||||||
# tap-to-click = true;
|
|
||||||
# two-finger-scrolling-enabled = true;
|
|
||||||
# speed = 0.16872427983539096;
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user