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": "nixpkgs_4",
|
||||||
"nixpkgs-master": "nixpkgs-master",
|
"nixpkgs-master": "nixpkgs-master",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"openstreetmap": "openstreetmap"
|
"openstreetmap": "openstreetmap",
|
||||||
|
"themes": "themes"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
|
@ -749,6 +750,21 @@
|
||||||
"type": "github"
|
"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": {
|
"utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
|
|
|
@ -15,6 +15,8 @@
|
||||||
home-manager.url = "github:nix-community/home-manager/release-24.05";
|
home-manager.url = "github:nix-community/home-manager/release-24.05";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
|
themes.url = "github:RGBCube/ThemeNix";
|
||||||
|
|
||||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
nixos-flake.url = "github:srid/nixos-flake";
|
nixos-flake.url = "github:srid/nixos-flake";
|
||||||
|
|
||||||
|
@ -61,6 +63,7 @@
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixos-flake.flakeModule
|
inputs.nixos-flake.flakeModule
|
||||||
./public-keys.nix
|
./public-keys.nix
|
||||||
|
./theme.nix
|
||||||
./lib
|
./lib
|
||||||
./modules
|
./modules
|
||||||
./hosts
|
./hosts
|
||||||
|
|
|
@ -8,12 +8,3 @@ bindsym XF86MonBrightnessDown exec "brightnessctl -d intel_backlight set 10%-; n
|
||||||
# Keyboard backlight brightness controls
|
# 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 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}')"
|
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,
|
self,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
|
@ -7,6 +6,7 @@
|
||||||
flake = {
|
flake = {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
stroopwafel = self.nixos-flake.lib.mkLinuxSystem {
|
stroopwafel = self.nixos-flake.lib.mkLinuxSystem {
|
||||||
|
|
||||||
nixpkgs.hostPlatform = "x86_64-linux";
|
nixpkgs.hostPlatform = "x86_64-linux";
|
||||||
imports = [
|
imports = [
|
||||||
inputs.impermanence.nixosModules.impermanence
|
inputs.impermanence.nixosModules.impermanence
|
||||||
|
|
|
@ -8,12 +8,3 @@ bindsym XF86MonBrightnessDown exec "brightnessctl -d amdgpu_bl0 set 10%-; notify
|
||||||
# Keyboard backlight brightness controls
|
# 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 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}')"
|
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;
|
min-height: 0;
|
||||||
border: none;
|
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
|
sysresources=/etc/X11/xinit/.Xresources
|
||||||
sysmodmap=/etc/X11/xinit/.Xmodmap
|
sysmodmap=/etc/X11/xinit/.Xmodmap
|
||||||
|
|
||||||
DEFAULT_SESSION='i3 --shmlog-size 0'
|
|
||||||
|
|
||||||
xset -b
|
xset -b
|
||||||
|
|
||||||
if [ -d $HOME/.fonts ]; then
|
if [ -d $HOME/.fonts ]; then
|
||||||
|
@ -48,23 +46,8 @@ fi
|
||||||
get_session(){
|
get_session(){
|
||||||
local dbus_args=(--sh-syntax --exit-with-session)
|
local dbus_args=(--sh-syntax --exit-with-session)
|
||||||
case $1 in
|
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) ;;
|
i3|i3wm) dbus_args+=(i3 --shmlog-size 0) ;;
|
||||||
jwm) dbus_args+=(jwm) ;;
|
*) dbus_args+=(sway) ;;
|
||||||
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) ;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
echo "dbus-launch ${dbus_args[*]}"
|
echo "dbus-launch ${dbus_args[*]}"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
{ flake, ...}: with flake.self.theme.with0x; {
|
||||||
env = {
|
env = {
|
||||||
TERM = "xterm-256color";
|
TERM = "xterm-256color";
|
||||||
};
|
};
|
||||||
|
@ -164,8 +164,8 @@
|
||||||
|
|
||||||
# Default colors
|
# Default colors
|
||||||
primary = {
|
primary = {
|
||||||
background = "0x1a181a";
|
background = base00;
|
||||||
foreground = "0xe3e1e4";
|
foreground = base05;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Cursor colors
|
# Cursor colors
|
||||||
|
@ -184,8 +184,8 @@
|
||||||
# Allowed values are CellForeground/CellBackground, which reference the
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
# affected cell, or hexadecimal colors like #ff00ff.
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
matches = {
|
matches = {
|
||||||
foreground = "0xe5c463";
|
foreground = base0A;
|
||||||
background = "0x1a181a";
|
background = base00;
|
||||||
};
|
};
|
||||||
focused_match = {
|
focused_match = {
|
||||||
foreground = "CellBackground";
|
foreground = "CellBackground";
|
||||||
|
@ -203,58 +203,58 @@
|
||||||
# Allowed values are CellForeground/CellBackground, which reference the
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
# affected cell, or hexadecimal colors like #ff00ff.
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
selection = {
|
selection = {
|
||||||
text = "0x1a181a";
|
text = base00;
|
||||||
background = "0xf85e84";
|
background = base08;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Normal colors
|
# Normal colors
|
||||||
normal = {
|
normal = {
|
||||||
black = "0x1a181a";
|
black = base00;
|
||||||
red = "0xf85e84";
|
red = base08;
|
||||||
green = "0x9ecd6f";
|
green = base09;
|
||||||
yellow = "0xe5c463";
|
yellow = base0A;
|
||||||
blue = "0x7accd7";
|
blue = base0D;
|
||||||
magenta = "0xab9df2";
|
magenta = base0E;
|
||||||
cyan = "0xef9062";
|
cyan = base0C;
|
||||||
white = "0xe3e1e4";
|
white = base05;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Bright colors
|
# Bright colors
|
||||||
bright = {
|
bright = {
|
||||||
black = "0x949494";
|
black = base00;
|
||||||
red = "0xf85e84";
|
red = base08;
|
||||||
green = "0x9ecd6f";
|
green = base09;
|
||||||
yellow = "0xe5c463";
|
yellow = base0A;
|
||||||
blue = "0x7accd7";
|
blue = base0D;
|
||||||
magenta = "0xab9df2";
|
magenta = base0E;
|
||||||
cyan = "0xef9062";
|
cyan = base0C;
|
||||||
white = "0xff5f5f";
|
white = base07;
|
||||||
};
|
};
|
||||||
|
|
||||||
indexed_colors = [
|
indexed_colors = [
|
||||||
{
|
{
|
||||||
index = 16;
|
index = 16;
|
||||||
color = "0xdf5923";
|
color = base09;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
index = 17;
|
index = 17;
|
||||||
color = "0xd70000";
|
color = base0F;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
index = 18;
|
index = 18;
|
||||||
color = "0x2d2a2e";
|
color = base01;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
index = 19;
|
index = 19;
|
||||||
color = "0x303030";
|
color = base02;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
index = 20;
|
index = 20;
|
||||||
color = "0xd3d1d4";
|
color = base04;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
index = 21;
|
index = 21;
|
||||||
color = "0x303030";
|
color = base02;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
args@{
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
@ -93,14 +93,11 @@ in {
|
||||||
|
|
||||||
users.users."${psCfg.user.name}".packages = with pkgs; [
|
users.users."${psCfg.user.name}".packages = with pkgs; [
|
||||||
alacritty
|
alacritty
|
||||||
firefox-wayland
|
|
||||||
flameshot
|
|
||||||
gnome.adwaita-icon-theme
|
gnome.adwaita-icon-theme
|
||||||
gnome.eog
|
gnome.eog
|
||||||
gnome.nautilus
|
gnome.nautilus
|
||||||
gnome.seahorse
|
gnome.seahorse
|
||||||
gnome.yelp
|
gnome.yelp
|
||||||
hicolor-icon-theme
|
|
||||||
keepassxc
|
keepassxc
|
||||||
libnotify
|
libnotify
|
||||||
toggle-kbd-layout
|
toggle-kbd-layout
|
||||||
|
@ -111,14 +108,23 @@ in {
|
||||||
|
|
||||||
home-manager.users."${psCfg.user.name}" = {
|
home-manager.users."${psCfg.user.name}" = {
|
||||||
home.file."xinitrc".source = ./.xinitrc;
|
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."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."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."libinput-gestures.conf".source = ./.config/libinput-gestures.conf;
|
||||||
xdg.configFile."wallpaper.jpg".source = ./assets/wallpaper.jpg;
|
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 = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font.name = "Lato";
|
font.name = "Lato";
|
||||||
|
@ -136,7 +142,7 @@ in {
|
||||||
gtk-xft-hinting = "1";
|
gtk-xft-hinting = "1";
|
||||||
gtk-xft-hintstyle = "hintfull";
|
gtk-xft-hintstyle = "hintfull";
|
||||||
gtk-xft-rgba = "rgb";
|
gtk-xft-rgba = "rgb";
|
||||||
gtk-application-prefer-dark-theme = "true";
|
gtk-application-prefer-dark-theme = "1";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
flake,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
|
@ -10,20 +11,20 @@ in {
|
||||||
home-manager.users."${psCfg.user.name}" = {
|
home-manager.users."${psCfg.user.name}" = {
|
||||||
services.mako = {
|
services.mako = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = ''
|
extraConfig = with flake.self.theme.withHashtag; ''
|
||||||
padding=10
|
padding=10
|
||||||
margin=5,5,0
|
margin=5,5,0
|
||||||
default-timeout=5000
|
default-timeout=5000
|
||||||
|
|
||||||
background-color=#1a181a
|
background-color=${base00}
|
||||||
text-color=#e3e1e4
|
text-color=${base05}
|
||||||
border-color=#ff5f5f
|
border-color=${base07}
|
||||||
font=Hack 14
|
font=Hack 14
|
||||||
|
|
||||||
[urgency=high]
|
[urgency=high]
|
||||||
background-color=#ff5f5f
|
background-color=${base07}
|
||||||
text-color=#1a181a
|
text-color=${base00}
|
||||||
border-color=#1a181a
|
border-color=${base00}
|
||||||
layer=overlay
|
layer=overlay
|
||||||
font=Hack 14
|
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
|
# switch keyboard input language
|
||||||
bindsym $mod+tab exec toggle-kbd-layout
|
bindsym $mod+tab exec toggle-kbd-layout
|
||||||
|
|
||||||
################################################################################################
|
# Screen capturing
|
||||||
## 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
|
|
||||||
bindsym $mod+Ctrl+p exec grim -g "$(slurp -d -b \#ffffff11)" ~/Pictures/Screenshots/$(date +%Y%m%d_%Hh%Mm%Ss)_grim.png
|
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+Shift+p exec grim -g "$(slurp -d -b \#ffffff11 -o)" ~/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+Ctrl+r exec record-screen
|
bindsym $mod+Ctrl+r exec record-screen
|
||||||
|
bindsym $mod+Shift+r exec record-screen -o
|
||||||
|
|
||||||
# Launcher
|
# Launcher
|
||||||
set $menu exec alacritty --class launcher -e env TERMINAL_COMMAND="alacritty -e" sway-launcher
|
set $menu exec alacritty --class launcher -e env TERMINAL_COMMAND="alacritty -e" sway-launcher
|
||||||
bindsym $mod+Space exec $menu
|
bindsym $mod+Space exec $menu
|
||||||
|
|
||||||
set $mode_vncclient In VNCClient mode. Press $mod+Num_Lock or $mod+Shift+Escape to return.
|
# Pulse Audio controls
|
||||||
bindsym $mod+Num_Lock mode "$mode_vncclient"
|
bindsym $mod+Ctrl+m exec pavucontrol
|
||||||
bindsym $mod+Shift+Escape mode "$mode_vncclient"
|
|
||||||
mode "$mode_vncclient" {
|
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 $mod+Num_Lock mode "default"
|
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 $mod+Shift+Escape mode "default"
|
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,
|
pkgs,
|
||||||
psCfg,
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}: with pkgs; ''
|
||||||
with pkgs;
|
|
||||||
''
|
|
||||||
# Set shut down, restart and locking features
|
# Set shut down, restart and locking features
|
||||||
''
|
''
|
||||||
+ (
|
+ (
|
||||||
if psCfg.core.hibernation.enable
|
if config.pub-solar.core.hibernation.enable
|
||||||
then ''
|
then ''
|
||||||
set $mode_system (e)xit, (l)ock, (h)ibernate, (r)eboot, (Shift+s)hutdown
|
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"
|
bindsym l exec ${swaylock-bg}/bin/swaylock-bg, mode "default"
|
||||||
''
|
''
|
||||||
+ (
|
+ (
|
||||||
if psCfg.core.hibernation.enable
|
if config.pub-solar.core.hibernation.enable
|
||||||
then ''
|
then ''
|
||||||
bindsym h exec ${systemd}/bin/systemctl hibernate, mode "default"
|
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
|
# Border BG Text Ind Child Border
|
||||||
client.focused $base00 $base01 $base07 $base0D $base07
|
client.focused $base00 $base01 $base07 $base0D $base07
|
||||||
client.focused_inactive $base00 $base01 $base07 $base03 $base00
|
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
|
# Workaround to fix cursor scaling, see https://github.com/swaywm/sway/issues/4112
|
||||||
seat seat0 xcursor_theme Adwaita
|
seat seat0 xcursor_theme Adwaita
|
||||||
|
|
||||||
|
output * bg ~/.config/wallpaper.jpg fill
|
||||||
|
''
|
|
@ -1,217 +1,227 @@
|
||||||
{
|
args@{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: ''
|
}: let
|
||||||
# Default config for sway
|
applications = builtins.readFile ./config.d/applications.conf;
|
||||||
#
|
custom-keybindings = builtins.readFile ./config.d/custom-keybindings.conf;
|
||||||
# Copy this to ~/.config/sway/config and edit it to your liking.
|
gaps = builtins.readFile ./config.d/gaps.conf;
|
||||||
#
|
mode-system = import ./config.d/mode_system.conf.nix args;
|
||||||
# Read `man 5 sway` for a complete reference.
|
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
|
### Variables
|
||||||
#
|
#
|
||||||
# Logo key. Use Mod1 for Alt.
|
# Logo key. Use Mod1 for Alt.
|
||||||
set $mod Mod4
|
set $mod Mod4
|
||||||
# Home row direction keys, like vim
|
# Home row direction keys, like vim
|
||||||
set $left j
|
set $left j
|
||||||
set $down k
|
set $down k
|
||||||
set $up i
|
set $up i
|
||||||
set $right l
|
set $right l
|
||||||
# Your preferred terminal emulator
|
# Your preferred terminal emulator
|
||||||
set $term ${pkgs.alacritty}/bin/alacritty
|
set $term ${pkgs.alacritty}/bin/alacritty
|
||||||
# Your preferred application launcher
|
# Your preferred application launcher
|
||||||
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
# 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.
|
# on the original workspace that the command was run on.
|
||||||
#set $menu dmenu_path | dmenu | xargs swaymsg exec bemenu-run --no-overlap
|
#set $menu dmenu_path | dmenu | xargs swaymsg exec bemenu-run --no-overlap
|
||||||
|
|
||||||
default_border pixel 1
|
default_border pixel 1
|
||||||
|
|
||||||
### Output configuration
|
### Key bindings
|
||||||
#
|
#
|
||||||
# Default wallpaper (more resolutions are available in @datadir@/backgrounds/sway/)
|
# Basics:
|
||||||
output * bg ~/.config/wallpaper.jpg fill
|
#
|
||||||
|
# Start a terminal
|
||||||
|
bindsym $mod+Return exec $term
|
||||||
|
|
||||||
### Key bindings
|
# Start a terminal
|
||||||
#
|
bindsym $mod+Shift+Return exec sh -c '$term --working-directory $(wcwd)'
|
||||||
# Basics:
|
|
||||||
#
|
|
||||||
# Start a terminal
|
|
||||||
bindsym $mod+Return exec $term
|
|
||||||
|
|
||||||
# Start a terminal
|
# Kill focused window
|
||||||
bindsym $mod+Shift+Return exec sh -c '$term --working-directory $(wcwd)'
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
# Kill focused window
|
# Drag floating windows by holding down $mod and left mouse button.
|
||||||
bindsym $mod+Shift+q kill
|
# 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.
|
# Reload the configuration file
|
||||||
# Resize them with right mouse button + $mod.
|
bindsym $mod+F5 reload
|
||||||
# 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
|
# 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
|
||||||
# Moving around:
|
bindsym $mod+Shift+$left move left
|
||||||
#
|
bindsym $mod+Shift+$down move down
|
||||||
# Move your focus around
|
bindsym $mod+Shift+$up move up
|
||||||
bindsym $mod+$left focus left
|
bindsym $mod+Shift+$right move right
|
||||||
bindsym $mod+$down focus down
|
# Ditto, with arrow keys
|
||||||
bindsym $mod+$up focus up
|
bindsym $mod+Shift+Left move left
|
||||||
bindsym $mod+$right focus right
|
bindsym $mod+Shift+Down move down
|
||||||
# Or use $mod+[up|down|left|right]
|
bindsym $mod+Shift+Up move up
|
||||||
bindsym $mod+Left focus left
|
bindsym $mod+Shift+Right move right
|
||||||
bindsym $mod+Down focus down
|
#
|
||||||
bindsym $mod+Up focus up
|
# Workspaces:
|
||||||
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:
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
# Workspace names
|
# Workspace names
|
||||||
# to display names or symbols instead of plain workspace numbers you can use
|
# to display names or symbols instead of plain workspace numbers you can use
|
||||||
# something like: set $ws1 1:mail
|
# something like: set $ws1 1:mail
|
||||||
# set $ws2 2:
|
# set $ws2 2:
|
||||||
set $ws1 1
|
set $ws1 1
|
||||||
set $ws2 2
|
set $ws2 2
|
||||||
set $ws3 3
|
set $ws3 3
|
||||||
set $ws4 4
|
set $ws4 4
|
||||||
set $ws5 5
|
set $ws5 5
|
||||||
set $ws6 6
|
set $ws6 6
|
||||||
set $ws7 7
|
set $ws7 7
|
||||||
set $ws8 8
|
set $ws8 8
|
||||||
set $ws9 9
|
set $ws9 9
|
||||||
|
|
||||||
# Switch to workspace
|
# Switch to workspace
|
||||||
bindsym $mod+1 workspace 1
|
bindsym $mod+1 workspace 1
|
||||||
bindsym $mod+2 workspace 2
|
bindsym $mod+2 workspace 2
|
||||||
bindsym $mod+3 workspace 3
|
bindsym $mod+3 workspace 3
|
||||||
bindsym $mod+4 workspace 4
|
bindsym $mod+4 workspace 4
|
||||||
bindsym $mod+5 workspace 5
|
bindsym $mod+5 workspace 5
|
||||||
bindsym $mod+6 workspace 6
|
bindsym $mod+6 workspace 6
|
||||||
bindsym $mod+7 workspace 7
|
bindsym $mod+7 workspace 7
|
||||||
bindsym $mod+8 workspace 8
|
bindsym $mod+8 workspace 8
|
||||||
bindsym $mod+9 workspace 9
|
bindsym $mod+9 workspace 9
|
||||||
# Move focused container to workspace
|
# Move focused container to workspace
|
||||||
bindsym $mod+Ctrl+1 move container to workspace $ws1
|
bindsym $mod+Ctrl+1 move container to workspace $ws1
|
||||||
bindsym $mod+Ctrl+2 move container to workspace $ws2
|
bindsym $mod+Ctrl+2 move container to workspace $ws2
|
||||||
bindsym $mod+Ctrl+3 move container to workspace $ws3
|
bindsym $mod+Ctrl+3 move container to workspace $ws3
|
||||||
bindsym $mod+Ctrl+4 move container to workspace $ws4
|
bindsym $mod+Ctrl+4 move container to workspace $ws4
|
||||||
bindsym $mod+Ctrl+5 move container to workspace $ws5
|
bindsym $mod+Ctrl+5 move container to workspace $ws5
|
||||||
bindsym $mod+Ctrl+6 move container to workspace $ws6
|
bindsym $mod+Ctrl+6 move container to workspace $ws6
|
||||||
bindsym $mod+Ctrl+7 move container to workspace $ws7
|
bindsym $mod+Ctrl+7 move container to workspace $ws7
|
||||||
bindsym $mod+Ctrl+8 move container to workspace $ws8
|
bindsym $mod+Ctrl+8 move container to workspace $ws8
|
||||||
bindsym $mod+Ctrl+9 move container to workspace $ws9
|
bindsym $mod+Ctrl+9 move container to workspace $ws9
|
||||||
# Move focused container to workspace and move focus with it
|
# Move focused container to workspace and move focus with it
|
||||||
bindsym $mod+Shift+1 move container to workspace 1; workspace $ws1
|
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+2 move container to workspace 2; workspace $ws2
|
||||||
bindsym $mod+Shift+3 move container to workspace 3; workspace $ws3
|
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+4 move container to workspace 4; workspace $ws4
|
||||||
bindsym $mod+Shift+5 move container to workspace 5; workspace $ws5
|
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+6 move container to workspace 6; workspace $ws6
|
||||||
bindsym $mod+Shift+7 move container to workspace 7; workspace $ws7
|
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+8 move container to workspace 8; workspace $ws8
|
||||||
bindsym $mod+Shift+9 move container to workspace 9; workspace $ws9
|
bindsym $mod+Shift+9 move container to workspace 9; workspace $ws9
|
||||||
# Note: workspaces can have any name you want, not just numbers.
|
# Note: workspaces can have any name you want, not just numbers.
|
||||||
# We just use 1-10 as the default.
|
# We just use 1-10 as the default.
|
||||||
|
|
||||||
#navigate workspaces next / previous
|
#navigate workspaces next / previous
|
||||||
bindsym $mod+Ctrl+Right workspace next
|
bindsym $mod+Ctrl+Right workspace next
|
||||||
bindsym $mod+Ctrl+Left workspace prev
|
bindsym $mod+Ctrl+Left workspace prev
|
||||||
|
|
||||||
# workspace back and forth (with/without active container)
|
# workspace back and forth (with/without active container)
|
||||||
workspace_auto_back_and_forth yes
|
workspace_auto_back_and_forth yes
|
||||||
bindsym $mod+b workspace back_and_forth
|
bindsym $mod+b workspace back_and_forth
|
||||||
bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
|
bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
|
||||||
|
|
||||||
#
|
#
|
||||||
# Layout stuff:
|
# Layout stuff:
|
||||||
#
|
#
|
||||||
# Configure border style <normal|1pixel|pixel xx|none|pixel>
|
# Configure border style <normal|1pixel|pixel xx|none|pixel>
|
||||||
default_border pixel 1
|
default_border pixel 1
|
||||||
default_floating_border normal
|
default_floating_border normal
|
||||||
|
|
||||||
# Hide borders
|
# Hide borders
|
||||||
hide_edge_borders none
|
hide_edge_borders none
|
||||||
|
|
||||||
# Font for window titles. Will also be used by the bar unless a different font
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
# is used in the bar {} block below.
|
# is used in the bar {} block below.
|
||||||
font xft:Hack 16
|
font xft:Hack 16
|
||||||
|
|
||||||
# You can "split" the current object of your focus with
|
# You can "split" the current object of your focus with
|
||||||
# $mod+b or $mod+v, for horizontal and vertical splits
|
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||||
# respectively.
|
# respectively.
|
||||||
bindsym $mod+h splith; exec notify-send 'tile horizontally'
|
bindsym $mod+h splith; exec notify-send 'tile horizontally'
|
||||||
bindsym $mod+v splitv; exec notify-send 'tile vertically'
|
bindsym $mod+v splitv; exec notify-send 'tile vertically'
|
||||||
|
|
||||||
# Switch the current container between different layout styles
|
# Switch the current container between different layout styles
|
||||||
bindsym $mod+s layout stacking
|
bindsym $mod+s layout stacking
|
||||||
bindsym $mod+w layout tabbed
|
bindsym $mod+w layout tabbed
|
||||||
bindsym $mod+e layout toggle split
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
# Make the current focus fullscreen
|
# Make the current focus fullscreen
|
||||||
bindsym $mod+f fullscreen
|
bindsym $mod+f fullscreen
|
||||||
|
|
||||||
# Toggle the current focus between tiling and floating mode
|
# Toggle the current focus between tiling and floating mode
|
||||||
bindsym $mod+Shift+space floating toggle
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
# Swap focus between the tiling area and the floating area
|
# Swap focus between the tiling area and the floating area
|
||||||
bindsym $mod+t focus mode_toggle
|
bindsym $mod+t focus mode_toggle
|
||||||
|
|
||||||
# Move focus to the parent container
|
# Move focus to the parent container
|
||||||
bindsym $mod+a focus parent
|
bindsym $mod+a focus parent
|
||||||
bindsym $mod+d focus child
|
bindsym $mod+d focus child
|
||||||
#
|
#
|
||||||
# Scratchpad:
|
# Scratchpad:
|
||||||
#
|
#
|
||||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||||
# You can send windows there and get them back later.
|
# You can send windows there and get them back later.
|
||||||
|
|
||||||
# Move the currently focused window to the scratchpad
|
# Move the currently focused window to the scratchpad
|
||||||
bindsym $mod+Shift+minus move scratchpad
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
|
|
||||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||||
# If there are multiple scratchpad windows, this command cycles through them.
|
# If there are multiple scratchpad windows, this command cycles through them.
|
||||||
bindsym $mod+minus scratchpad show
|
bindsym $mod+minus scratchpad show
|
||||||
#
|
#
|
||||||
# Resizing containers:
|
# Resizing containers:
|
||||||
#
|
#
|
||||||
mode "resize" {
|
mode "resize" {
|
||||||
# left will shrink the containers width
|
# left will shrink the containers width
|
||||||
# right will grow the containers width
|
# right will grow the containers width
|
||||||
# up will shrink the containers height
|
# up will shrink the containers height
|
||||||
# down will grow the containers height
|
# down will grow the containers height
|
||||||
bindsym $left resize shrink width 10px
|
bindsym $left resize shrink width 10px
|
||||||
bindsym $down resize grow height 10px
|
bindsym $down resize grow height 10px
|
||||||
bindsym $up resize shrink height 10px
|
bindsym $up resize shrink height 10px
|
||||||
bindsym $right resize grow width 10px
|
bindsym $right resize grow width 10px
|
||||||
|
|
||||||
# Ditto, with arrow keys
|
# Ditto, with arrow keys
|
||||||
bindsym Left resize shrink width 10px
|
bindsym Left resize shrink width 10px
|
||||||
bindsym Down resize grow height 10px
|
bindsym Down resize grow height 10px
|
||||||
bindsym Up resize shrink height 10px
|
bindsym Up resize shrink height 10px
|
||||||
bindsym Right resize grow width 10px
|
bindsym Right resize grow width 10px
|
||||||
|
|
||||||
# Return to default mode
|
# Return to default mode
|
||||||
bindsym Return mode "default"
|
bindsym Return mode "default"
|
||||||
bindsym Escape mode "default"
|
bindsym Escape mode "default"
|
||||||
}
|
}
|
||||||
bindsym $mod+r mode "resize"
|
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,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
@ -60,8 +60,6 @@ in {
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
wf-recorder
|
wf-recorder
|
||||||
brightnessctl
|
brightnessctl
|
||||||
gammastep
|
|
||||||
geoclue2
|
|
||||||
xsettingsd
|
xsettingsd
|
||||||
ydotool
|
ydotool
|
||||||
|
|
||||||
|
@ -72,19 +70,19 @@ in {
|
||||||
wcwd
|
wcwd
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager.users."${psCfg.user.name}" = {
|
services.geoclue2.enable = true;
|
||||||
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;};
|
|
||||||
|
|
||||||
xdg.configFile."sway/config".text = import ./config/config.nix {inherit config pkgs;};
|
home-manager.users."${psCfg.user.name}" = {
|
||||||
xdg.configFile."sway/config.d/colorscheme.conf".source = ./config/config.d/colorscheme.conf;
|
systemd.user.services.sway = import ./sway.service.nix args;
|
||||||
xdg.configFile."sway/config.d/theme.conf".source = ./config/config.d/theme.conf;
|
systemd.user.targets.sway-session = import ./sway-session.target.nix args;
|
||||||
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;
|
services.xsettingsd.enable = true;
|
||||||
xdg.configFile."sway/config.d/mode_system.conf".text = import ./config/config.d/mode_system.conf.nix {inherit pkgs psCfg;};
|
services.gammastep = {
|
||||||
xdg.configFile."sway/config.d/applications.conf".source = ./config/config.d/applications.conf;
|
enable = true;
|
||||||
xdg.configFile."sway/config.d/systemd.conf".source = ./config/config.d/systemd.conf;
|
provider = "geoclue2";
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile."sway/config".text = import ./config/config.nix args;
|
||||||
|
|
||||||
services.swayidle = with pkgs; {
|
services.swayidle = with pkgs; {
|
||||||
enable = true;
|
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,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
flake,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
psCfg = config.pub-solar;
|
psCfg = config.pub-solar;
|
||||||
in {
|
in {
|
||||||
home-manager.users."${psCfg.user.name}" = {
|
home-manager.users."${psCfg.user.name}" = {
|
||||||
programs.waybar = {
|
programs.waybar = with flake.self.theme.withHashtag; {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.main = {
|
settings.main = {
|
||||||
layer = "top";
|
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.enable = true;
|
||||||
systemd.target = "sway-session.target";
|
systemd.target = "sway-session.target";
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
flake,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
|
@ -19,12 +20,12 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
programs.command-not-found.enable = false;
|
programs.command-not-found.enable = true;
|
||||||
|
|
||||||
users.users."${psCfg.user.name}".packages = with pkgs;
|
users.users."${psCfg.user.name}".packages = with pkgs;
|
||||||
[
|
[
|
||||||
|
tealdeer
|
||||||
asciinema
|
asciinema
|
||||||
bat
|
|
||||||
blesh
|
blesh
|
||||||
eza
|
eza
|
||||||
fd
|
fd
|
||||||
|
@ -73,7 +74,7 @@ in {
|
||||||
# starship.toml has sane defaults that can be changed there
|
# starship.toml has sane defaults that can be changed there
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = import ./starship.toml.nix;
|
settings = import ./starship.toml.nix flake.self.theme.withHashtag;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.bash = import ./bash {
|
programs.bash = import ./bash {
|
||||||
|
|
|
@ -1,20 +1,20 @@
|
||||||
{
|
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:#000000))($docker_context[](fg:#06969A))($container)$fill(\${custom.triton})$nix_shell$status[ |](fg:#F85E84)$line_break$character";
|
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
|
# Disable the blank line at the start of the prompt
|
||||||
add_newline = false;
|
add_newline = false;
|
||||||
|
|
||||||
# You can also replace your username with a neat symbol like to save some space
|
# You can also replace your username with a neat symbol like to save some space
|
||||||
username = {
|
username = {
|
||||||
style_user = "bg:#000000 fg:#F85E84";
|
style_user = "bg:${base00} fg:#F85E84";
|
||||||
style_root = "bg:#F85E84 fg:#000000";
|
style_root = "bg:#F85E84 fg:${base00}";
|
||||||
format = ''[$user ]($style)'';
|
format = ''[$user ]($style)'';
|
||||||
};
|
};
|
||||||
|
|
||||||
hostname = {
|
hostname = {
|
||||||
ssh_symbol = "";
|
ssh_symbol = "";
|
||||||
trim_at = "";
|
trim_at = "";
|
||||||
style = "bg:#000000 fg:#F85E84";
|
style = "bg:${base00} fg:#F85E84";
|
||||||
};
|
};
|
||||||
|
|
||||||
character = {
|
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.enable = true;
|
||||||
xdg.mime.enable = true;
|
xdg.mime.enable = true;
|
||||||
xdg.mimeApps = import ./mimeapps.nix;
|
xdg.mimeApps = import ./mimeapps.nix;
|
||||||
|
xdg.userDirs.enable = true;
|
||||||
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";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Allow unfree packages only on a user basis, not on a system-wide basis
|
# Allow unfree packages only on a user basis, not on a system-wide basis
|
||||||
xdg.configFile."nixpkgs/config.nix".text = " { allowUnfree = true; } ";
|
xdg.configFile."nixpkgs/config.nix".text = " { allowUnfree = true; } ";
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultApplications = {
|
defaultApplications = {
|
||||||
"application/octet-stream" = ["firefox.desktop"];
|
"application/octet-stream" = ["firefox.desktop"];
|
||||||
"application/pdf" = ["org.gnome.Evince.desktop"];
|
"application/pdf" = ["firefox.desktop"];
|
||||||
"application/x-bittorrent" = ["deluge.desktop"];
|
"application/x-bittorrent" = ["deluge.desktop"];
|
||||||
"application/x-extension-htm" = ["firefox.desktop"];
|
"application/x-extension-htm" = ["firefox.desktop"];
|
||||||
"application/x-extension-html" = ["firefox.desktop"];
|
"application/x-extension-html" = ["firefox.desktop"];
|
||||||
|
|
|
@ -1,11 +1,28 @@
|
||||||
self:
|
self:
|
||||||
with 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"
|
mkdir -p "$HOME/Videos/Screenrecordings"
|
||||||
GEOMETRY="$(slurp -d -b \#ffffff11)"
|
RESOLUTION="$(echo $GEOMETRY | ${gawk}/bin/awk '{print $2}')"
|
||||||
RESOLUTION="$(echo $GEOMETRY | awk '{print $2}')"
|
|
||||||
FILE_LOCATION="$HOME/Videos/Screenrecordings/$(${coreutils}/bin/date +%Y%m%d_%Hh%Mm%Ss)_$RESOLUTION.mp4"
|
FILE_LOCATION="$HOME/Videos/Screenrecordings/$(${coreutils}/bin/date +%Y%m%d_%Hh%Mm%Ss)_$RESOLUTION.mp4"
|
||||||
echo "Recording $GEOMETRY into $FILE_LOCATION"
|
echo "Recording $GEOMETRY into $FILE_LOCATION"
|
||||||
${alacritty}/bin/alacritty \
|
${alacritty}/bin/alacritty \
|
||||||
--class screen-recorder \
|
--class screen-recorder \
|
||||||
-e ${wf-recorder}/bin/wf-recorder -g "$GEOMETRY" -f "$FILE_LOCATION"
|
-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 {
|
in {
|
||||||
users.users."${psCfg.user.name}".packages = with pkgs; [
|
users.users."${psCfg.user.name}".packages = with pkgs; [
|
||||||
w3m
|
w3m
|
||||||
mailto-mutt
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager.users."${psCfg.user.name}" = rec {
|
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 = {
|
accounts.email = {
|
||||||
inherit maildirBasePath;
|
inherit maildirBasePath;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue