Merge branch 'main' of git.pub.solar:b12f/os
This commit is contained in:
commit
aca454bcfb
18
flake.lock
18
flake.lock
|
@ -716,7 +716,8 @@
|
|||
"nixpkgs": "nixpkgs_4",
|
||||
"nixpkgs-master": "nixpkgs-master",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"openstreetmap": "openstreetmap"
|
||||
"openstreetmap": "openstreetmap",
|
||||
"themes": "themes"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
|
@ -749,6 +750,21 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"themes": {
|
||||
"locked": {
|
||||
"lastModified": 1715166503,
|
||||
"narHash": "sha256-eG3+PTzJntnMrO9J2fCtshU+XX18uI8iIjDKU9NkJXA=",
|
||||
"owner": "RGBCube",
|
||||
"repo": "ThemeNix",
|
||||
"rev": "c188d0d729841f71f576dfb544e70c0340bf52a8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "RGBCube",
|
||||
"repo": "ThemeNix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
home-manager.url = "github:nix-community/home-manager/release-24.05";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
themes.url = "github:RGBCube/ThemeNix";
|
||||
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
nixos-flake.url = "github:srid/nixos-flake";
|
||||
|
||||
|
@ -61,6 +63,7 @@
|
|||
imports = [
|
||||
inputs.nixos-flake.flakeModule
|
||||
./public-keys.nix
|
||||
./theme.nix
|
||||
./lib
|
||||
./modules
|
||||
./hosts
|
||||
|
|
|
@ -8,12 +8,3 @@ bindsym XF86MonBrightnessDown exec "brightnessctl -d intel_backlight set 10%-; n
|
|||
# Keyboard backlight brightness controls
|
||||
bindsym XF86KbdBrightnessDown exec "brightnessctl -d smc::kbd_backlight set 10%-; notify-send $(brightnessctl -d smc::kbd_backlight i | awk '/Current/ { print $4}')"
|
||||
bindsym XF86KbdBrightnessUp exec "brightnessctl -d smc::kbd_backlight set +10%; notify-send $(brightnessctl -d smc::kbd_backlight i | awk '/Current/ { print $4}')"
|
||||
|
||||
# Pulse Audio controls
|
||||
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%; exec pactl set-sink-mute @DEFAULT_SINK@ 0 && notify-send 'Vol. up' #increase sound volume
|
||||
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%; exec pactl set-sink-mute @DEFAULT_SINK@ 0 && notify-send 'Vol. down' #decrease sound volume
|
||||
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && notify-send 'Mute sound' # mute sound
|
||||
# Media player controls
|
||||
bindsym XF86AudioPlay exec "playerctl play-pause; notify-send 'Play/Pause'"
|
||||
bindsym XF86AudioNext exec "playerctl next; notify-send 'Next'"
|
||||
bindsym XF86AudioPrev exec "playerctl previous; notify-send 'Prev.'"
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
# Touchpad controls
|
||||
#bindsym XF86TouchpadToggle exec $HOME/Workspace/ben/toggletouchpad.sh # toggle touchpad
|
||||
|
||||
# Screen brightness controls
|
||||
bindsym XF86MonBrightnessUp exec "brightnessctl -d intel_backlight set +10%; notify-send $(brightnessctl -d intel_backlight i | awk '/Current/ {print $4}')"
|
||||
bindsym XF86MonBrightnessDown exec "brightnessctl -d intel_backlight set 10%-; notify-send $(brightnessctl -d intel_backlight i | awk '/Current/ { print $4}')"
|
||||
|
||||
# Keyboard backlight brightness controls
|
||||
bindsym XF86KbdBrightnessDown exec "brightnessctl -d smc::kbd_backlight set 10%-; notify-send $(brightnessctl -d smc::kbd_backlight i | awk '/Current/ { print $4}')"
|
||||
bindsym XF86KbdBrightnessUp exec "brightnessctl -d smc::kbd_backlight set +10%; notify-send $(brightnessctl -d smc::kbd_backlight i | awk '/Current/ { print $4}')"
|
||||
|
||||
# Pulse Audio controls
|
||||
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%; exec pactl set-sink-mute @DEFAULT_SINK@ 0 && notify-send 'Vol. up' #increase sound volume
|
||||
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%; exec pactl set-sink-mute @DEFAULT_SINK@ 0 && notify-send 'Vol. down' #decrease sound volume
|
||||
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && notify-send 'Mute sound' # mute sound
|
||||
# Media player controls
|
||||
bindsym XF86AudioPlay exec "playerctl play-pause; notify-send 'Play/Pause'"
|
||||
bindsym XF86AudioNext exec "playerctl next; notify-send 'Next'"
|
||||
bindsym XF86AudioPrev exec "playerctl previous; notify-send 'Prev.'"
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
withSystem,
|
||||
self,
|
||||
inputs,
|
||||
...
|
||||
|
@ -7,6 +6,7 @@
|
|||
flake = {
|
||||
nixosConfigurations = {
|
||||
stroopwafel = self.nixos-flake.lib.mkLinuxSystem {
|
||||
|
||||
nixpkgs.hostPlatform = "x86_64-linux";
|
||||
imports = [
|
||||
inputs.impermanence.nixosModules.impermanence
|
||||
|
|
|
@ -8,12 +8,3 @@ bindsym XF86MonBrightnessDown exec "brightnessctl -d amdgpu_bl0 set 10%-; notify
|
|||
# Keyboard backlight brightness controls
|
||||
bindsym XF86KbdBrightnessDown exec "brightnessctl -d smc::kbd_backlight set 10%-; notify-send $(brightnessctl -d smc::kbd_backlight i | awk '/Current/ { print $4}')"
|
||||
bindsym XF86KbdBrightnessUp exec "brightnessctl -d smc::kbd_backlight set +10%; notify-send $(brightnessctl -d smc::kbd_backlight i | awk '/Current/ { print $4}')"
|
||||
|
||||
# Pulse Audio controls
|
||||
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%; exec pactl set-sink-mute @DEFAULT_SINK@ 0 && notify-send 'Vol. up' #increase sound volume
|
||||
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%; exec pactl set-sink-mute @DEFAULT_SINK@ 0 && notify-send 'Vol. down' #decrease sound volume
|
||||
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && notify-send 'Mute sound' # mute sound
|
||||
# Media player controls
|
||||
bindsym XF86AudioPlay exec "playerctl play-pause; notify-send 'Play/Pause'"
|
||||
bindsym XF86AudioNext exec "playerctl next; notify-send 'Next'"
|
||||
bindsym XF86AudioPrev exec "playerctl previous; notify-send 'Prev.'"
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
# This file is written by xdg-user-dirs-update
|
||||
# If you want to change or add directories, just edit the line you're
|
||||
# interested in. All local changes will be retained on the next run.
|
||||
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
|
||||
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
|
||||
# absolute path. No other format is supported.
|
||||
|
||||
XDG_DESKTOP_DIR="$HOME/"
|
||||
XDG_DOWNLOAD_DIR="$HOME/Downloads"
|
||||
XDG_TEMPLATES_DIR="$HOME/Templates"
|
||||
XDG_PUBLICSHARE_DIR="$HOME/Public"
|
||||
XDG_DOCUMENTS_DIR="$HOME/"
|
||||
XDG_MUSIC_DIR="$HOME/"
|
||||
XDG_PICTURES_DIR="$HOME/"
|
||||
XDG_VIDEOS_DIR="$HOME/"
|
|
@ -1,20 +1,3 @@
|
|||
@define-color base00 #1a181a;
|
||||
@define-color base01 #2d2a2e;
|
||||
@define-color base02 #303030;
|
||||
@define-color base03 #949494;
|
||||
@define-color base04 #d3d1d4;
|
||||
@define-color base05 #e3e1e4;
|
||||
@define-color base06 #303030;
|
||||
@define-color base07 #ff5f5f;
|
||||
@define-color base08 #f85e84;
|
||||
@define-color base09 #df5923;
|
||||
@define-color base0A #e5c463;
|
||||
@define-color base0B #9ecd6f;
|
||||
@define-color base0C #ef9062;
|
||||
@define-color base0D #7accd7;
|
||||
@define-color base0E #ab9df2;
|
||||
@define-color base0F #d70000;
|
||||
|
||||
* {
|
||||
min-height: 0;
|
||||
border: none;
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
Gtk/ButtonImages 1
|
||||
Gtk/CanChangeAccels 1
|
||||
Gtk/CursorThemeName "default"
|
||||
Gtk/CursorThemeSize 0
|
||||
Gtk/EnableEventSounds 0
|
||||
Gtk/EnableInputFeedbackSounds 0
|
||||
Gtk/FontName "Lato"
|
||||
Gtk/ThemeName "Matcha-dark-aliz"
|
||||
Gtk/IconThemeName "Papirus-Adapta-Nokto-Maia"
|
||||
Gtk/MenuBarAccel "F10"
|
||||
Gtk/MenuImages 1
|
||||
Gtk/ToolbarIconSize 3
|
||||
Gtk/ToolbarStyle "icons"
|
||||
Xft/Antialias 1
|
||||
Xft/DPI 102400
|
||||
Xft/Hinting 1
|
||||
Xft/HintStyle "hintslight"
|
||||
Xft/RGBA "rgb"
|
|
@ -9,8 +9,6 @@ usermodmap=$HOME/.config/xmodmap
|
|||
sysresources=/etc/X11/xinit/.Xresources
|
||||
sysmodmap=/etc/X11/xinit/.Xmodmap
|
||||
|
||||
DEFAULT_SESSION='i3 --shmlog-size 0'
|
||||
|
||||
xset -b
|
||||
|
||||
if [ -d $HOME/.fonts ]; then
|
||||
|
@ -48,23 +46,8 @@ fi
|
|||
get_session(){
|
||||
local dbus_args=(--sh-syntax --exit-with-session)
|
||||
case $1 in
|
||||
awesome) dbus_args+=(awesome) ;;
|
||||
bspwm) dbus_args+=(bspwm-session) ;;
|
||||
budgie) dbus_args+=(budgie-desktop) ;;
|
||||
cinnamon) dbus_args+=(cinnamon-session) ;;
|
||||
deepin) dbus_args+=(startdde) ;;
|
||||
enlightenment) dbus_args+=(enlightenment_start) ;;
|
||||
fluxbox) dbus_args+=(startfluxbox) ;;
|
||||
gnome) dbus_args+=(gnome-session) ;;
|
||||
i3|i3wm) dbus_args+=(i3 --shmlog-size 0) ;;
|
||||
jwm) dbus_args+=(jwm) ;;
|
||||
kde) dbus_args+=(startkde) ;;
|
||||
lxde) dbus_args+=(startlxde) ;;
|
||||
lxqt) dbus_args+=(lxqt-session) ;;
|
||||
mate) dbus_args+=(mate-session) ;;
|
||||
xfce) dbus_args+=(xfce4-session) ;;
|
||||
openbox) dbus_args+=(openbox-session) ;;
|
||||
*) dbus_args+=($DEFAULT_SESSION) ;;
|
||||
*) dbus_args+=(sway) ;;
|
||||
esac
|
||||
|
||||
echo "dbus-launch ${dbus_args[*]}"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
{ flake, ...}: with flake.self.theme.with0x; {
|
||||
env = {
|
||||
TERM = "xterm-256color";
|
||||
};
|
||||
|
@ -164,8 +164,8 @@
|
|||
|
||||
# Default colors
|
||||
primary = {
|
||||
background = "0x1a181a";
|
||||
foreground = "0xe3e1e4";
|
||||
background = base00;
|
||||
foreground = base05;
|
||||
};
|
||||
|
||||
# Cursor colors
|
||||
|
@ -184,8 +184,8 @@
|
|||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
matches = {
|
||||
foreground = "0xe5c463";
|
||||
background = "0x1a181a";
|
||||
foreground = base0A;
|
||||
background = base00;
|
||||
};
|
||||
focused_match = {
|
||||
foreground = "CellBackground";
|
||||
|
@ -203,58 +203,58 @@
|
|||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
selection = {
|
||||
text = "0x1a181a";
|
||||
background = "0xf85e84";
|
||||
text = base00;
|
||||
background = base08;
|
||||
};
|
||||
|
||||
# Normal colors
|
||||
normal = {
|
||||
black = "0x1a181a";
|
||||
red = "0xf85e84";
|
||||
green = "0x9ecd6f";
|
||||
yellow = "0xe5c463";
|
||||
blue = "0x7accd7";
|
||||
magenta = "0xab9df2";
|
||||
cyan = "0xef9062";
|
||||
white = "0xe3e1e4";
|
||||
black = base00;
|
||||
red = base08;
|
||||
green = base09;
|
||||
yellow = base0A;
|
||||
blue = base0D;
|
||||
magenta = base0E;
|
||||
cyan = base0C;
|
||||
white = base05;
|
||||
};
|
||||
|
||||
# Bright colors
|
||||
bright = {
|
||||
black = "0x949494";
|
||||
red = "0xf85e84";
|
||||
green = "0x9ecd6f";
|
||||
yellow = "0xe5c463";
|
||||
blue = "0x7accd7";
|
||||
magenta = "0xab9df2";
|
||||
cyan = "0xef9062";
|
||||
white = "0xff5f5f";
|
||||
black = base00;
|
||||
red = base08;
|
||||
green = base09;
|
||||
yellow = base0A;
|
||||
blue = base0D;
|
||||
magenta = base0E;
|
||||
cyan = base0C;
|
||||
white = base07;
|
||||
};
|
||||
|
||||
indexed_colors = [
|
||||
{
|
||||
index = 16;
|
||||
color = "0xdf5923";
|
||||
color = base09;
|
||||
}
|
||||
{
|
||||
index = 17;
|
||||
color = "0xd70000";
|
||||
color = base0F;
|
||||
}
|
||||
{
|
||||
index = 18;
|
||||
color = "0x2d2a2e";
|
||||
color = base01;
|
||||
}
|
||||
{
|
||||
index = 19;
|
||||
color = "0x303030";
|
||||
color = base02;
|
||||
}
|
||||
{
|
||||
index = 20;
|
||||
color = "0xd3d1d4";
|
||||
color = base04;
|
||||
}
|
||||
{
|
||||
index = 21;
|
||||
color = "0x303030";
|
||||
color = base02;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
args@{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
|
@ -93,14 +93,11 @@ in {
|
|||
|
||||
users.users."${psCfg.user.name}".packages = with pkgs; [
|
||||
alacritty
|
||||
firefox-wayland
|
||||
flameshot
|
||||
gnome.adwaita-icon-theme
|
||||
gnome.eog
|
||||
gnome.nautilus
|
||||
gnome.seahorse
|
||||
gnome.yelp
|
||||
hicolor-icon-theme
|
||||
keepassxc
|
||||
libnotify
|
||||
toggle-kbd-layout
|
||||
|
@ -111,14 +108,23 @@ in {
|
|||
|
||||
home-manager.users."${psCfg.user.name}" = {
|
||||
home.file."xinitrc".source = ./.xinitrc;
|
||||
xdg.configFile."alacritty/alacritty.toml".source = tomlFormat.generate "alacritty.toml" (import ./alacritty.nix);
|
||||
xdg.configFile."alacritty/alacritty.toml".source = tomlFormat.generate "alacritty.toml" ((import ./alacritty.nix) args);
|
||||
xdg.configFile."xmodmap".source = ./.config/xmodmap;
|
||||
xdg.configFile."user-dirs.dirs".source = ./.config/user-dirs.dirs;
|
||||
xdg.configFile."user-dirs.locale".source = ./.config/user-dirs.locale;
|
||||
xdg.configFile."xsettingsd/xsettingsd.conf".source = ./.config/xsettingsd/xsettingsd.conf;
|
||||
xdg.configFile."libinput-gestures.conf".source = ./.config/libinput-gestures.conf;
|
||||
xdg.configFile."wallpaper.jpg".source = ./assets/wallpaper.jpg;
|
||||
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = pkgs.firefox-wayland;
|
||||
};
|
||||
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
};
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
font.name = "Lato";
|
||||
|
@ -136,7 +142,7 @@ in {
|
|||
gtk-xft-hinting = "1";
|
||||
gtk-xft-hintstyle = "hintfull";
|
||||
gtk-xft-rgba = "rgb";
|
||||
gtk-application-prefer-dark-theme = "true";
|
||||
gtk-application-prefer-dark-theme = "1";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
flake,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
|
@ -10,20 +11,20 @@ in {
|
|||
home-manager.users."${psCfg.user.name}" = {
|
||||
services.mako = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
extraConfig = with flake.self.theme.withHashtag; ''
|
||||
padding=10
|
||||
margin=5,5,0
|
||||
default-timeout=5000
|
||||
|
||||
background-color=#1a181a
|
||||
text-color=#e3e1e4
|
||||
border-color=#ff5f5f
|
||||
background-color=${base00}
|
||||
text-color=${base05}
|
||||
border-color=${base07}
|
||||
font=Hack 14
|
||||
|
||||
[urgency=high]
|
||||
background-color=#ff5f5f
|
||||
text-color=#1a181a
|
||||
border-color=#1a181a
|
||||
background-color=${base07}
|
||||
text-color=${base00}
|
||||
border-color=${base00}
|
||||
layer=overlay
|
||||
font=Hack 14
|
||||
'';
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
## Base16 Burn
|
||||
# Author: Benjamin Bädorf
|
||||
|
||||
set $base00 #1a181a
|
||||
set $base01 #2d2a2e
|
||||
set $base02 #303030
|
||||
set $base03 #949494
|
||||
set $base04 #d3d1d4
|
||||
set $base05 #e3e1e4
|
||||
set $base06 #303030
|
||||
set $base07 #ff5f5f
|
||||
set $base08 #f85e84
|
||||
set $base09 #df5923
|
||||
set $base0A #e5c463
|
||||
set $base0B #9ecd6f
|
||||
set $base0C #ef9062
|
||||
set $base0D #7accd7
|
||||
set $base0E #ab9df2
|
||||
set $base0F #d70000
|
|
@ -1,43 +1,25 @@
|
|||
# launch categorized menu
|
||||
bindsym $mod+z exec --no-startup-id morc_menu
|
||||
|
||||
# switch keyboard input language
|
||||
bindsym $mod+tab exec toggle-kbd-layout
|
||||
|
||||
################################################################################################
|
||||
## sound-section - ##
|
||||
################################################################################################
|
||||
|
||||
bindsym $mod+Ctrl+m exec pavucontrol
|
||||
|
||||
################################################################################################
|
||||
|
||||
# Quickstart application shortcuts
|
||||
bindsym $mod+F1 exec psos help
|
||||
bindsym $mod+Shift+h exec psos help
|
||||
|
||||
bindsym $mod+F2 exec firefox
|
||||
|
||||
bindsym $mod+F4 exec nautilus -w
|
||||
bindsym $mod+Shift+F4 exec signal-desktop --use-tray-icon
|
||||
|
||||
bindsym $mod+Shift+m exec qMasterPassword
|
||||
|
||||
# Screenshots and screen recordings
|
||||
# Screen capturing
|
||||
bindsym $mod+Ctrl+p exec grim -g "$(slurp -d -b \#ffffff11)" ~/Pictures/Screenshots/$(date +%Y%m%d_%Hh%Mm%Ss)_grim.png
|
||||
bindsym $mod+Shift+p exec grim ~/Pictures/Screenshots/$(date +%Y%m%d_%Hh%Mm%Ss)_grim.png
|
||||
bindsym $mod+Ctrl+f exec "( pkill flameshot || true && flameshot & ) && ( sleep 0.5s && flameshot gui )"
|
||||
bindsym $mod+Shift+p exec grim -g "$(slurp -d -b \#ffffff11 -o)" ~/Pictures/Screenshots/$(date +%Y%m%d_%Hh%Mm%Ss)_grim.png
|
||||
|
||||
bindsym $mod+Ctrl+r exec record-screen
|
||||
bindsym $mod+Shift+r exec record-screen -o
|
||||
|
||||
# Launcher
|
||||
set $menu exec alacritty --class launcher -e env TERMINAL_COMMAND="alacritty -e" sway-launcher
|
||||
bindsym $mod+Space exec $menu
|
||||
|
||||
set $mode_vncclient In VNCClient mode. Press $mod+Num_Lock or $mod+Shift+Escape to return.
|
||||
bindsym $mod+Num_Lock mode "$mode_vncclient"
|
||||
bindsym $mod+Shift+Escape mode "$mode_vncclient"
|
||||
mode "$mode_vncclient" {
|
||||
bindsym $mod+Num_Lock mode "default"
|
||||
bindsym $mod+Shift+Escape mode "default"
|
||||
}
|
||||
# Pulse Audio controls
|
||||
bindsym $mod+Ctrl+m exec pavucontrol
|
||||
|
||||
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%; exec pactl set-sink-mute @DEFAULT_SINK@ 0 && notify-send 'Vol. up' #increase sound volume
|
||||
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%; exec pactl set-sink-mute @DEFAULT_SINK@ 0 && notify-send 'Vol. down' #decrease sound volume
|
||||
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && notify-send 'Mute sound' # mute sound
|
||||
|
||||
# Media player controls
|
||||
bindsym XF86AudioPlay exec "playerctl play-pause; notify-send 'Play/Pause'"
|
||||
bindsym XF86AudioNext exec "playerctl next; notify-send 'Next'"
|
||||
bindsym XF86AudioPrev exec "playerctl previous; notify-send 'Prev.'"
|
||||
|
|
1
modules/graphical/sway/config/config.d/keepalive.conf
Normal file
1
modules/graphical/sway/config/config.d/keepalive.conf
Normal file
|
@ -0,0 +1 @@
|
|||
for_window [app_id=".*"] inhibit_idle fullscreen
|
|
@ -1,14 +1,12 @@
|
|||
{
|
||||
pkgs,
|
||||
psCfg,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with pkgs;
|
||||
''
|
||||
}: with pkgs; ''
|
||||
# Set shut down, restart and locking features
|
||||
''
|
||||
+ (
|
||||
if psCfg.core.hibernation.enable
|
||||
if config.pub-solar.core.hibernation.enable
|
||||
then ''
|
||||
set $mode_system (e)xit, (l)ock, (h)ibernate, (r)eboot, (Shift+s)hutdown
|
||||
''
|
||||
|
@ -24,7 +22,7 @@ with pkgs;
|
|||
bindsym l exec ${swaylock-bg}/bin/swaylock-bg, mode "default"
|
||||
''
|
||||
+ (
|
||||
if psCfg.core.hibernation.enable
|
||||
if config.pub-solar.core.hibernation.enable
|
||||
then ''
|
||||
bindsym h exec ${systemd}/bin/systemctl hibernate, mode "default"
|
||||
''
|
||||
|
|
|
@ -1,3 +1,21 @@
|
|||
{ flake, ... }: with flake.self.theme.withHashtag; ''
|
||||
set $base00 ${base00}
|
||||
set $base01 ${base01}
|
||||
set $base02 ${base02}
|
||||
set $base03 ${base03}
|
||||
set $base04 ${base04}
|
||||
set $base05 ${base05}
|
||||
set $base06 ${base06}
|
||||
set $base07 ${base07}
|
||||
set $base08 ${base08}
|
||||
set $base09 ${base09}
|
||||
set $base0A ${base0A}
|
||||
set $base0B ${base0B}
|
||||
set $base0C ${base0C}
|
||||
set $base0D ${base0D}
|
||||
set $base0E ${base0E}
|
||||
set $base0F ${base0F}
|
||||
|
||||
# Border BG Text Ind Child Border
|
||||
client.focused $base00 $base01 $base07 $base0D $base07
|
||||
client.focused_inactive $base00 $base01 $base07 $base03 $base00
|
||||
|
@ -14,3 +32,6 @@ exec_always import-gtk-settings \
|
|||
|
||||
# Workaround to fix cursor scaling, see https://github.com/swaywm/sway/issues/4112
|
||||
seat seat0 xcursor_theme Adwaita
|
||||
|
||||
output * bg ~/.config/wallpaper.jpg fill
|
||||
''
|
|
@ -1,217 +1,227 @@
|
|||
{
|
||||
args@{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: ''
|
||||
# Default config for sway
|
||||
#
|
||||
# Copy this to ~/.config/sway/config and edit it to your liking.
|
||||
#
|
||||
# Read `man 5 sway` for a complete reference.
|
||||
}: let
|
||||
applications = builtins.readFile ./config.d/applications.conf;
|
||||
custom-keybindings = builtins.readFile ./config.d/custom-keybindings.conf;
|
||||
gaps = builtins.readFile ./config.d/gaps.conf;
|
||||
mode-system = import ./config.d/mode_system.conf.nix args;
|
||||
systemd = builtins.readFile ./config.d/systemd.conf;
|
||||
theme = import ./config.d/theme.conf.nix args;
|
||||
in ''
|
||||
# Default config for sway
|
||||
#
|
||||
# Copy this to ~/.config/sway/config and edit it to your liking.
|
||||
#
|
||||
# Read `man 5 sway` for a complete reference.
|
||||
|
||||
### Variables
|
||||
#
|
||||
# Logo key. Use Mod1 for Alt.
|
||||
set $mod Mod4
|
||||
# Home row direction keys, like vim
|
||||
set $left j
|
||||
set $down k
|
||||
set $up i
|
||||
set $right l
|
||||
# Your preferred terminal emulator
|
||||
set $term ${pkgs.alacritty}/bin/alacritty
|
||||
# Your preferred application launcher
|
||||
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
||||
# on the original workspace that the command was run on.
|
||||
#set $menu dmenu_path | dmenu | xargs swaymsg exec bemenu-run --no-overlap
|
||||
### Variables
|
||||
#
|
||||
# Logo key. Use Mod1 for Alt.
|
||||
set $mod Mod4
|
||||
# Home row direction keys, like vim
|
||||
set $left j
|
||||
set $down k
|
||||
set $up i
|
||||
set $right l
|
||||
# Your preferred terminal emulator
|
||||
set $term ${pkgs.alacritty}/bin/alacritty
|
||||
# Your preferred application launcher
|
||||
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
||||
# on the original workspace that the command was run on.
|
||||
#set $menu dmenu_path | dmenu | xargs swaymsg exec bemenu-run --no-overlap
|
||||
|
||||
default_border pixel 1
|
||||
default_border pixel 1
|
||||
|
||||
### Output configuration
|
||||
#
|
||||
# Default wallpaper (more resolutions are available in @datadir@/backgrounds/sway/)
|
||||
output * bg ~/.config/wallpaper.jpg fill
|
||||
### Key bindings
|
||||
#
|
||||
# Basics:
|
||||
#
|
||||
# Start a terminal
|
||||
bindsym $mod+Return exec $term
|
||||
|
||||
### Key bindings
|
||||
#
|
||||
# Basics:
|
||||
#
|
||||
# Start a terminal
|
||||
bindsym $mod+Return exec $term
|
||||
# Start a terminal
|
||||
bindsym $mod+Shift+Return exec sh -c '$term --working-directory $(wcwd)'
|
||||
|
||||
# Start a terminal
|
||||
bindsym $mod+Shift+Return exec sh -c '$term --working-directory $(wcwd)'
|
||||
# Kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# Kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
# Drag floating windows by holding down $mod and left mouse button.
|
||||
# Resize them with right mouse button + $mod.
|
||||
# Despite the name, also works for non-floating windows.
|
||||
# Change normal to inverse to use left mouse button for resizing and right
|
||||
# mouse button for dragging.
|
||||
floating_modifier $mod normal
|
||||
|
||||
# Drag floating windows by holding down $mod and left mouse button.
|
||||
# Resize them with right mouse button + $mod.
|
||||
# Despite the name, also works for non-floating windows.
|
||||
# Change normal to inverse to use left mouse button for resizing and right
|
||||
# mouse button for dragging.
|
||||
floating_modifier $mod normal
|
||||
# Reload the configuration file
|
||||
bindsym $mod+F5 reload
|
||||
|
||||
# Reload the configuration file
|
||||
bindsym $mod+F5 reload
|
||||
#
|
||||
# Moving around:
|
||||
#
|
||||
# Move your focus around
|
||||
bindsym $mod+$left focus left
|
||||
bindsym $mod+$down focus down
|
||||
bindsym $mod+$up focus up
|
||||
bindsym $mod+$right focus right
|
||||
# Or use $mod+[up|down|left|right]
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
#
|
||||
# Moving around:
|
||||
#
|
||||
# Move your focus around
|
||||
bindsym $mod+$left focus left
|
||||
bindsym $mod+$down focus down
|
||||
bindsym $mod+$up focus up
|
||||
bindsym $mod+$right focus right
|
||||
# Or use $mod+[up|down|left|right]
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# Move the focused window with the same, but add Shift
|
||||
bindsym $mod+Shift+$left move left
|
||||
bindsym $mod+Shift+$down move down
|
||||
bindsym $mod+Shift+$up move up
|
||||
bindsym $mod+Shift+$right move right
|
||||
# Ditto, with arrow keys
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
#
|
||||
# Workspaces:
|
||||
#
|
||||
# Move the focused window with the same, but add Shift
|
||||
bindsym $mod+Shift+$left move left
|
||||
bindsym $mod+Shift+$down move down
|
||||
bindsym $mod+Shift+$up move up
|
||||
bindsym $mod+Shift+$right move right
|
||||
# Ditto, with arrow keys
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
#
|
||||
# Workspaces:
|
||||
#
|
||||
|
||||
|
||||
# Workspace names
|
||||
# to display names or symbols instead of plain workspace numbers you can use
|
||||
# something like: set $ws1 1:mail
|
||||
# set $ws2 2:
|
||||
set $ws1 1
|
||||
set $ws2 2
|
||||
set $ws3 3
|
||||
set $ws4 4
|
||||
set $ws5 5
|
||||
set $ws6 6
|
||||
set $ws7 7
|
||||
set $ws8 8
|
||||
set $ws9 9
|
||||
# Workspace names
|
||||
# to display names or symbols instead of plain workspace numbers you can use
|
||||
# something like: set $ws1 1:mail
|
||||
# set $ws2 2:
|
||||
set $ws1 1
|
||||
set $ws2 2
|
||||
set $ws3 3
|
||||
set $ws4 4
|
||||
set $ws5 5
|
||||
set $ws6 6
|
||||
set $ws7 7
|
||||
set $ws8 8
|
||||
set $ws9 9
|
||||
|
||||
# Switch to workspace
|
||||
bindsym $mod+1 workspace 1
|
||||
bindsym $mod+2 workspace 2
|
||||
bindsym $mod+3 workspace 3
|
||||
bindsym $mod+4 workspace 4
|
||||
bindsym $mod+5 workspace 5
|
||||
bindsym $mod+6 workspace 6
|
||||
bindsym $mod+7 workspace 7
|
||||
bindsym $mod+8 workspace 8
|
||||
bindsym $mod+9 workspace 9
|
||||
# Move focused container to workspace
|
||||
bindsym $mod+Ctrl+1 move container to workspace $ws1
|
||||
bindsym $mod+Ctrl+2 move container to workspace $ws2
|
||||
bindsym $mod+Ctrl+3 move container to workspace $ws3
|
||||
bindsym $mod+Ctrl+4 move container to workspace $ws4
|
||||
bindsym $mod+Ctrl+5 move container to workspace $ws5
|
||||
bindsym $mod+Ctrl+6 move container to workspace $ws6
|
||||
bindsym $mod+Ctrl+7 move container to workspace $ws7
|
||||
bindsym $mod+Ctrl+8 move container to workspace $ws8
|
||||
bindsym $mod+Ctrl+9 move container to workspace $ws9
|
||||
# Move focused container to workspace and move focus with it
|
||||
bindsym $mod+Shift+1 move container to workspace 1; workspace $ws1
|
||||
bindsym $mod+Shift+2 move container to workspace 2; workspace $ws2
|
||||
bindsym $mod+Shift+3 move container to workspace 3; workspace $ws3
|
||||
bindsym $mod+Shift+4 move container to workspace 4; workspace $ws4
|
||||
bindsym $mod+Shift+5 move container to workspace 5; workspace $ws5
|
||||
bindsym $mod+Shift+6 move container to workspace 6; workspace $ws6
|
||||
bindsym $mod+Shift+7 move container to workspace 7; workspace $ws7
|
||||
bindsym $mod+Shift+8 move container to workspace 8; workspace $ws8
|
||||
bindsym $mod+Shift+9 move container to workspace 9; workspace $ws9
|
||||
# Note: workspaces can have any name you want, not just numbers.
|
||||
# We just use 1-10 as the default.
|
||||
# Switch to workspace
|
||||
bindsym $mod+1 workspace 1
|
||||
bindsym $mod+2 workspace 2
|
||||
bindsym $mod+3 workspace 3
|
||||
bindsym $mod+4 workspace 4
|
||||
bindsym $mod+5 workspace 5
|
||||
bindsym $mod+6 workspace 6
|
||||
bindsym $mod+7 workspace 7
|
||||
bindsym $mod+8 workspace 8
|
||||
bindsym $mod+9 workspace 9
|
||||
# Move focused container to workspace
|
||||
bindsym $mod+Ctrl+1 move container to workspace $ws1
|
||||
bindsym $mod+Ctrl+2 move container to workspace $ws2
|
||||
bindsym $mod+Ctrl+3 move container to workspace $ws3
|
||||
bindsym $mod+Ctrl+4 move container to workspace $ws4
|
||||
bindsym $mod+Ctrl+5 move container to workspace $ws5
|
||||
bindsym $mod+Ctrl+6 move container to workspace $ws6
|
||||
bindsym $mod+Ctrl+7 move container to workspace $ws7
|
||||
bindsym $mod+Ctrl+8 move container to workspace $ws8
|
||||
bindsym $mod+Ctrl+9 move container to workspace $ws9
|
||||
# Move focused container to workspace and move focus with it
|
||||
bindsym $mod+Shift+1 move container to workspace 1; workspace $ws1
|
||||
bindsym $mod+Shift+2 move container to workspace 2; workspace $ws2
|
||||
bindsym $mod+Shift+3 move container to workspace 3; workspace $ws3
|
||||
bindsym $mod+Shift+4 move container to workspace 4; workspace $ws4
|
||||
bindsym $mod+Shift+5 move container to workspace 5; workspace $ws5
|
||||
bindsym $mod+Shift+6 move container to workspace 6; workspace $ws6
|
||||
bindsym $mod+Shift+7 move container to workspace 7; workspace $ws7
|
||||
bindsym $mod+Shift+8 move container to workspace 8; workspace $ws8
|
||||
bindsym $mod+Shift+9 move container to workspace 9; workspace $ws9
|
||||
# Note: workspaces can have any name you want, not just numbers.
|
||||
# We just use 1-10 as the default.
|
||||
|
||||
#navigate workspaces next / previous
|
||||
bindsym $mod+Ctrl+Right workspace next
|
||||
bindsym $mod+Ctrl+Left workspace prev
|
||||
#navigate workspaces next / previous
|
||||
bindsym $mod+Ctrl+Right workspace next
|
||||
bindsym $mod+Ctrl+Left workspace prev
|
||||
|
||||
# workspace back and forth (with/without active container)
|
||||
workspace_auto_back_and_forth yes
|
||||
bindsym $mod+b workspace back_and_forth
|
||||
bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
|
||||
# workspace back and forth (with/without active container)
|
||||
workspace_auto_back_and_forth yes
|
||||
bindsym $mod+b workspace back_and_forth
|
||||
bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
|
||||
|
||||
#
|
||||
# Layout stuff:
|
||||
#
|
||||
# Configure border style <normal|1pixel|pixel xx|none|pixel>
|
||||
default_border pixel 1
|
||||
default_floating_border normal
|
||||
#
|
||||
# Layout stuff:
|
||||
#
|
||||
# Configure border style <normal|1pixel|pixel xx|none|pixel>
|
||||
default_border pixel 1
|
||||
default_floating_border normal
|
||||
|
||||
# Hide borders
|
||||
hide_edge_borders none
|
||||
# Hide borders
|
||||
hide_edge_borders none
|
||||
|
||||
# Font for window titles. Will also be used by the bar unless a different font
|
||||
# is used in the bar {} block below.
|
||||
font xft:Hack 16
|
||||
# Font for window titles. Will also be used by the bar unless a different font
|
||||
# is used in the bar {} block below.
|
||||
font xft:Hack 16
|
||||
|
||||
# You can "split" the current object of your focus with
|
||||
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||
# respectively.
|
||||
bindsym $mod+h splith; exec notify-send 'tile horizontally'
|
||||
bindsym $mod+v splitv; exec notify-send 'tile vertically'
|
||||
# You can "split" the current object of your focus with
|
||||
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||
# respectively.
|
||||
bindsym $mod+h splith; exec notify-send 'tile horizontally'
|
||||
bindsym $mod+v splitv; exec notify-send 'tile vertically'
|
||||
|
||||
# Switch the current container between different layout styles
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
# Switch the current container between different layout styles
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# Make the current focus fullscreen
|
||||
bindsym $mod+f fullscreen
|
||||
# Make the current focus fullscreen
|
||||
bindsym $mod+f fullscreen
|
||||
|
||||
# Toggle the current focus between tiling and floating mode
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
# Toggle the current focus between tiling and floating mode
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# Swap focus between the tiling area and the floating area
|
||||
bindsym $mod+t focus mode_toggle
|
||||
# Swap focus between the tiling area and the floating area
|
||||
bindsym $mod+t focus mode_toggle
|
||||
|
||||
# Move focus to the parent container
|
||||
bindsym $mod+a focus parent
|
||||
bindsym $mod+d focus child
|
||||
#
|
||||
# Scratchpad:
|
||||
#
|
||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||
# You can send windows there and get them back later.
|
||||
# Move focus to the parent container
|
||||
bindsym $mod+a focus parent
|
||||
bindsym $mod+d focus child
|
||||
#
|
||||
# Scratchpad:
|
||||
#
|
||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||
# You can send windows there and get them back later.
|
||||
|
||||
# Move the currently focused window to the scratchpad
|
||||
bindsym $mod+Shift+minus move scratchpad
|
||||
# Move the currently focused window to the scratchpad
|
||||
bindsym $mod+Shift+minus move scratchpad
|
||||
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
bindsym $mod+minus scratchpad show
|
||||
#
|
||||
# Resizing containers:
|
||||
#
|
||||
mode "resize" {
|
||||
# left will shrink the containers width
|
||||
# right will grow the containers width
|
||||
# up will shrink the containers height
|
||||
# down will grow the containers height
|
||||
bindsym $left resize shrink width 10px
|
||||
bindsym $down resize grow height 10px
|
||||
bindsym $up resize shrink height 10px
|
||||
bindsym $right resize grow width 10px
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
bindsym $mod+minus scratchpad show
|
||||
#
|
||||
# Resizing containers:
|
||||
#
|
||||
mode "resize" {
|
||||
# left will shrink the containers width
|
||||
# right will grow the containers width
|
||||
# up will shrink the containers height
|
||||
# down will grow the containers height
|
||||
bindsym $left resize shrink width 10px
|
||||
bindsym $down resize grow height 10px
|
||||
bindsym $up resize shrink height 10px
|
||||
bindsym $right resize grow width 10px
|
||||
|
||||
# Ditto, with arrow keys
|
||||
bindsym Left resize shrink width 10px
|
||||
bindsym Down resize grow height 10px
|
||||
bindsym Up resize shrink height 10px
|
||||
bindsym Right resize grow width 10px
|
||||
# Ditto, with arrow keys
|
||||
bindsym Left resize shrink width 10px
|
||||
bindsym Down resize grow height 10px
|
||||
bindsym Up resize shrink height 10px
|
||||
bindsym Right resize grow width 10px
|
||||
|
||||
# Return to default mode
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
bindsym $mod+r mode "resize"
|
||||
# Return to default mode
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
include ~/.config/sway/config.d/*''
|
||||
${applications}
|
||||
${gaps}
|
||||
${custom-keybindings}
|
||||
${mode-system}
|
||||
${systemd}
|
||||
${theme}
|
||||
|
||||
include ~/.config/sway/config.d/*
|
||||
''
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
args@{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
|
@ -60,8 +60,6 @@ in {
|
|||
wl-clipboard
|
||||
wf-recorder
|
||||
brightnessctl
|
||||
gammastep
|
||||
geoclue2
|
||||
xsettingsd
|
||||
ydotool
|
||||
|
||||
|
@ -72,19 +70,19 @@ in {
|
|||
wcwd
|
||||
];
|
||||
|
||||
home-manager.users."${psCfg.user.name}" = {
|
||||
systemd.user.services.sway = import ./sway.service.nix {inherit pkgs psCfg;};
|
||||
systemd.user.services.xsettingsd = import ./xsettingsd.service.nix {inherit pkgs psCfg;};
|
||||
systemd.user.targets.sway-session = import ./sway-session.target.nix {inherit pkgs psCfg;};
|
||||
services.geoclue2.enable = true;
|
||||
|
||||
xdg.configFile."sway/config".text = import ./config/config.nix {inherit config pkgs;};
|
||||
xdg.configFile."sway/config.d/colorscheme.conf".source = ./config/config.d/colorscheme.conf;
|
||||
xdg.configFile."sway/config.d/theme.conf".source = ./config/config.d/theme.conf;
|
||||
xdg.configFile."sway/config.d/gaps.conf".source = ./config/config.d/gaps.conf;
|
||||
xdg.configFile."sway/config.d/custom-keybindings.conf".source = ./config/config.d/custom-keybindings.conf;
|
||||
xdg.configFile."sway/config.d/mode_system.conf".text = import ./config/config.d/mode_system.conf.nix {inherit pkgs psCfg;};
|
||||
xdg.configFile."sway/config.d/applications.conf".source = ./config/config.d/applications.conf;
|
||||
xdg.configFile."sway/config.d/systemd.conf".source = ./config/config.d/systemd.conf;
|
||||
home-manager.users."${psCfg.user.name}" = {
|
||||
systemd.user.services.sway = import ./sway.service.nix args;
|
||||
systemd.user.targets.sway-session = import ./sway-session.target.nix args;
|
||||
|
||||
services.xsettingsd.enable = true;
|
||||
services.gammastep = {
|
||||
enable = true;
|
||||
provider = "geoclue2";
|
||||
};
|
||||
|
||||
xdg.configFile."sway/config".text = import ./config/config.nix args;
|
||||
|
||||
services.swayidle = with pkgs; {
|
||||
enable = true;
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
Unit = {
|
||||
Description = "set color temperature of display according to time of day";
|
||||
Documentation = ["man:gammastep(1)"];
|
||||
BindsTo = ["sway-session.target"];
|
||||
After = ["sway-session.target"];
|
||||
# ConditionEnvironment requires systemd v247 to work correctly
|
||||
ConditionEnvironment = ["WAYLAND_DISPLAY"];
|
||||
};
|
||||
Service = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.gammastep}/bin/gammastep -l geoclue2 -m wayland -v";
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["sway-session.target"];
|
||||
};
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
Unit = {
|
||||
Description = "X Settings Daemon";
|
||||
Documentation = ["https://github.com/derat/xsettingsd/wiki/Installation"];
|
||||
BindsTo = ["sway-session.target"];
|
||||
After = ["sway-session.target"];
|
||||
# ConditionEnvironment requires systemd v247 to work correctly
|
||||
ConditionEnvironment = ["WAYLAND_DISPLAY"];
|
||||
};
|
||||
Service = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.xsettingsd}/bin/xsettingsd";
|
||||
ExecStop = "/run/current-system/sw/bin/env pkill xsettingsd";
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["sway-session.target"];
|
||||
};
|
||||
}
|
|
@ -2,13 +2,14 @@
|
|||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
flake,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
psCfg = config.pub-solar;
|
||||
in {
|
||||
home-manager.users."${psCfg.user.name}" = {
|
||||
programs.waybar = {
|
||||
programs.waybar = with flake.self.theme.withHashtag; {
|
||||
enable = true;
|
||||
settings.main = {
|
||||
layer = "top";
|
||||
|
@ -88,7 +89,25 @@ in {
|
|||
};
|
||||
};
|
||||
};
|
||||
style = builtins.readFile ./.config/waybar/style.css;
|
||||
style = ''
|
||||
@define-color base00 ${base00};
|
||||
@define-color base01 ${base01};
|
||||
@define-color base02 ${base02};
|
||||
@define-color base03 ${base03};
|
||||
@define-color base04 ${base04};
|
||||
@define-color base05 ${base05};
|
||||
@define-color base06 ${base06};
|
||||
@define-color base07 ${base07};
|
||||
@define-color base08 ${base08};
|
||||
@define-color base09 ${base09};
|
||||
@define-color base0A ${base0A};
|
||||
@define-color base0B ${base0B};
|
||||
@define-color base0C ${base0C};
|
||||
@define-color base0D ${base0D};
|
||||
@define-color base0E ${base0E};
|
||||
@define-color base0F ${base0F};
|
||||
|
||||
''+ builtins.readFile ./.config/waybar/style.css;
|
||||
systemd.enable = true;
|
||||
systemd.target = "sway-session.target";
|
||||
};
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
flake,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
|
@ -19,12 +20,12 @@ in {
|
|||
};
|
||||
|
||||
config = {
|
||||
programs.command-not-found.enable = false;
|
||||
programs.command-not-found.enable = true;
|
||||
|
||||
users.users."${psCfg.user.name}".packages = with pkgs;
|
||||
[
|
||||
tealdeer
|
||||
asciinema
|
||||
bat
|
||||
blesh
|
||||
eza
|
||||
fd
|
||||
|
@ -73,7 +74,7 @@ in {
|
|||
# starship.toml has sane defaults that can be changed there
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
settings = import ./starship.toml.nix;
|
||||
settings = import ./starship.toml.nix flake.self.theme.withHashtag;
|
||||
};
|
||||
|
||||
programs.bash = import ./bash {
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
{
|
||||
format = "$username$hostname$directory($git_branch$git_commit$git_state$git_status)($c$deno$golang$haskell$nodejs$php$python$ruby$rust$terraform[](fg:#F85E84 bg:#000000))($docker_context[](fg:#06969A))($container)$fill(\${custom.triton})$nix_shell$status[ |](fg:#F85E84)$line_break$character";
|
||||
theme: with theme; {
|
||||
format = "$username$hostname$directory($git_branch$git_commit$git_state$git_status)($c$deno$golang$haskell$nodejs$php$python$ruby$rust$terraform[](fg:#F85E84 bg:${base00}))($docker_context[](fg:#06969A))($container)$fill(\${custom.triton})$nix_shell$status[ |](fg:#F85E84)$line_break$character";
|
||||
|
||||
# Disable the blank line at the start of the prompt
|
||||
add_newline = false;
|
||||
|
||||
# You can also replace your username with a neat symbol like to save some space
|
||||
username = {
|
||||
style_user = "bg:#000000 fg:#F85E84";
|
||||
style_root = "bg:#F85E84 fg:#000000";
|
||||
style_user = "bg:${base00} fg:#F85E84";
|
||||
style_root = "bg:#F85E84 fg:${base00}";
|
||||
format = ''[$user ]($style)'';
|
||||
};
|
||||
|
||||
hostname = {
|
||||
ssh_symbol = "";
|
||||
trim_at = "";
|
||||
style = "bg:#000000 fg:#F85E84";
|
||||
style = "bg:${base00} fg:#F85E84";
|
||||
};
|
||||
|
||||
character = {
|
||||
|
|
|
@ -1,243 +0,0 @@
|
|||
# Configuration file for dircolors, a utility to help you set the
|
||||
# LS_COLORS environment variable used by GNU ls with the --color option.
|
||||
|
||||
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
||||
# Copying and distribution of this file, with or without modification,
|
||||
# are permitted provided the copyright notice and this notice are preserved.
|
||||
|
||||
# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
|
||||
# slackware version of dircolors) are recognized but ignored.
|
||||
|
||||
# You can copy this file to .dir_colors in your $HOME directory to override
|
||||
# the system defaults.
|
||||
|
||||
# Below, there should be one TERM entry for each termtype that is colorizable
|
||||
TERM Eterm
|
||||
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 eterm-color
|
||||
TERM gnome
|
||||
TERM gnome-256color
|
||||
TERM hurd
|
||||
TERM jfbterm
|
||||
TERM konsole
|
||||
TERM kterm
|
||||
TERM linux
|
||||
TERM linux-c
|
||||
TERM mach-color
|
||||
TERM mach-gnu-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-unicode-256color
|
||||
TERM rxvt-unicode256
|
||||
TERM screen
|
||||
TERM screen-256color
|
||||
TERM screen-256color-bce
|
||||
TERM screen-bce
|
||||
TERM screen-w
|
||||
TERM screen.Eterm
|
||||
TERM screen.rxvt
|
||||
TERM screen.linux
|
||||
TERM st
|
||||
TERM st-256color
|
||||
TERM terminator
|
||||
TERM vt100
|
||||
TERM xterm
|
||||
TERM xterm-16color
|
||||
TERM xterm-256color
|
||||
TERM xterm-88color
|
||||
TERM xterm-color
|
||||
TERM xterm-debian
|
||||
|
||||
# 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
|
||||
#NORMAL 00 # no color code at all
|
||||
#FILE 00 # regular file: use no color at all
|
||||
RESET 0 # reset to "normal" color
|
||||
DIR 01;34 # directory
|
||||
LINK 01;36 # 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 40;33 # pipe
|
||||
SOCK 01;35 # socket
|
||||
DOOR 01;35 # door
|
||||
BLK 40;33;01 # block device driver
|
||||
CHR 40;33;01 # character device driver
|
||||
ORPHAN 01;05;37;41 # orphaned syminks
|
||||
MISSING 01;05;37;41 # ... and the files they point to
|
||||
SETUID 37;41 # file that is setuid (u+s)
|
||||
SETGID 30;43 # file that is setgid (g+s)
|
||||
CAPABILITY 30;41 # file with capability
|
||||
STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
|
||||
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
|
||||
STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
|
||||
|
||||
# This is for files with execute permission:
|
||||
EXEC 01;32
|
||||
|
||||
# List any file extensions like '.gz' or '.tar' that you would like ls
|
||||
# to colorize below. Put the extension, a space, and the color init string.
|
||||
# (and any comments you want to add after a '#')
|
||||
|
||||
# If you use DOS-style suffixes, you may want to uncomment the following:
|
||||
#.cmd 01;32 # executables (bright green)
|
||||
#.exe 01;32
|
||||
#.com 01;32
|
||||
#.btm 01;32
|
||||
#.bat 01;32
|
||||
# Or if you want to colorize scripts even if they do not have the
|
||||
# executable bit actually set.
|
||||
#.sh 01;32
|
||||
#.csh 01;32
|
||||
|
||||
# archives or compressed (bright red)
|
||||
.tar 01;31
|
||||
.tgz 01;31
|
||||
.arc 01;31
|
||||
.arj 01;31
|
||||
.taz 01;31
|
||||
.lha 01;31
|
||||
.lz4 01;31
|
||||
.lzh 01;31
|
||||
.lzma 01;31
|
||||
.tlz 01;31
|
||||
.txz 01;31
|
||||
.tzo 01;31
|
||||
.t7z 01;31
|
||||
.zip 01;31
|
||||
.z 01;31
|
||||
.Z 01;31
|
||||
.dz 01;31
|
||||
.gz 01;31
|
||||
.lrz 01;31
|
||||
.lz 01;31
|
||||
.lzo 01;31
|
||||
.xz 01;31
|
||||
.bz2 01;31
|
||||
.bz 01;31
|
||||
.tbz 01;31
|
||||
.tbz2 01;31
|
||||
.tz 01;31
|
||||
.deb 01;31
|
||||
.rpm 01;31
|
||||
.jar 01;31
|
||||
.war 01;31
|
||||
.ear 01;31
|
||||
.sar 01;31
|
||||
.rar 01;31
|
||||
.alz 01;31
|
||||
.ace 01;31
|
||||
.zoo 01;31
|
||||
.cpio 01;31
|
||||
.7z 01;31
|
||||
.rz 01;31
|
||||
.cab 01;31
|
||||
|
||||
# image formats
|
||||
.jpg 01;35
|
||||
.jpeg 01;35
|
||||
.gif 01;35
|
||||
.bmp 01;35
|
||||
.pbm 01;35
|
||||
.pgm 01;35
|
||||
.ppm 01;35
|
||||
.tga 01;35
|
||||
.xbm 01;35
|
||||
.xpm 01;35
|
||||
.tif 01;35
|
||||
.tiff 01;35
|
||||
.png 01;35
|
||||
.svg 01;35
|
||||
.svgz 01;35
|
||||
.mng 01;35
|
||||
.pcx 01;35
|
||||
.mov 01;35
|
||||
.mpg 01;35
|
||||
.mpeg 01;35
|
||||
.m2v 01;35
|
||||
.mkv 01;35
|
||||
.webm 01;35
|
||||
.ogm 01;35
|
||||
.mp4 01;35
|
||||
.m4v 01;35
|
||||
.mp4v 01;35
|
||||
.vob 01;35
|
||||
.qt 01;35
|
||||
.nuv 01;35
|
||||
.wmv 01;35
|
||||
.asf 01;35
|
||||
.rm 01;35
|
||||
.rmvb 01;35
|
||||
.flc 01;35
|
||||
.avi 01;35
|
||||
.fli 01;35
|
||||
.flv 01;35
|
||||
.gl 01;35
|
||||
.dl 01;35
|
||||
.xcf 01;35
|
||||
.xwd 01;35
|
||||
.yuv 01;35
|
||||
.cgm 01;35
|
||||
.emf 01;35
|
||||
|
||||
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
|
||||
.axv 01;35
|
||||
.anx 01;35
|
||||
.ogv 01;35
|
||||
.ogx 01;35
|
||||
|
||||
# Document files
|
||||
.pdf 00;32
|
||||
.ps 00;32
|
||||
.txt 00;32
|
||||
.patch 00;32
|
||||
.diff 00;32
|
||||
.log 00;32
|
||||
.tex 00;32
|
||||
.doc 00;32
|
||||
|
||||
# audio formats
|
||||
.aac 00;36
|
||||
.au 00;36
|
||||
.flac 00;36
|
||||
.m4a 00;36
|
||||
.mid 00;36
|
||||
.midi 00;36
|
||||
.mka 00;36
|
||||
.mp3 00;36
|
||||
.mpc 00;36
|
||||
.ogg 00;36
|
||||
.ra 00;36
|
||||
.wav 00;36
|
||||
|
||||
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
|
||||
.axa 00;36
|
||||
.oga 00;36
|
||||
.spx 00;36
|
||||
.xspf 00;36
|
|
@ -27,22 +27,7 @@ in {
|
|||
xdg.enable = true;
|
||||
xdg.mime.enable = true;
|
||||
xdg.mimeApps = import ./mimeapps.nix;
|
||||
|
||||
xdg.configFile."dircolors".source = ./.config/dircolors;
|
||||
|
||||
xdg.dataFile."shell.nix.tmpl" = {
|
||||
text = ''
|
||||
let
|
||||
unstable = import (fetchTarball https://github.com/nixos/nixpkgs/archive/nixos-unstable.tar.gz) { };
|
||||
in
|
||||
{ nixpkgs ? import <nixpkgs> {} }:
|
||||
with nixpkgs; mkShell {
|
||||
buildInputs = [
|
||||
];
|
||||
}
|
||||
'';
|
||||
target = "nvim/templates/shell.nix.tmpl";
|
||||
};
|
||||
xdg.userDirs.enable = true;
|
||||
|
||||
# Allow unfree packages only on a user basis, not on a system-wide basis
|
||||
xdg.configFile."nixpkgs/config.nix".text = " { allowUnfree = true; } ";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
enable = true;
|
||||
defaultApplications = {
|
||||
"application/octet-stream" = ["firefox.desktop"];
|
||||
"application/pdf" = ["org.gnome.Evince.desktop"];
|
||||
"application/pdf" = ["firefox.desktop"];
|
||||
"application/x-bittorrent" = ["deluge.desktop"];
|
||||
"application/x-extension-htm" = ["firefox.desktop"];
|
||||
"application/x-extension-html" = ["firefox.desktop"];
|
||||
|
|
|
@ -1,11 +1,28 @@
|
|||
self:
|
||||
with self; ''
|
||||
set -e
|
||||
|
||||
RECORDER_PID=$(${procps}/bin/ps aux | ${gnugrep}/bin/grep "\--class screen-recorder" | ${gnugrep}/bin/grep -v grep | ${gawk}/bin/awk '{print $2}')
|
||||
NUM_PID=$(echo -n $RECORDER_PID | ${coreutils}/bin/wc -w)
|
||||
if (( NUM_PID > 0 )); then
|
||||
FILE_LOCATION=$(${procps}/bin/ps aux | ${gnugrep}/bin/grep "\--class screen-recorder" | ${gnugrep}/bin/grep -v grep | ${gawk}/bin/awk '{print $NF}')
|
||||
kill $RECORDER_PID
|
||||
${libnotify}/bin/notify-send "Recorded to $FILE_LOCATION"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$1" = "fullscreen" ]; then
|
||||
GEOMETRY="$(${slurp}/bin/slurp -d -b \#ffffff11 -o)"
|
||||
else
|
||||
GEOMETRY="$(${slurp}/bin/slurp -d -b \#ffffff11)"
|
||||
fi
|
||||
|
||||
mkdir -p "$HOME/Videos/Screenrecordings"
|
||||
GEOMETRY="$(slurp -d -b \#ffffff11)"
|
||||
RESOLUTION="$(echo $GEOMETRY | awk '{print $2}')"
|
||||
RESOLUTION="$(echo $GEOMETRY | ${gawk}/bin/awk '{print $2}')"
|
||||
FILE_LOCATION="$HOME/Videos/Screenrecordings/$(${coreutils}/bin/date +%Y%m%d_%Hh%Mm%Ss)_$RESOLUTION.mp4"
|
||||
echo "Recording $GEOMETRY into $FILE_LOCATION"
|
||||
${alacritty}/bin/alacritty \
|
||||
--class screen-recorder \
|
||||
-e ${wf-recorder}/bin/wf-recorder -g "$GEOMETRY" -f "$FILE_LOCATION"
|
||||
${libnotify}/bin/notify-send "Recording to $FILE_LOCATION"
|
||||
''
|
||||
|
|
27
theme.nix
Normal file
27
theme.nix
Normal file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
flake = {
|
||||
theme = inputs.themes.custom {
|
||||
"name" = "burn";
|
||||
"author" = "b12f";
|
||||
"base00" = "#1a181a";
|
||||
"base01" = "#2d2a2e";
|
||||
"base02" = "#303030";
|
||||
"base03" = "#949494";
|
||||
"base04" = "#d3d1d4";
|
||||
"base05" = "#e3e1e4";
|
||||
"base06" = "#303030";
|
||||
"base07" = "#ff5f5f";
|
||||
"base08" = "#f85e84";
|
||||
"base09" = "#df5923";
|
||||
"base0A" = "#e5c463";
|
||||
"base0B" = "#9ecd6f";
|
||||
"base0C" = "#ef9062";
|
||||
"base0D" = "#7accd7";
|
||||
"base0E" = "#ab9df2";
|
||||
"base0F" = "#d70000";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -80,7 +80,6 @@ with lib; let
|
|||
in {
|
||||
users.users."${psCfg.user.name}".packages = with pkgs; [
|
||||
w3m
|
||||
mailto-mutt
|
||||
];
|
||||
|
||||
home-manager.users."${psCfg.user.name}" = rec {
|
||||
|
@ -95,6 +94,15 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
xdg.desktopEntries.mailto-mutt = {
|
||||
name = "Mutt";
|
||||
genericName = "Email client";
|
||||
exec = "${pkgs.mailto-mutt}/bin/mailto-mutt %U";
|
||||
terminal = true;
|
||||
categories = [ "Application" "Email" ];
|
||||
mimeType = [ "message/rfc822" "message/partial" ];
|
||||
};
|
||||
|
||||
accounts.email = {
|
||||
inherit maildirBasePath;
|
||||
|
||||
|
|
Loading…
Reference in a new issue