Hyprland tweaks to make it usable.
This commit is contained in:
133
home/programs/desktop.nix
Normal file
133
home/programs/desktop.nix
Normal file
@@ -0,0 +1,133 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [ ./workstation.nix ];
|
||||
|
||||
# Hyprland window manager configuration
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
settings = {
|
||||
# Remap CapsLock to Super (Mod4)
|
||||
"$mod" = "SUPER";
|
||||
|
||||
input = {
|
||||
kb_options = "caps:super";
|
||||
follow_mouse = 1;
|
||||
touchpad = {
|
||||
natural_scroll = false;
|
||||
};
|
||||
sensitivity = 0;
|
||||
};
|
||||
|
||||
general = {
|
||||
gaps_in = 5;
|
||||
gaps_out = 10;
|
||||
border_size = 2;
|
||||
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
||||
"col.inactive_border" = "rgba(595959aa)";
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 5;
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 3;
|
||||
passes = 1;
|
||||
};
|
||||
drop_shadow = true;
|
||||
shadow_range = 4;
|
||||
shadow_render_power = 3;
|
||||
"col.shadow" = "rgba(1a1a1aee)";
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = true;
|
||||
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
||||
animation = [
|
||||
"windows, 1, 7, myBezier"
|
||||
"windowsOut, 1, 7, default, popin 80%"
|
||||
"border, 1, 10, default"
|
||||
"borderangle, 1, 8, default"
|
||||
"fade, 1, 7, default"
|
||||
"workspaces, 1, 6, default"
|
||||
];
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
pseudotile = true;
|
||||
preserve_split = true;
|
||||
};
|
||||
|
||||
master = {
|
||||
new_status = "master";
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe = false;
|
||||
};
|
||||
|
||||
misc = {
|
||||
force_default_wallpaper = 0;
|
||||
};
|
||||
|
||||
# Key bindings
|
||||
bind = [
|
||||
# Application launchers
|
||||
"$mod, Q, exec, foot"
|
||||
"$mod, D, exec, wofi --show drun"
|
||||
"$mod SHIFT, D, exec, wofi --show run"
|
||||
"$mod, C, killactive,"
|
||||
"$mod SHIFT, E, exit,"
|
||||
"$mod, V, togglefloating,"
|
||||
"$mod, P, pseudo,"
|
||||
"$mod, J, togglesplit,"
|
||||
|
||||
# Move focus with mod + arrow keys
|
||||
"$mod, left, movefocus, l"
|
||||
"$mod, right, movefocus, r"
|
||||
"$mod, up, movefocus, u"
|
||||
"$mod, down, movefocus, d"
|
||||
|
||||
# Move focus with mod + hjkl (vim-style)
|
||||
"$mod, h, movefocus, l"
|
||||
"$mod, l, movefocus, r"
|
||||
"$mod, k, movefocus, u"
|
||||
"$mod, j, movefocus, d"
|
||||
|
||||
# Switch workspaces with mod + [0-9]
|
||||
"$mod, 1, workspace, 1"
|
||||
"$mod, 2, workspace, 2"
|
||||
"$mod, 3, workspace, 3"
|
||||
"$mod, 4, workspace, 4"
|
||||
"$mod, 5, workspace, 5"
|
||||
"$mod, 6, workspace, 6"
|
||||
"$mod, 7, workspace, 7"
|
||||
"$mod, 8, workspace, 8"
|
||||
"$mod, 9, workspace, 9"
|
||||
"$mod, 0, workspace, 10"
|
||||
|
||||
# Move active window to a workspace with mod + SHIFT + [0-9]
|
||||
"$mod SHIFT, 1, movetoworkspace, 1"
|
||||
"$mod SHIFT, 2, movetoworkspace, 2"
|
||||
"$mod SHIFT, 3, movetoworkspace, 3"
|
||||
"$mod SHIFT, 4, movetoworkspace, 4"
|
||||
"$mod SHIFT, 5, movetoworkspace, 5"
|
||||
"$mod SHIFT, 6, movetoworkspace, 6"
|
||||
"$mod SHIFT, 7, movetoworkspace, 7"
|
||||
"$mod SHIFT, 8, movetoworkspace, 8"
|
||||
"$mod SHIFT, 9, movetoworkspace, 9"
|
||||
"$mod SHIFT, 0, movetoworkspace, 10"
|
||||
|
||||
# Scroll through existing workspaces with mod + scroll
|
||||
"$mod, mouse_down, workspace, e+1"
|
||||
"$mod, mouse_up, workspace, e-1"
|
||||
];
|
||||
|
||||
# Mouse bindings
|
||||
bindm = [
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, resizewindow"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
402
home/programs/server.nix
Normal file
402
home/programs/server.nix
Normal file
@@ -0,0 +1,402 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
dircolors = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
# Dark 256 color solarized theme for the color GNU ls utility.
|
||||
# Used and tested with dircolors (GNU coreutils) 8.5
|
||||
#
|
||||
# @author {@link http://sebastian.tramp.name Sebastian Tramp}
|
||||
#
|
||||
# More Information at
|
||||
# https://github.com/seebi/dircolors-solarized
|
||||
|
||||
# Term Section
|
||||
TERM Eterm
|
||||
TERM alacritty
|
||||
TERM ansi
|
||||
TERM color-xterm
|
||||
TERM con132x25
|
||||
TERM con132x30
|
||||
TERM con132x43
|
||||
TERM con132x60
|
||||
TERM con80x25
|
||||
TERM con80x28
|
||||
TERM con80x30
|
||||
TERM con80x43
|
||||
TERM con80x50
|
||||
TERM con80x60
|
||||
TERM cons25
|
||||
TERM console
|
||||
TERM cygwin
|
||||
TERM dtterm
|
||||
TERM dvtm
|
||||
TERM dvtm-256color
|
||||
TERM eterm-color
|
||||
TERM fbterm
|
||||
TERM foot
|
||||
TERM gnome
|
||||
TERM gnome-256color
|
||||
TERM jfbterm
|
||||
TERM konsole
|
||||
TERM konsole-256color
|
||||
TERM kterm
|
||||
TERM linux
|
||||
TERM linux-16color
|
||||
TERM linux-c
|
||||
TERM mach-color
|
||||
TERM mlterm
|
||||
TERM putty
|
||||
TERM putty-256color
|
||||
TERM rxvt
|
||||
TERM rxvt-256color
|
||||
TERM rxvt-cygwin
|
||||
TERM rxvt-cygwin-native
|
||||
TERM rxvt-unicode
|
||||
TERM rxvt-unicode256
|
||||
TERM rxvt-unicode-256color
|
||||
TERM screen
|
||||
TERM screen-16color
|
||||
TERM screen-16color-bce
|
||||
TERM screen-16color-s
|
||||
TERM screen-16color-bce-s
|
||||
TERM screen-256color
|
||||
TERM screen-256color-bce
|
||||
TERM screen-256color-s
|
||||
TERM screen-256color-bce-s
|
||||
TERM screen-256color-italic
|
||||
TERM screen-bce
|
||||
TERM screen-w
|
||||
TERM screen.linux
|
||||
TERM screen.xterm-256color
|
||||
TERM st
|
||||
TERM st-meta
|
||||
TERM st-256color
|
||||
TERM st-meta-256color
|
||||
TERM tmux
|
||||
TERM tmux-256color
|
||||
TERM vt100
|
||||
TERM xterm
|
||||
TERM xterm-16color
|
||||
TERM xterm-256color
|
||||
TERM xterm-256color-italic
|
||||
TERM xterm-88color
|
||||
TERM xterm-color
|
||||
TERM xterm-debian
|
||||
TERM xterm-kitty
|
||||
TERM xterm-termite
|
||||
|
||||
## Documentation
|
||||
#
|
||||
# standard colors
|
||||
#
|
||||
# Below are the color init strings for the basic file types. A color init
|
||||
# string consists of one or more of the following numeric codes:
|
||||
# Attribute codes:
|
||||
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
|
||||
# Text color codes:
|
||||
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
|
||||
# Background color codes:
|
||||
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
|
||||
#
|
||||
#
|
||||
# 256 color support
|
||||
# see here: http://www.mail-archive.com/bug-coreutils@gnu.org/msg11030.html)
|
||||
#
|
||||
# Text 256 color coding:
|
||||
# 38;5;COLOR_NUMBER
|
||||
# Background 256 color coding:
|
||||
# 48;5;COLOR_NUMBER
|
||||
|
||||
## Special files
|
||||
|
||||
NORMAL 00;38;5;244 # no color code at all
|
||||
#FILE 00 # regular file: use no color at all
|
||||
RESET 0 # reset to "normal" color
|
||||
DIR 00;38;5;33 # directory 01;34
|
||||
LINK 01;38;5;37 # symbolic link. (If you set this to 'target' instead of a
|
||||
# numerical value, the color is as for the file pointed to.)
|
||||
MULTIHARDLINK 00 # regular file with more than one link
|
||||
FIFO 48;5;230;38;5;136;01 # pipe
|
||||
SOCK 48;5;230;38;5;136;01 # socket
|
||||
DOOR 48;5;230;38;5;136;01 # door
|
||||
BLK 48;5;230;38;5;244;01 # block device driver
|
||||
CHR 48;5;230;38;5;244;01 # character device driver
|
||||
ORPHAN 48;5;235;38;5;160 # symlink to nonexistent file, or non-stat'able file
|
||||
SETUID 48;5;160;38;5;230 # file that is setuid (u+s)
|
||||
SETGID 48;5;136;38;5;230 # file that is setgid (g+s)
|
||||
CAPABILITY 30;41 # file with capability
|
||||
STICKY_OTHER_WRITABLE 48;5;64;38;5;230 # dir that is sticky and other-writable (+t,o+w)
|
||||
OTHER_WRITABLE 48;5;235;38;5;33 # dir that is other-writable (o+w) and not sticky
|
||||
STICKY 48;5;33;38;5;230 # dir with the sticky bit set (+t) and not other-writable
|
||||
# This is for files with execute permission:
|
||||
EXEC 01;38;5;64
|
||||
|
||||
## Archives or compressed (violet + bold for compression)
|
||||
.tar 00;38;5;61
|
||||
.tgz 01;38;5;61
|
||||
.arj 01;38;5;61
|
||||
.taz 01;38;5;61
|
||||
.lzh 01;38;5;61
|
||||
.lzma 01;38;5;61
|
||||
.tlz 01;38;5;61
|
||||
.txz 01;38;5;61
|
||||
.zip 01;38;5;61
|
||||
.zst 01;38;5;61
|
||||
.z 01;38;5;61
|
||||
.Z 01;38;5;61
|
||||
.dz 01;38;5;61
|
||||
.gz 01;38;5;61
|
||||
.lz 01;38;5;61
|
||||
.xz 01;38;5;61
|
||||
.bz2 01;38;5;61
|
||||
.bz 01;38;5;61
|
||||
.tbz 01;38;5;61
|
||||
.tbz2 01;38;5;61
|
||||
.tz 01;38;5;61
|
||||
.deb 01;38;5;61
|
||||
.rpm 01;38;5;61
|
||||
.jar 01;38;5;61
|
||||
.rar 01;38;5;61
|
||||
.ace 01;38;5;61
|
||||
.zoo 01;38;5;61
|
||||
.cpio 01;38;5;61
|
||||
.7z 01;38;5;61
|
||||
.rz 01;38;5;61
|
||||
.apk 01;38;5;61
|
||||
.gem 01;38;5;61
|
||||
|
||||
# Image formats (yellow)
|
||||
.jpg 00;38;5;136
|
||||
.JPG 00;38;5;136 #stupid but needed
|
||||
.jpeg 00;38;5;136
|
||||
.gif 00;38;5;136
|
||||
.bmp 00;38;5;136
|
||||
.pbm 00;38;5;136
|
||||
.pgm 00;38;5;136
|
||||
.ppm 00;38;5;136
|
||||
.tga 00;38;5;136
|
||||
.xbm 00;38;5;136
|
||||
.xpm 00;38;5;136
|
||||
.tif 00;38;5;136
|
||||
.tiff 00;38;5;136
|
||||
.png 00;38;5;136
|
||||
.PNG 00;38;5;136
|
||||
.svg 00;38;5;136
|
||||
.svgz 00;38;5;136
|
||||
.mng 00;38;5;136
|
||||
.pcx 00;38;5;136
|
||||
.dl 00;38;5;136
|
||||
.xcf 00;38;5;136
|
||||
.xwd 00;38;5;136
|
||||
.yuv 00;38;5;136
|
||||
.cgm 00;38;5;136
|
||||
.emf 00;38;5;136
|
||||
.eps 00;38;5;136
|
||||
.CR2 00;38;5;136
|
||||
.ico 00;38;5;136
|
||||
.nef 00;38;5;136 # Nikon RAW format
|
||||
.NEF 00;38;5;136
|
||||
.webp 00;38;5;136 # https://en.wikipedia.org/wiki/WebP
|
||||
.heic 00;38;5;136
|
||||
.HEIC 00;38;5;136
|
||||
.avif 00;38;5;136
|
||||
|
||||
# Files of special interest (base1 + bold)
|
||||
.tex 01;38;5;245
|
||||
.rdf 01;38;5;245
|
||||
.owl 01;38;5;245
|
||||
.n3 01;38;5;245
|
||||
.ttl 01;38;5;245
|
||||
.nt 01;38;5;245
|
||||
.torrent 01;38;5;245
|
||||
.xml 01;38;5;245
|
||||
*Makefile 01;38;5;245
|
||||
*Rakefile 01;38;5;245
|
||||
*Dockerfile 01;38;5;245
|
||||
*build.xml 01;38;5;245
|
||||
*rc 01;38;5;245
|
||||
*1 01;38;5;245
|
||||
.nfo 01;38;5;245
|
||||
*README 01;38;5;245
|
||||
*README.txt 01;38;5;245
|
||||
*readme.txt 01;38;5;245
|
||||
.md 01;38;5;245
|
||||
*README.markdown 01;38;5;245
|
||||
.ini 01;38;5;245
|
||||
.yml 01;38;5;245
|
||||
.cfg 01;38;5;245
|
||||
.conf 01;38;5;245
|
||||
.h 01;38;5;245
|
||||
.hpp 01;38;5;245
|
||||
.c 01;38;5;245
|
||||
.cpp 01;38;5;245
|
||||
.cxx 01;38;5;245
|
||||
.cc 01;38;5;245
|
||||
.objc 01;38;5;245
|
||||
.sqlite 01;38;5;245
|
||||
.go 01;38;5;245
|
||||
.sql 01;38;5;245
|
||||
.csv 01;38;5;245
|
||||
|
||||
# "unimportant" files as logs and backups (base01)
|
||||
.log 00;38;5;240
|
||||
.bak 00;38;5;240
|
||||
.aux 00;38;5;240
|
||||
.lof 00;38;5;240
|
||||
.lol 00;38;5;240
|
||||
.lot 00;38;5;240
|
||||
.out 00;38;5;240
|
||||
.toc 00;38;5;240
|
||||
.bbl 00;38;5;240
|
||||
.blg 00;38;5;240
|
||||
*~ 00;38;5;240
|
||||
*# 00;38;5;240
|
||||
.part 00;38;5;240
|
||||
.incomplete 00;38;5;240
|
||||
.swp 00;38;5;240
|
||||
.tmp 00;38;5;240
|
||||
.temp 00;38;5;240
|
||||
.o 00;38;5;240
|
||||
.pyc 00;38;5;240
|
||||
.class 00;38;5;240
|
||||
.cache 00;38;5;240
|
||||
|
||||
# Audio formats (orange)
|
||||
.aac 00;38;5;166
|
||||
.au 00;38;5;166
|
||||
.flac 00;38;5;166
|
||||
.mid 00;38;5;166
|
||||
.midi 00;38;5;166
|
||||
.mka 00;38;5;166
|
||||
.mp3 00;38;5;166
|
||||
.mpc 00;38;5;166
|
||||
.ogg 00;38;5;166
|
||||
.opus 00;38;5;166
|
||||
.ra 00;38;5;166
|
||||
.wav 00;38;5;166
|
||||
.m4a 00;38;5;166
|
||||
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
|
||||
.axa 00;38;5;166
|
||||
.oga 00;38;5;166
|
||||
.spx 00;38;5;166
|
||||
.xspf 00;38;5;166
|
||||
|
||||
# Video formats (as audio + bold)
|
||||
.mov 01;38;5;166
|
||||
.MOV 01;38;5;166
|
||||
.mpg 01;38;5;166
|
||||
.mpeg 01;38;5;166
|
||||
.m2v 01;38;5;166
|
||||
.mkv 01;38;5;166
|
||||
.ogm 01;38;5;166
|
||||
.mp4 01;38;5;166
|
||||
.m4v 01;38;5;166
|
||||
.mp4v 01;38;5;166
|
||||
.vob 01;38;5;166
|
||||
.qt 01;38;5;166
|
||||
.nuv 01;38;5;166
|
||||
.wmv 01;38;5;166
|
||||
.asf 01;38;5;166
|
||||
.rm 01;38;5;166
|
||||
.rmvb 01;38;5;166
|
||||
.flc 01;38;5;166
|
||||
.avi 01;38;5;166
|
||||
.fli 01;38;5;166
|
||||
.flv 01;38;5;166
|
||||
.gl 01;38;5;166
|
||||
.m2ts 01;38;5;166
|
||||
.divx 01;38;5;166
|
||||
.webm 01;38;5;166
|
||||
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
|
||||
.axv 01;38;5;166
|
||||
.anx 01;38;5;166
|
||||
.ogv 01;38;5;166
|
||||
.ogx 01;38;5;166
|
||||
'';
|
||||
settings = pkgs.lib.mkForce { };
|
||||
};
|
||||
|
||||
direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
|
||||
fish = {
|
||||
enable = true;
|
||||
|
||||
shellAbbrs = {
|
||||
fix-ssh = "eval $(tmux show-env | grep ^SSH_AUTH_SOCK | sed 's/=/ /;s/^/set /')";
|
||||
diff-persist = "sudo rsync -amvxx --dry-run --no-links --exclude '/tmp/*' --exclude '/root/*' / /persist/ | rg -v '^skipping|/$'";
|
||||
};
|
||||
|
||||
shellInit = ''
|
||||
set fish_greeting
|
||||
|
||||
set pure_color_mute green
|
||||
set pure_check_for_new_release false
|
||||
set pure_enable_nixdevshell true
|
||||
set pure_show_prefix_root_prompt true
|
||||
set sponge_regex_patterns 'password|passwd'
|
||||
'';
|
||||
};
|
||||
|
||||
fzf = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
userEmail = "petru@paler.net";
|
||||
userName = "Petru Paler";
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
less.enable = true;
|
||||
|
||||
lesspipe.enable = false;
|
||||
|
||||
nix-index-database.comma.enable = true;
|
||||
|
||||
nixvim = {
|
||||
enable = true;
|
||||
|
||||
defaultEditor = true;
|
||||
viAlias = true;
|
||||
# makes lessopen complain sometimes
|
||||
vimAlias = false;
|
||||
|
||||
opts = {
|
||||
tabstop = 4;
|
||||
softtabstop = 4;
|
||||
shiftwidth = 4;
|
||||
expandtab = true;
|
||||
shiftround = true;
|
||||
};
|
||||
|
||||
plugins = {
|
||||
nix.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
tmux = {
|
||||
enable = true;
|
||||
prefix = "C-t";
|
||||
terminal = "screen-256color";
|
||||
historyLimit = 20000;
|
||||
keyMode = "vi";
|
||||
extraConfig = ''
|
||||
bind-key t send-prefix
|
||||
bind-key C-t last-window
|
||||
|
||||
set -g status-left ""
|
||||
set -g status-right ""
|
||||
|
||||
setw -g automatic-rename on
|
||||
set -g set-titles on
|
||||
'';
|
||||
};
|
||||
}
|
||||
6
home/programs/workstation.nix
Normal file
6
home/programs/workstation.nix
Normal file
@@ -0,0 +1,6 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [ ./server.nix ];
|
||||
|
||||
# Add workstation-specific programs here if needed in the future
|
||||
}
|
||||
Reference in New Issue
Block a user