chore: resolve merge conflict
This commit is contained in:
commit
686dbaeff7
@ -7,11 +7,12 @@
|
|||||||
imports = [
|
imports = [
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
./system/hardware-configuration.nix
|
./system/hardware-configuration.nix
|
||||||
./services.nix
|
./services
|
||||||
../../modules/system.nix
|
../../modules/system.nix
|
||||||
../../modules/sops.nix
|
../../modules/sops.nix
|
||||||
../../modules/opentablet.nix
|
../../modules/opentablet.nix
|
||||||
../../programs/flatpak.nix
|
../../programs/flatpak.nix
|
||||||
|
../../programs/hyprland.nix
|
||||||
../../programs/steam.nix
|
../../programs/steam.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -54,6 +55,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
modules.hyprland.enable = true;
|
||||||
|
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
|
|
||||||
nix.settings.trusted-users = ["root" "phundrak"];
|
nix.settings.trusted-users = ["root" "phundrak"];
|
||||||
@ -64,8 +67,13 @@
|
|||||||
curl
|
curl
|
||||||
openssl
|
openssl
|
||||||
wget
|
wget
|
||||||
|
alsa-scarlett-gui
|
||||||
];
|
];
|
||||||
|
|
||||||
|
boot.extraModprobeConfig = ''
|
||||||
|
options snd_usb_audio vid=0x1235 pid=0x8212 device_setup=1
|
||||||
|
'';
|
||||||
|
|
||||||
programs.nix-ld.enable = true;
|
programs.nix-ld.enable = true;
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
|
@ -1,23 +1,24 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../modules/ssh.nix
|
../../../modules/ssh.nix
|
||||||
../../modules/sunshine.nix
|
../../../modules/sunshine.nix
|
||||||
../../modules/xserver.nix
|
../../../modules/xserver.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
modules = {
|
modules = {
|
||||||
xserver = {
|
|
||||||
amdgpu.enable = true;
|
|
||||||
de = "gnome";
|
|
||||||
};
|
|
||||||
sunshine = {
|
sunshine = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autostart = true;
|
autostart = true;
|
||||||
};
|
};
|
||||||
|
xserver = {
|
||||||
|
amdgpu.enable = true;
|
||||||
|
de = "gnome";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
services = {
|
services = {
|
||||||
|
blueman.enable = true;
|
||||||
|
fwupd.enable = true;
|
||||||
printing.enable = true;
|
printing.enable = true;
|
||||||
openssh.enable = true;
|
openssh.enable = true;
|
||||||
fwupd.enable = true;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -6,44 +6,9 @@
|
|||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.modules.hyprland;
|
cfg = config.modules.hyprland;
|
||||||
in {
|
in {
|
||||||
options.modules.hyprland = {
|
options.modules.hyprland.enable = mkEnableOption "Enables Hyprland";
|
||||||
enable = mkEnableOption "Enables Hyprland";
|
config.programs.hyprland = mkIf cfg.enable {
|
||||||
config = mkOption {
|
inherit (cfg) enable;
|
||||||
type = types.lines;
|
withUWSM = true;
|
||||||
default = "";
|
|
||||||
};
|
|
||||||
waybar = {
|
|
||||||
config = mkOption {
|
|
||||||
type = types.lines;
|
|
||||||
default = "";
|
|
||||||
};
|
|
||||||
style = mkOption {
|
|
||||||
type = types.nullOr types.path;
|
|
||||||
default = null;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = {
|
|
||||||
wayland.windowManager.hyprland = mkIf cfg.enable {
|
|
||||||
enable = true;
|
|
||||||
xwayland.enable = true;
|
|
||||||
systemd.enable = true;
|
|
||||||
extraConfig = cfg.config;
|
|
||||||
};
|
|
||||||
services.wpaperd = {
|
|
||||||
enable = true;
|
|
||||||
settings = ''
|
|
||||||
[default]
|
|
||||||
path = "/home/phundrak/Pictures/Wallpapers/nord"
|
|
||||||
duration = "5m"
|
|
||||||
sorting = "ascending"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
programs.waybar = {
|
|
||||||
enable = true;
|
|
||||||
inherit (cfg.waybar) config style;
|
|
||||||
systemd.enableInspect = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.modules.kdeconnect;
|
|
||||||
in {
|
|
||||||
options.modules.kdeconnect.enable = mkEnableOption "Enable KDEConnect";
|
|
||||||
|
|
||||||
config.services.kdeconnect = mkIf cfg.enable {
|
|
||||||
enable = true;
|
|
||||||
indicator = true;
|
|
||||||
};
|
|
||||||
}
|
|
0
users/modules/eww-config/eww.scss
Normal file
0
users/modules/eww-config/eww.scss
Normal file
12
users/modules/eww-config/eww.yuck
Normal file
12
users/modules/eww-config/eww.yuck
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
(defwindow example
|
||||||
|
:monitor 0
|
||||||
|
:geometry (geometry :x "0%"
|
||||||
|
:y "20%"
|
||||||
|
:width "90%"
|
||||||
|
:height "30px"
|
||||||
|
:anchor "top center")
|
||||||
|
:stacking "fg"
|
||||||
|
:reserve (struts :distance "40px" :side "top")
|
||||||
|
:windowtype "dock"
|
||||||
|
:wm-ignore false
|
||||||
|
"example content")
|
0
users/modules/eww-config/test
Normal file
0
users/modules/eww-config/test
Normal file
6
users/modules/eww.nix
Normal file
6
users/modules/eww.nix
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
programs.eww = {
|
||||||
|
enable = true;
|
||||||
|
configDir = ./eww-config;
|
||||||
|
};
|
||||||
|
}
|
@ -1,8 +1,300 @@
|
|||||||
{
|
{
|
||||||
imports = [../../programs/hyprland.nix];
|
config,
|
||||||
modules.hyprland = {
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.modules.hyprland;
|
||||||
|
rofi-emoji = import ../scripts/rofi-emoji.nix {inherit pkgs;};
|
||||||
|
in {
|
||||||
|
imports = [
|
||||||
|
./swaync.nix
|
||||||
|
./waybar.nix
|
||||||
|
./wlsunset.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
options.modules.hyprland = {
|
||||||
|
enable = mkEnableOption "Enables Hyprland";
|
||||||
|
swaync = mkEnableOption "Enables swaync";
|
||||||
|
emacsPkg = mkOption {
|
||||||
|
type = types.package;
|
||||||
|
default = pkgs.emacs;
|
||||||
|
};
|
||||||
|
host = mkOption {
|
||||||
|
type = types.enum ["tilo" "gampo"];
|
||||||
|
default = "tilo";
|
||||||
|
description = ''
|
||||||
|
Which host is Hyprland running on.
|
||||||
|
|
||||||
|
This helps determine the monitors layout.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
waybar = {
|
||||||
|
enable = mkEnableOption "Enables waybar.";
|
||||||
|
battery = mkEnableOption "Enables battery support.";
|
||||||
|
style = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
example = ./style.css;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = builtins.readFile ./config/hypr/hyprland.conf;
|
xwayland.enable = true;
|
||||||
waybar.style = ./config/waybar/style.css;
|
systemd.enable = false;
|
||||||
|
importantPrefixes = ["$left" "$right" "$up" "$down" "$menu"];
|
||||||
|
settings = {
|
||||||
|
input = {
|
||||||
|
kb_layout = "fr";
|
||||||
|
kb_variant = "bepo_afnor";
|
||||||
|
kb_options = "caps:ctrl_modifier";
|
||||||
|
numlock_by_default = true;
|
||||||
|
follow_mouse = 1;
|
||||||
|
touchpad.natural_scroll = false;
|
||||||
|
sensitivity = "0";
|
||||||
|
};
|
||||||
|
monitor =
|
||||||
|
{
|
||||||
|
"tilo" = [
|
||||||
|
"DP-1, 3440x1440@144, 0x725, 1"
|
||||||
|
"DP-3, 2560x1080@60, 3440x0, 1, transform, 3"
|
||||||
|
];
|
||||||
|
"gampo" = [];
|
||||||
|
}."${cfg.host}";
|
||||||
|
general = {
|
||||||
|
gaps_in = 5;
|
||||||
|
gaps_out = 20;
|
||||||
|
border_size = 2;
|
||||||
|
"col.active_border" = "rgb(81a1c1) rgb(a3be8c) 45deg";
|
||||||
|
"col.inactive_border" = "rgb(4c566a)";
|
||||||
|
layout = "dwindle";
|
||||||
|
};
|
||||||
|
decoration = {
|
||||||
|
rounding = 5;
|
||||||
|
# blur = {
|
||||||
|
# enable = true;
|
||||||
|
# size = 9;
|
||||||
|
# passes = 1;
|
||||||
|
# };
|
||||||
|
# shadow = {
|
||||||
|
# enable = true;
|
||||||
|
# color = "rgba(2e3440aa)";
|
||||||
|
# range = 4;
|
||||||
|
# render_power = 3;
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
animations = {
|
||||||
|
enabled = true;
|
||||||
|
animation = [
|
||||||
|
# "windows, 1, 7, myBezier"
|
||||||
|
"windowsOut, 1, 7, default, popin 80%"
|
||||||
|
"border, 1, 10, default"
|
||||||
|
"borderangle, 1, 8, default"
|
||||||
|
"fade, 1, 7, default"
|
||||||
|
"workspaces, 1, 6, default"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
dwindle = {
|
||||||
|
pseudotile = true;
|
||||||
|
preserve_split = true;
|
||||||
|
};
|
||||||
|
exec-once = [
|
||||||
|
"pactl load-module module-switch-on-connect"
|
||||||
|
"${pkgs.mpc}/bin/mpc stop"
|
||||||
|
"${pkgs.networkmanagerapplet}/bin/nm-applet"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
$left = c
|
||||||
|
$right = r
|
||||||
|
$up = s
|
||||||
|
$down = t
|
||||||
|
$menu = ${pkgs.wofi}/bin/wofi --show drun
|
||||||
|
|
||||||
|
bind = SUPER, Return, exec, kitty
|
||||||
|
bind = SUPER, Space, submap, leader
|
||||||
|
bind = , Print, submap, screenshot
|
||||||
|
|
||||||
|
submap = leader
|
||||||
|
bind = , l, exec, plock
|
||||||
|
bind = , l, submap, reset
|
||||||
|
bind = , a, submap, apps
|
||||||
|
bind = , b, submap, buffers
|
||||||
|
bind = , w, submap, windows
|
||||||
|
bind = , escape, submap, reset
|
||||||
|
bind = CTRL, g, submap, reset
|
||||||
|
|
||||||
|
submap = apps
|
||||||
|
bind = , b, exec, zen
|
||||||
|
bind = , b, submap, reset
|
||||||
|
bind = SHIFT, b, exec, qutebrowser
|
||||||
|
bind = SHIFT, b, submap, reset
|
||||||
|
bind = , d, exec, vesktop
|
||||||
|
bind = , d, submap, reset
|
||||||
|
bind = , e, exec, ${cfg.emacsPkg}/bin/emacsclient -c -n
|
||||||
|
bind = , e, submap, reset
|
||||||
|
bind = , g, exec, ${pkgs.gimp}/bin/gimp
|
||||||
|
bind = , g, submap, reset
|
||||||
|
bind = , n, exec, ${pkgs.nemo}/bin/nemo
|
||||||
|
bind = , n, submap, reset
|
||||||
|
bind = , r, submap, rofi
|
||||||
|
bind = , u, exec, $menu
|
||||||
|
bind = , u, submap, reset
|
||||||
|
bind = , escape, submap, reset
|
||||||
|
bind = CTRL, g, submap, reset
|
||||||
|
submap = buffers
|
||||||
|
bind = , d, killactive,
|
||||||
|
bind = , d, submap, reset
|
||||||
|
bind = , escape, submap, reset
|
||||||
|
bind = CTRL, g, submap, reset
|
||||||
|
submap = resize
|
||||||
|
binde = , $left, resizeactive, -10 0
|
||||||
|
binde = , $right, resizeactive, 10 0
|
||||||
|
binde = , $up, resizeactive, 0 -10
|
||||||
|
binde = , $down, resizeactive, 0 10
|
||||||
|
bind = , q, submap, reset
|
||||||
|
bind = , escape, submap, reset
|
||||||
|
bind = CTRL, g, submap, reset
|
||||||
|
submap = rofi
|
||||||
|
bind = , e, exec, ${rofi-emoji}/bin/rofi-emoji
|
||||||
|
bind = , e, submap, reset
|
||||||
|
bind = , r, exec, $menu
|
||||||
|
bind = , r, submap, reset
|
||||||
|
bind = , y, exec, ytplay
|
||||||
|
bind = , y, submap, reset
|
||||||
|
bind = , escape, submap, reset
|
||||||
|
bind = CTRL, g, submap, reset
|
||||||
|
submap = screenshot
|
||||||
|
bind = , Print, exec, screenshot
|
||||||
|
bind = , Print, submap, reset
|
||||||
|
bind = , d, exec, screenshot -d 3
|
||||||
|
bind = , d, submap, reset
|
||||||
|
bind = Shift, d, exec, screenshot -sced 3
|
||||||
|
bind = Shift, d, submap, reset
|
||||||
|
bind = , e, exec, screenshot -sec
|
||||||
|
bind = , e, submap, reset
|
||||||
|
bind = , s, exec, screenshot -s
|
||||||
|
bind = , s, submap, reset
|
||||||
|
bind = Shift, s, exec, screenshot -sc
|
||||||
|
bind = Shift, s, submap, reset
|
||||||
|
bind = , escape, submap, reset
|
||||||
|
bind = CTRL, g, submap, reset
|
||||||
|
submap = windows
|
||||||
|
bind = , period, submap, resize
|
||||||
|
bind = , $left, movefocus, l
|
||||||
|
bind = , $left, submap, reset
|
||||||
|
bind = , $right, movefocus, r
|
||||||
|
bind = , $right, submap, reset
|
||||||
|
bind = , $up, movefocus, u
|
||||||
|
bind = , $up, submap, reset
|
||||||
|
bind = , $down, movefocus, d
|
||||||
|
bind = , $down, submap, reset
|
||||||
|
bind = SHIFT, $left, movewindow, l
|
||||||
|
bind = SHIFT, $left, submap, reset
|
||||||
|
bind = SHIFT, $right, movewindow, r
|
||||||
|
bind = SHIFT, $right, submap, reset
|
||||||
|
bind = SHIFT, $up, movewindow, u
|
||||||
|
bind = SHIFT, $up, submap, reset
|
||||||
|
bind = SHIFT, $down, movewindow, d
|
||||||
|
bind = SHIFT, $down, submap, reset
|
||||||
|
bind = CTRL_SHIFT, $left, moveworkspacetomonitor, e+0 +1
|
||||||
|
bind = CTRL_SHIFT, $left, submap, reset
|
||||||
|
bind = CTRL_SHIFT, $right, moveworkspacetomonitor, e+0 -1
|
||||||
|
bind = CTRL_SHIFT, $right, submap, reset
|
||||||
|
bind = , d, killactive,
|
||||||
|
bind = , d, submap, reset
|
||||||
|
bind = , f, fullscreen,
|
||||||
|
bind = , f, submap, reset
|
||||||
|
bind = SHIFT, f, togglefloating,
|
||||||
|
bind = SHIFT, f, submap, reset
|
||||||
|
bind = , escape, submap, reset
|
||||||
|
bind = CTRL, g, submap, reset
|
||||||
|
|
||||||
|
submap = reset
|
||||||
|
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||||
|
bindl = , XF86AudioPause, exec, playerctl pause
|
||||||
|
bindl = , XF86AudioStop, exec, playerctl stop
|
||||||
|
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||||
|
bindl = , XF86AudioNext, exec, playerctl next
|
||||||
|
bindl = , XF86AudioForward, exec, playerctl position +1
|
||||||
|
bindl = , XF86AudioRewind, exec, playerctl position -1
|
||||||
|
bindl = , XF86AudioRaiseVolume, exec, pamixer -i 2
|
||||||
|
bindl = , XF86AudioLowerVolume, exec, pamixer -d 2
|
||||||
|
bindl = , XF86MonBrightnessUp, exec, xbacklight -perceived -inc 2
|
||||||
|
bindl = , XF86MonBrightnessDown, exec, xbacklight -perceived -dec 2
|
||||||
|
bindl = , XF86KbdBrightnessUp, exec, xbacklight -perceived -inc 2
|
||||||
|
bindl = , XF86KbdBrightnessDown, exec, xbacklight -perceived -dec 2
|
||||||
|
bind = SUPER, $left, movefocus, l
|
||||||
|
bind = SUPER, $right, movefocus, r
|
||||||
|
bind = SUPER, $up, movefocus, u
|
||||||
|
bind = SUPER, $down, movefocus, d
|
||||||
|
bind = SUPER_SHIFT, $left, movewindow, l
|
||||||
|
bind = SUPER_SHIFT, $left, submap, reset
|
||||||
|
bind = SUPER_SHIFT, $right, movewindow, r
|
||||||
|
bind = SUPER_SHIFT, $right, submap, reset
|
||||||
|
bind = SUPER_SHIFT, $up, movewindow, u
|
||||||
|
bind = SUPER_SHIFT, $up, submap, reset
|
||||||
|
bind = SUPER_SHIFT, $down, movewindow, d
|
||||||
|
bind = SUPER_SHIFT, $down, submap, reset
|
||||||
|
bind = SUPER_CTRL_SHIFT, $left, moveworkspacetomonitor, e+0 +1
|
||||||
|
bind = SUPER_CTRL_SHIFT, $left, submap, reset
|
||||||
|
bind = SUPER_CTRL_SHIFT, $right, moveworkspacetomonitor, e+0 -1
|
||||||
|
bind = SUPER_CTRL_SHIFT, $right, submap, reset
|
||||||
|
bind = SUPER, Tab, cyclenext,
|
||||||
|
bind = SUPER_SHIFT, Tab, cyclenext, prev
|
||||||
|
bindm = SUPER, mouse:272, movewindow
|
||||||
|
bindm = SUPER, mouse:273, resizewindow
|
||||||
|
bind = SUPER, quotedbl, workspace, 1
|
||||||
|
bind = SUPER, guillemotleft, workspace, 2
|
||||||
|
bind = SUPER, guillemotright, workspace, 3
|
||||||
|
bind = SUPER, parenleft, workspace, 4
|
||||||
|
bind = SUPER, parenright, workspace, 5
|
||||||
|
bind = SUPER, at, workspace, 6
|
||||||
|
bind = SUPER, plus, workspace, 7
|
||||||
|
bind = SUPER, minus, workspace, 8
|
||||||
|
bind = SUPER, slash, workspace, 9
|
||||||
|
bind = SUPER, asterisk, workspace, 10
|
||||||
|
bind = SUPER, mouse_down, workspace, e+1
|
||||||
|
bind = SUPER, mouse_up, workspace, e-1
|
||||||
|
bind = SUPER_SHIFT, quotedbl, movetoworkspace, 1
|
||||||
|
bind = SUPER_SHIFT, guillemotleft, movetoworkspace, 2
|
||||||
|
bind = SUPER_SHIFT, guillemotright, movetoworkspace, 3
|
||||||
|
bind = SUPER_SHIFT, parenleft, movetoworkspace, 4
|
||||||
|
bind = SUPER_SHIFT, parenright, movetoworkspace, 5
|
||||||
|
bind = SUPER_SHIFT, at, movetoworkspace, 6
|
||||||
|
bind = SUPER_SHIFT, plus, movetoworkspace, 7
|
||||||
|
bind = SUPER_SHIFT, minus, movetoworkspace, 8
|
||||||
|
bind = SUPER_SHIFT, slash, movetoworkspace, 9
|
||||||
|
bind = SUPER_SHIFT, asterisk, movetoworkspace, 10
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
services = {
|
||||||
|
blueman-applet.enable = true;
|
||||||
|
wpaperd = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
default = {
|
||||||
|
path = "/home/phundrak/Pictures/Wallpapers/nord";
|
||||||
|
duration = "5m";
|
||||||
|
sorting = "random";
|
||||||
|
mode = "center";
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
DP-3 = {
|
||||||
|
mode = "fit-border-color";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
modules = {
|
||||||
|
swaync.enable = cfg.swaync;
|
||||||
|
waybar = mkIf cfg.waybar.enable {
|
||||||
|
inherit (cfg.waybar) enable battery style;
|
||||||
|
};
|
||||||
|
wlsunset.enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -29,32 +29,6 @@ in {
|
|||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
systemd.user.services.mbsync.unitConfig.After = ["sops-nix.service"];
|
systemd.user.services.mbsync.unitConfig.After = ["sops-nix.service"];
|
||||||
services.mbsync.enable = cfg.service.enable;
|
services.mbsync.enable = cfg.service.enable;
|
||||||
programs.mbsync = {
|
programs.mbsync.enable = true;
|
||||||
enable = true;
|
|
||||||
extraConfig = ''
|
|
||||||
IMAPAccount Main
|
|
||||||
Host ${cfg.host}
|
|
||||||
User ${cfg.user}
|
|
||||||
PassCmd "cat ${cfg.passwordFile}"
|
|
||||||
SSLType IMAPS
|
|
||||||
SSLVersion TLSv1.2
|
|
||||||
CertificateFile /etc/ssl/certs/ca-certificates.crt
|
|
||||||
|
|
||||||
IMAPStore main-remote
|
|
||||||
Account Main
|
|
||||||
|
|
||||||
MaildirStore main-local
|
|
||||||
Subfolders Verbatim
|
|
||||||
Path ~/Mail/
|
|
||||||
Inbox ~/Mail/Inbox
|
|
||||||
|
|
||||||
Channel main
|
|
||||||
Far :main-remote:
|
|
||||||
Near :main-local:
|
|
||||||
Create Both
|
|
||||||
SyncState *
|
|
||||||
Patterns *
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -3,16 +3,14 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
force-window = "immediate";
|
force-window = "immediate";
|
||||||
ytdl-format = "bestvideo[height<=1080]+bestaudio";
|
|
||||||
force-seekable = true; # force streams to be seekable
|
force-seekable = true; # force streams to be seekable
|
||||||
cache-default = 4000000;
|
|
||||||
slang = "jpn,jp,eng,en,fra,fr";
|
slang = "jpn,jp,eng,en,fra,fr";
|
||||||
alang = "eng,en,fra,fr";
|
alang = "eng,en,fra,fr";
|
||||||
gpu-api = "vulkan";
|
gpu-api = "vulkan";
|
||||||
osc = true;
|
osc = true;
|
||||||
profile = "gpu-hq";
|
profile = "gpu-hq";
|
||||||
geometry = "50%x50%";
|
# geometry = "50%x50%";
|
||||||
autofit-larger = "90%x90%";
|
# autofit-larger = "90%x90%";
|
||||||
|
|
||||||
# Screenshots
|
# Screenshots
|
||||||
screenshot-format = "png";
|
screenshot-format = "png";
|
||||||
@ -24,14 +22,12 @@
|
|||||||
deband-iterations = 2;
|
deband-iterations = 2;
|
||||||
deband-threshold = 35;
|
deband-threshold = 35;
|
||||||
deband-range = 20;
|
deband-range = 20;
|
||||||
deband-grand = 5;
|
|
||||||
|
|
||||||
dither-depth = "auto";
|
dither-depth = "auto";
|
||||||
|
|
||||||
sub-auto = "fuzzy";
|
sub-auto = "fuzzy";
|
||||||
|
|
||||||
scale = "ewa_lanczossharp";
|
scale = "ewa_lanczossharp";
|
||||||
dscale = "mitchel";
|
|
||||||
cscale = "ewa_lanczossharp";
|
cscale = "ewa_lanczossharp";
|
||||||
};
|
};
|
||||||
scripts = with pkgs.mpvScripts; [
|
scripts = with pkgs.mpvScripts; [
|
||||||
@ -43,7 +39,7 @@
|
|||||||
quality-menu
|
quality-menu
|
||||||
sponsorblock
|
sponsorblock
|
||||||
thumbfast
|
thumbfast
|
||||||
# twitch-chat
|
twitch-chat
|
||||||
youtube-chat
|
youtube-chat
|
||||||
youtube-upnext
|
youtube-upnext
|
||||||
];
|
];
|
||||||
|
18
users/modules/swaync.nix
Normal file
18
users/modules/swaync.nix
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.modules.swaync;
|
||||||
|
in {
|
||||||
|
options.modules.swaync = {
|
||||||
|
enable = mkEnableOption "Enables swaync";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services.swaync.enable = true;
|
||||||
|
home.packages = [pkgs.swaynotificationcenter];
|
||||||
|
};
|
||||||
|
}
|
154
users/modules/waybar.nix
Normal file
154
users/modules/waybar.nix
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.modules.waybar;
|
||||||
|
in {
|
||||||
|
options.modules.waybar = {
|
||||||
|
enable = mkEnableOption "Enables waybar.";
|
||||||
|
battery = mkEnableOption "Enables battery support.";
|
||||||
|
style = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
example = ./style.css;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config.programs.waybar = mkIf cfg.enable {
|
||||||
|
inherit (cfg) enable;
|
||||||
|
systemd.enable = true;
|
||||||
|
settings = {
|
||||||
|
topBar = {
|
||||||
|
height = 24;
|
||||||
|
spacing = 2;
|
||||||
|
modules-left = ["hyprland/workspaces" "hyprland/submap" "hyprland/window"];
|
||||||
|
modules-center = [];
|
||||||
|
modules-right = [
|
||||||
|
"idle_inhibitor"
|
||||||
|
"group/audio"
|
||||||
|
"group/hardware"
|
||||||
|
"network"
|
||||||
|
"privacy"
|
||||||
|
"clock"
|
||||||
|
"tray"
|
||||||
|
];
|
||||||
|
|
||||||
|
idle_inhibitor = {
|
||||||
|
format = "{icon}";
|
||||||
|
format-icons = {
|
||||||
|
activated = "";
|
||||||
|
deactivated = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
mpris = {
|
||||||
|
dynamic-order = ["title" "artist" "album"];
|
||||||
|
dynamic-importance-order = ["title" "artist" "album"];
|
||||||
|
format = "DEFAULT: {player_icon} {dynamic}";
|
||||||
|
format-paused = "DEFAULT: {status_icon} <i>{dynamic}</i>";
|
||||||
|
player-icons = {
|
||||||
|
default = "▶";
|
||||||
|
mpv = "🎵";
|
||||||
|
};
|
||||||
|
status-icons.paused = "⏸";
|
||||||
|
ignored-players = [];
|
||||||
|
};
|
||||||
|
|
||||||
|
pulseaudio = {
|
||||||
|
format = "{volume}% {icon} {format_source}";
|
||||||
|
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||||
|
format-bluetooth-muted = " {icon} {format_source}";
|
||||||
|
format-muted = " {format_source}";
|
||||||
|
format-source = "{volume}% ";
|
||||||
|
format-source-muted = "";
|
||||||
|
format-icons = {
|
||||||
|
headphone = "";
|
||||||
|
hands-free = "";
|
||||||
|
headset = "";
|
||||||
|
phone = "";
|
||||||
|
portable = "";
|
||||||
|
car = "";
|
||||||
|
default = ["" "" ""];
|
||||||
|
};
|
||||||
|
on-click = "pavucontrol";
|
||||||
|
};
|
||||||
|
|
||||||
|
network = {
|
||||||
|
format-wifi = "{essid} ({signalStrength}%) ";
|
||||||
|
format-ethernet = "{ipaddr}/{cidr} ";
|
||||||
|
tooltip-format = "{ifname} via {gwaddr} ";
|
||||||
|
format-linked = "{ifname} (No IP) ";
|
||||||
|
format-disconnected = "Disconnected ⚠";
|
||||||
|
format-alt = "{ifname}: {ipaddr}/{cidr}";
|
||||||
|
};
|
||||||
|
|
||||||
|
"group/audio" = {
|
||||||
|
modules = ["mpris" "pulseaudio" "pulseaudio/slider"];
|
||||||
|
orientation = "inherit";
|
||||||
|
drawer.transition-duration = 300;
|
||||||
|
};
|
||||||
|
|
||||||
|
"group/hardware" = {
|
||||||
|
modules = lists.optional cfg.battery "battery" ++ ["cpu" "memory" "disk"];
|
||||||
|
orientation = "inherit";
|
||||||
|
drawer.transition-duration = 300;
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu = {
|
||||||
|
format = "{usage}% ";
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
memory.format = "{}% ";
|
||||||
|
|
||||||
|
disk = {
|
||||||
|
format = "{path}: {used}/{total} ({percentage_used}%)";
|
||||||
|
unit = "GB";
|
||||||
|
};
|
||||||
|
|
||||||
|
battery = {
|
||||||
|
states = {
|
||||||
|
good = 90;
|
||||||
|
warning = 30;
|
||||||
|
critical = 15;
|
||||||
|
};
|
||||||
|
format = "{capacity}% {icon}";
|
||||||
|
format-charging = "{capacity}% ";
|
||||||
|
format-plugged = "{capacity}% ";
|
||||||
|
format-alt = "{time} {icon}";
|
||||||
|
# An empty format will hide the module
|
||||||
|
format-good = "";
|
||||||
|
format-full = "";
|
||||||
|
format-icons = ["" "" "" "" ""];
|
||||||
|
};
|
||||||
|
|
||||||
|
clock = {
|
||||||
|
timezones = ["Europe/Paris" "Asia/Tokyo" "America/New_York" "America/Los_Angeles" "Asia/Kathmandu"];
|
||||||
|
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||||
|
format-alt = "{:%Y-%m-%d}";
|
||||||
|
actions = {
|
||||||
|
on-click-right = "mode";
|
||||||
|
on-scroll-up = "tz_up";
|
||||||
|
on-scroll-down = "tz_down";
|
||||||
|
};
|
||||||
|
calendar = {
|
||||||
|
mode = "year";
|
||||||
|
mode-mon-col = 3;
|
||||||
|
weeks-pos = "right";
|
||||||
|
on-scroll = 1;
|
||||||
|
format = {
|
||||||
|
months = "<span color='#eceff4'><b>{}</b></span>";
|
||||||
|
days = "<span color='#5e81ac'><b>{}</b></span>";
|
||||||
|
weeks = "<span color='#8fbcbb'><b>W{:%W}</b></span>";
|
||||||
|
weekdays = "<span color='#d8dee9'><b>{}</b></span>";
|
||||||
|
today = "<span color='#a3be8c'><b><u>{}</u></b></span>";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
tray.spacing = 10;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
style = builtins.readFile cfg.style;
|
||||||
|
};
|
||||||
|
}
|
24
users/modules/wlsunset.nix
Normal file
24
users/modules/wlsunset.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.modules.wlsunset;
|
||||||
|
in {
|
||||||
|
options.modules.wlsunset = {
|
||||||
|
enable = mkEnableOption "Enables wlsunset";
|
||||||
|
latitude = mkOption {
|
||||||
|
type = with types; nullOr (oneOf [str ints.unsigned float]);
|
||||||
|
default = 48.5;
|
||||||
|
};
|
||||||
|
longitude = mkOption {
|
||||||
|
type = with types; nullOr (oneOf [str ints.unsigned float]);
|
||||||
|
default = 2.2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config.services.wlsunset = mkIf cfg.enable {
|
||||||
|
inherit (cfg) enable latitude longitude;
|
||||||
|
};
|
||||||
|
}
|
@ -1,249 +0,0 @@
|
|||||||
env = XCURSOR_SIZE,24
|
|
||||||
env = SDL_VIDEODRIVER,wayland
|
|
||||||
|
|
||||||
input {
|
|
||||||
kb_layout = fr
|
|
||||||
kb_variant = bepo_afnor
|
|
||||||
kb_model =
|
|
||||||
kb_options = caps:ctrl_modifier
|
|
||||||
kb_rules =
|
|
||||||
numlock_by_default = true
|
|
||||||
|
|
||||||
follow_mouse = 1
|
|
||||||
|
|
||||||
touchpad {
|
|
||||||
natural_scroll = false
|
|
||||||
}
|
|
||||||
|
|
||||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
|
||||||
}
|
|
||||||
|
|
||||||
monitor = HDMI-A-1, 2560x1080, 0x0, 1
|
|
||||||
monitor = eDP-1, 1920x1080@120, 2560x0, 1
|
|
||||||
|
|
||||||
general {
|
|
||||||
gaps_in = 5
|
|
||||||
gaps_out = 20
|
|
||||||
border_size = 2
|
|
||||||
col.active_border = rgb(81a1c1) rgb(a3be8c) 45deg
|
|
||||||
col.inactive_border = rgb(4c566a)
|
|
||||||
layout = dwindle
|
|
||||||
}
|
|
||||||
|
|
||||||
decoration {
|
|
||||||
rounding = 5
|
|
||||||
blur {
|
|
||||||
enabled = true
|
|
||||||
size = 9
|
|
||||||
passes = 1
|
|
||||||
}
|
|
||||||
shadow {
|
|
||||||
enabled = true
|
|
||||||
color = rgba(2e3440aa)
|
|
||||||
range = 4
|
|
||||||
render_power = 3
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
animations {
|
|
||||||
enabled = true
|
|
||||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
|
||||||
animation = windows, 1, 7, myBezier
|
|
||||||
animation = windowsOut, 1, 7, default, popin 80%
|
|
||||||
animation = border, 1, 10, default
|
|
||||||
animation = borderangle, 1, 8, default
|
|
||||||
animation = fade, 1, 7, default
|
|
||||||
animation = workspaces, 1, 6, default
|
|
||||||
}
|
|
||||||
|
|
||||||
dwindle {
|
|
||||||
pseudotile = true
|
|
||||||
preserve_split = true
|
|
||||||
}
|
|
||||||
|
|
||||||
exec-once = wpaperd
|
|
||||||
exec-once = waybar
|
|
||||||
|
|
||||||
exec-once = pactl load-module module-switch-on-connect
|
|
||||||
exec-once = mpc stop
|
|
||||||
|
|
||||||
exec-once = xfce-polkit
|
|
||||||
|
|
||||||
exec-once = swaync
|
|
||||||
|
|
||||||
exec-once = wlsunset -l 48.5 -L 2.2 -d 1500
|
|
||||||
|
|
||||||
exec-once = nm-applet
|
|
||||||
exec-once = blueman-applet
|
|
||||||
|
|
||||||
$left = c
|
|
||||||
$right = r
|
|
||||||
$up = s
|
|
||||||
$down = t
|
|
||||||
$menu = rofi -combi-modi drun -show combi
|
|
||||||
|
|
||||||
bind = SUPER, Return, exec, kitty
|
|
||||||
bind = SUPER, Space, submap, leader
|
|
||||||
bind = , Print, submap, screenshot
|
|
||||||
|
|
||||||
submap = leader
|
|
||||||
bind = , l, exec, plock
|
|
||||||
bind = , l, submap, reset
|
|
||||||
bind = , a, submap, apps
|
|
||||||
bind = , b, submap, buffers
|
|
||||||
bind = , w, submap, windows
|
|
||||||
bind = , escape, submap, reset
|
|
||||||
bind = CTRL, g, submap, reset
|
|
||||||
|
|
||||||
submap = apps
|
|
||||||
bind = , b, exec, zen-browser
|
|
||||||
bind = , b, submap, reset
|
|
||||||
bind = SHIFT, b, exec, qutebrowser
|
|
||||||
bind = SHIFT, b, submap, reset
|
|
||||||
bind = , d, exec, vesktop
|
|
||||||
bind = , d, submap, reset
|
|
||||||
bind = , e, exec, emacsclient -c -n
|
|
||||||
bind = , e, submap, reset
|
|
||||||
bind = , g, exec, gimp
|
|
||||||
bind = , g, submap, reset
|
|
||||||
bind = , n, exec, nemo
|
|
||||||
bind = , n, submap, reset
|
|
||||||
bind = , r, submap, rofi
|
|
||||||
bind = , u, exec, $menu
|
|
||||||
bind = , u, submap, reset
|
|
||||||
bind = , escape, submap, reset
|
|
||||||
bind = CTRL, g, submap, reset
|
|
||||||
submap = buffers
|
|
||||||
bind = , d, killactive,
|
|
||||||
bind = , d, submap, reset
|
|
||||||
bind = , escape, submap, reset
|
|
||||||
bind = CTRL, g, submap, reset
|
|
||||||
submap = resize
|
|
||||||
binde = , $left, resizeactive, -10 0
|
|
||||||
binde = , $right, resizeactive, 10 0
|
|
||||||
binde = , $up, resizeactive, 0 -10
|
|
||||||
binde = , $down, resizeactive, 0 10
|
|
||||||
bind = , q, submap, reset
|
|
||||||
bind = , escape, submap, reset
|
|
||||||
bind = CTRL, g, submap, reset
|
|
||||||
submap = rofi
|
|
||||||
bind = , a, exec, awiki
|
|
||||||
bind = , a, submap, reset
|
|
||||||
bind = , b, exec, bluetooth-connect
|
|
||||||
bind = , b, submap, reset
|
|
||||||
bind = , e, exec, rofi-emoji
|
|
||||||
bind = , e, submap, reset
|
|
||||||
bind = , r, exec, $menu
|
|
||||||
bind = , r, submap, reset
|
|
||||||
bind = , s, exec, rofi -show ssh
|
|
||||||
bind = , s, submap, reset
|
|
||||||
bind = , y, exec, ytplay
|
|
||||||
bind = , y, submap, reset
|
|
||||||
bind = SHIFT, y, exec, rofi-ytdl
|
|
||||||
bind = SHIFT, y, submap, reset
|
|
||||||
bind = , escape, submap, reset
|
|
||||||
bind = CTRL, g, submap, reset
|
|
||||||
submap = screenshot
|
|
||||||
bind = , Print, exec, screenshot
|
|
||||||
bind = , Print, submap, reset
|
|
||||||
bind = , d, exec, screenshot -d 3
|
|
||||||
bind = , d, submap, reset
|
|
||||||
bind = Shift, d, exec, screenshot -sced 3
|
|
||||||
bind = Shift, d, submap, reset
|
|
||||||
bind = , e, exec, screenshot -sec
|
|
||||||
bind = , e, submap, reset
|
|
||||||
bind = , s, exec, screenshot -s
|
|
||||||
bind = , s, submap, reset
|
|
||||||
bind = Shift, s, exec, screenshot -sc
|
|
||||||
bind = Shift, s, submap, reset
|
|
||||||
bind = , escape, submap, reset
|
|
||||||
bind = CTRL, g, submap, reset
|
|
||||||
submap = windows
|
|
||||||
bind = , period, submap, resize
|
|
||||||
bind = , $left, movefocus, l
|
|
||||||
bind = , $left, submap, reset
|
|
||||||
bind = , $right, movefocus, r
|
|
||||||
bind = , $right, submap, reset
|
|
||||||
bind = , $up, movefocus, u
|
|
||||||
bind = , $up, submap, reset
|
|
||||||
bind = , $down, movefocus, d
|
|
||||||
bind = , $down, submap, reset
|
|
||||||
bind = SHIFT, $left, movewindow, l
|
|
||||||
bind = SHIFT, $left, submap, reset
|
|
||||||
bind = SHIFT, $right, movewindow, r
|
|
||||||
bind = SHIFT, $right, submap, reset
|
|
||||||
bind = SHIFT, $up, movewindow, u
|
|
||||||
bind = SHIFT, $up, submap, reset
|
|
||||||
bind = SHIFT, $down, movewindow, d
|
|
||||||
bind = SHIFT, $down, submap, reset
|
|
||||||
bind = CTRL_SHIFT, $left, moveworkspacetomonitor, e+0 +1
|
|
||||||
bind = CTRL_SHIFT, $left, submap, reset
|
|
||||||
bind = CTRL_SHIFT, $right, moveworkspacetomonitor, e+0 -1
|
|
||||||
bind = CTRL_SHIFT, $right, submap, reset
|
|
||||||
bind = , d, killactive,
|
|
||||||
bind = , d, submap, reset
|
|
||||||
bind = , f, fullscreen,
|
|
||||||
bind = , f, submap, reset
|
|
||||||
bind = SHIFT, f, togglefloating,
|
|
||||||
bind = SHIFT, f, submap, reset
|
|
||||||
bind = , escape, submap, reset
|
|
||||||
bind = CTRL, g, submap, reset
|
|
||||||
|
|
||||||
submap = reset
|
|
||||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
|
||||||
bindl = , XF86AudioPause, exec, playerctl pause
|
|
||||||
bindl = , XF86AudioStop, exec, playerctl stop
|
|
||||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
|
||||||
bindl = , XF86AudioNext, exec, playerctl next
|
|
||||||
bindl = , XF86AudioForward, exec, playerctl position +1
|
|
||||||
bindl = , XF86AudioRewind, exec, playerctl position -1
|
|
||||||
bindl = , XF86AudioRaiseVolume, exec, pamixer -i 2
|
|
||||||
bindl = , XF86AudioLowerVolume, exec, pamixer -d 2
|
|
||||||
bindl = , XF86MonBrightnessUp, exec, xbacklight -perceived -inc 2
|
|
||||||
bindl = , XF86MonBrightnessDown, exec, xbacklight -perceived -dec 2
|
|
||||||
bindl = , XF86KbdBrightnessUp, exec, xbacklight -perceived -inc 2
|
|
||||||
bindl = , XF86KbdBrightnessDown, exec, xbacklight -perceived -dec 2
|
|
||||||
bind = SUPER, $left, movefocus, l
|
|
||||||
bind = SUPER, $right, movefocus, r
|
|
||||||
bind = SUPER, $up, movefocus, u
|
|
||||||
bind = SUPER, $down, movefocus, d
|
|
||||||
bind = SUPER_SHIFT, $left, movewindow, l
|
|
||||||
bind = SUPER_SHIFT, $left, submap, reset
|
|
||||||
bind = SUPER_SHIFT, $right, movewindow, r
|
|
||||||
bind = SUPER_SHIFT, $right, submap, reset
|
|
||||||
bind = SUPER_SHIFT, $up, movewindow, u
|
|
||||||
bind = SUPER_SHIFT, $up, submap, reset
|
|
||||||
bind = SUPER_SHIFT, $down, movewindow, d
|
|
||||||
bind = SUPER_SHIFT, $down, submap, reset
|
|
||||||
bind = SUPER_CTRL_SHIFT, $left, moveworkspacetomonitor, e+0 +1
|
|
||||||
bind = SUPER_CTRL_SHIFT, $left, submap, reset
|
|
||||||
bind = SUPER_CTRL_SHIFT, $right, moveworkspacetomonitor, e+0 -1
|
|
||||||
bind = SUPER_CTRL_SHIFT, $right, submap, reset
|
|
||||||
bind = SUPER, Tab, cyclenext,
|
|
||||||
bind = SUPER_SHIFT, Tab, cyclenext, prev
|
|
||||||
bindm = SUPER, mouse:272, movewindow
|
|
||||||
bindm = SUPER, mouse:273, resizewindow
|
|
||||||
bind = SUPER, quotedbl, workspace, 1
|
|
||||||
bind = SUPER, guillemotleft, workspace, 2
|
|
||||||
bind = SUPER, guillemotright, workspace, 3
|
|
||||||
bind = SUPER, parenleft, workspace, 4
|
|
||||||
bind = SUPER, parenright, workspace, 5
|
|
||||||
bind = SUPER, at, workspace, 6
|
|
||||||
bind = SUPER, plus, workspace, 7
|
|
||||||
bind = SUPER, minus, workspace, 8
|
|
||||||
bind = SUPER, slash, workspace, 9
|
|
||||||
bind = SUPER, asterisk, workspace, 10
|
|
||||||
bind = SUPER, mouse_down, workspace, e+1
|
|
||||||
bind = SUPER, mouse_up, workspace, e-1
|
|
||||||
bind = SUPER_SHIFT, quotedbl, movetoworkspace, 1
|
|
||||||
bind = SUPER_SHIFT, guillemotleft, movetoworkspace, 2
|
|
||||||
bind = SUPER_SHIFT, guillemotright, movetoworkspace, 3
|
|
||||||
bind = SUPER_SHIFT, parenleft, movetoworkspace, 4
|
|
||||||
bind = SUPER_SHIFT, parenright, movetoworkspace, 5
|
|
||||||
bind = SUPER_SHIFT, at, movetoworkspace, 6
|
|
||||||
bind = SUPER_SHIFT, plus, movetoworkspace, 7
|
|
||||||
bind = SUPER_SHIFT, minus, movetoworkspace, 8
|
|
||||||
bind = SUPER_SHIFT, slash, movetoworkspace, 9
|
|
||||||
bind = SUPER_SHIFT, asterisk, movetoworkspace, 10
|
|
||||||
|
|
||||||
windowrulev2 = float,class:^(xfce-polkit)$
|
|
37
users/phundrak/email.nix
Normal file
37
users/phundrak/email.nix
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{config, ...}: {
|
||||||
|
accounts.email = {
|
||||||
|
maildirBasePath = "Mail";
|
||||||
|
accounts."lucien@phundrak.com" = {
|
||||||
|
realName = "Lucien Cartier-Tilet";
|
||||||
|
address = "lucien@phundrak.com";
|
||||||
|
aliases = [
|
||||||
|
"lucien@cartier-tilet.com"
|
||||||
|
"admin@phundrak.com"
|
||||||
|
"webmaster@phundrak.com"
|
||||||
|
"youdontknow@phundrak.com"
|
||||||
|
];
|
||||||
|
passwordCommand = "cat ${config.sops.secrets.emailPassword.path}";
|
||||||
|
signature = {
|
||||||
|
text = ''
|
||||||
|
Lucien “Phundrak” Cartier-Tilet
|
||||||
|
https://phundrak.com (Français)
|
||||||
|
https://phundrak.com/en (English)
|
||||||
|
Sent from GNU/Emacs
|
||||||
|
'';
|
||||||
|
showSignature = "append";
|
||||||
|
};
|
||||||
|
userName = "lucien@phundrak.com";
|
||||||
|
imap.host = "mail.phundrak.com";
|
||||||
|
smtp.host = "mail.phundrak.com";
|
||||||
|
mu.enable = true;
|
||||||
|
primary = true;
|
||||||
|
|
||||||
|
mbsync = {
|
||||||
|
create = "maildir";
|
||||||
|
enable = true;
|
||||||
|
expunge = "both";
|
||||||
|
remove = "both";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -7,9 +7,11 @@
|
|||||||
imports = [
|
imports = [
|
||||||
./light-home.nix
|
./light-home.nix
|
||||||
./packages.nix
|
./packages.nix
|
||||||
|
./email.nix
|
||||||
../modules/emacs.nix
|
../modules/emacs.nix
|
||||||
../modules/kdeconnect.nix
|
../modules/kdeconnect.nix
|
||||||
../modules/kitty.nix
|
../modules/kitty.nix
|
||||||
|
../modules/hyprland.nix
|
||||||
../modules/mbsync.nix
|
../modules/mbsync.nix
|
||||||
../modules/mpd.nix
|
../modules/mpd.nix
|
||||||
../modules/mpv.nix
|
../modules/mpv.nix
|
||||||
@ -47,6 +49,11 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
modules = {
|
modules = {
|
||||||
|
shell.starship.jjIntegration = true;
|
||||||
|
bat.extras = true;
|
||||||
|
packages.emacsPackage = emacsPkg;
|
||||||
|
mopidy.enable = true;
|
||||||
|
|
||||||
emacs = {
|
emacs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
service = true;
|
service = true;
|
||||||
@ -54,11 +61,16 @@
|
|||||||
mu4eMime = true;
|
mu4eMime = true;
|
||||||
org-protocol = true;
|
org-protocol = true;
|
||||||
};
|
};
|
||||||
shell.starship.jjIntegration = true;
|
hyprland = {
|
||||||
bat.extras = true;
|
inherit emacsPkg;
|
||||||
packages.emacsPackage = emacsPkg;
|
enable = true;
|
||||||
mopidy.enable = true;
|
swaync = true;
|
||||||
|
waybar = {
|
||||||
|
enable = true;
|
||||||
|
battery = false;
|
||||||
|
style = ./config/waybar/style.css;
|
||||||
|
};
|
||||||
|
};
|
||||||
mbsync = {
|
mbsync = {
|
||||||
enable = true;
|
enable = true;
|
||||||
passwordFile = config.sops.secrets.emailPassword.path;
|
passwordFile = config.sops.secrets.emailPassword.path;
|
||||||
@ -96,6 +108,12 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
mpris-proxy.enable = true;
|
||||||
|
playerctld.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
manual.html.enable = true;
|
manual.html.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@ in {
|
|||||||
default = pkgs.emacs;
|
default = pkgs.emacs;
|
||||||
};
|
};
|
||||||
config.home.packages = with pkgs; let
|
config.home.packages = with pkgs; let
|
||||||
scripts = import ../scripts/scripts.nix {
|
scripts = import ../scripts {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
config.emacsPkg = cfg.emacsPackage;
|
config.emacsPkg = cfg.emacsPackage;
|
||||||
};
|
};
|
||||||
@ -46,7 +46,6 @@ in {
|
|||||||
plex-media-player
|
plex-media-player
|
||||||
spicetify-cli
|
spicetify-cli
|
||||||
spotify
|
spotify
|
||||||
spotify-tray
|
|
||||||
|
|
||||||
# Social
|
# Social
|
||||||
vesktop # Discord alternative that works well with wayland
|
vesktop # Discord alternative that works well with wayland
|
||||||
|
@ -7,12 +7,13 @@
|
|||||||
in [
|
in [
|
||||||
askpass
|
askpass
|
||||||
(import ./backup.nix {inherit pkgs;})
|
(import ./backup.nix {inherit pkgs;})
|
||||||
(import ./hyprland-autostart.nix {inherit pkgs;})
|
|
||||||
(import ./keygen.nix {inherit pkgs;})
|
(import ./keygen.nix {inherit pkgs;})
|
||||||
(import ./launch-with-emacsclient.nix {
|
(import ./launch-with-emacsclient.nix {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
emacsPackage = config.emacsPkg;
|
emacsPackage = config.emacsPkg;
|
||||||
})
|
})
|
||||||
(import ./mp42webm.nix {inherit pkgs;})
|
(import ./mp42webm.nix {inherit pkgs;})
|
||||||
|
(import ./plock.nix {inherit pkgs;})
|
||||||
|
(import ./screenshot.nix {inherit pkgs;})
|
||||||
(import ./sshbind.nix {inherit pkgs;})
|
(import ./sshbind.nix {inherit pkgs;})
|
||||||
]
|
]
|
@ -1,4 +0,0 @@
|
|||||||
{pkgs, ...}:
|
|
||||||
pkgs.writeShellScriptBin "hyprland-autostart" ''
|
|
||||||
${pkgs.waybar}/bin/waybar &
|
|
||||||
${pkgs.wlsunset}/bin/wlsunset -l 48.5 -L 2.2 -d 1500''
|
|
16
users/scripts/plock.nix
Normal file
16
users/scripts/plock.nix
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{pkgs, ...}:
|
||||||
|
pkgs.writeShellScriptBin "plock" ''
|
||||||
|
TMPBG="/tmp/screen.png"
|
||||||
|
if [ "$XDG_SESSION_TYPE" = "wayland" ]; then
|
||||||
|
SCREENER=${pkgs.grim}/bin/grim
|
||||||
|
LOCKER="${pkgs.swaylock}/bin/swaylock -feF"
|
||||||
|
else
|
||||||
|
SCREENER=${pkgs.scrot}/bin/scrot
|
||||||
|
LOCKER="${pkgs.i3lock}/bin/i3lock -ef"
|
||||||
|
fi
|
||||||
|
|
||||||
|
$SCREENER "$TMPBG"
|
||||||
|
${pkgs.corrupter}/bin/corrupter -add 0 "$TMPBG" "$TMPBG"
|
||||||
|
$LOCKER -ti "$TMPBG"
|
||||||
|
rm "$TMPBG"
|
||||||
|
''
|
18
users/scripts/rofi-emoji.nix
Normal file
18
users/scripts/rofi-emoji.nix
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{pkgs, ...}:
|
||||||
|
pkgs.writeShellScriptBin "rofi-emoji" ''
|
||||||
|
SELECTED_EMOJI=$(grep -v "#" ~/.config/emoji | ${pkgs.wofi}/bin/wofi --dmenu -p "Select emoji" -i | awk '{print $1}' | tr -d '\n')
|
||||||
|
if [ "$XDG_SESSION_TYPE" = "wayland" ]; then
|
||||||
|
printf "%s" "$SELECTED_EMOJI" | ${pkgs.wl-clipboard-rs}/bin/wl-copy
|
||||||
|
else
|
||||||
|
printf "%s" "$SELECTED_EMOJI" | ${pkgs.xclip}/bin/xclip -sel clip
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$XDG_SESSION_TYPE" = "wayland" ]
|
||||||
|
then EMOJI=$(${pkgs.wl-clipboard-rs}/bin/wl-paste)
|
||||||
|
else EMOJI=$(${pkgs.xclip}/bin/xclip -o)
|
||||||
|
fi
|
||||||
|
|
||||||
|
test -z "$EMOJI" && notify-send "No emoji copied" -u low && exit
|
||||||
|
EMOJI="$EMOJI copied to clipboard"
|
||||||
|
${pkgs.libnotify}/bin/notify-send -u low "$EMOJI"
|
||||||
|
''
|
56
users/scripts/screenshot.nix
Normal file
56
users/scripts/screenshot.nix
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
{pkgs, ...}:
|
||||||
|
pkgs.writeShellScriptBin "screenshot" ''
|
||||||
|
OUTFILE_BASE="$HOME/Pictures/Screenshots/Screenshot_$(date +%Y-%m-%d_%H.%M.%S)"
|
||||||
|
OUTFILE="$OUTFILE_BASE.png"
|
||||||
|
SUFFIX=0
|
||||||
|
|
||||||
|
while getopts ':cd:egs' OPTION; do
|
||||||
|
case "$OPTION" in
|
||||||
|
c )
|
||||||
|
COPY="yes"
|
||||||
|
;;
|
||||||
|
d )
|
||||||
|
DELAY="$OPTARG"
|
||||||
|
;;
|
||||||
|
e )
|
||||||
|
EDIT="yes"
|
||||||
|
;;
|
||||||
|
g )
|
||||||
|
GIMP="yes"
|
||||||
|
;;
|
||||||
|
s )
|
||||||
|
SELECT="yes"
|
||||||
|
;;
|
||||||
|
? )
|
||||||
|
echo "Usage: $(basename "$0") [-c] [-d DELAY] [-e] [-g] [-s]"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$SELECT" = "yes" ]; then
|
||||||
|
AREA="$(${pkgs.slurp}/bin/slurp)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$DELAY" ]; then
|
||||||
|
sleep "$DELAY"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$SELECT" = "yes" ]; then
|
||||||
|
${pkgs.grim}/bin/grim -g "$AREA" "$OUTFILE"
|
||||||
|
else
|
||||||
|
${pkgs.grim}/bin/grim "$OUTFILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$EDIT" = "yes" ];then
|
||||||
|
${pkgs.swappy}/bin/swappy -f "$OUTFILE" -o "$OUTFILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$GIMP" = "yes" ]; then
|
||||||
|
${pkgs.gimp}/bin/gimp "$OUTFILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$COPY" = "yes" ]; then
|
||||||
|
${pkgs.wl-clipboard-rs}/bin/wl-copy < "$OUTFILE"
|
||||||
|
fi
|
||||||
|
''
|
@ -1,8 +1,6 @@
|
|||||||
{pkgs, ...}: let
|
{pkgs, ...}:
|
||||||
rofi = pkgs.rofi-wayland;
|
pkgs.writeShellScriptBin "ytplay" ''
|
||||||
in
|
URL=$(${pkgs.wofi}/bin/wofi --dmenu -i -p "Video URL")
|
||||||
pkgs.writeShellScriptBin "ytplay" ''
|
|
||||||
URL=$(${rofi}/bin/rofi -dmenu -i -p "Video URL")
|
|
||||||
if [ -z "$URL" ]; then
|
if [ -z "$URL" ]; then
|
||||||
echo "You need to provide a URL"
|
echo "You need to provide a URL"
|
||||||
exit 1
|
exit 1
|
||||||
@ -11,8 +9,8 @@ in
|
|||||||
grep -E "webm.*[0-9]+x[0-9]" | \
|
grep -E "webm.*[0-9]+x[0-9]" | \
|
||||||
awk '{print $3 " " $1}' | \
|
awk '{print $3 " " $1}' | \
|
||||||
sort -gu | \
|
sort -gu | \
|
||||||
${rofi}/bin/rofi -dmenu -i -p "Resolution")
|
${pkgs.wofi}/bin/wofi --dmenu -i -p "Resolution")
|
||||||
mapfile -t RESOLUTION <<< "$RESOLUTION_CHOICE"
|
mapfile -t RESOLUTION <<< "$RESOLUTION_CHOICE"
|
||||||
RESOLUTION_CODE=''${RESOLUTION[0]}
|
RESOLUTION_CODE=''${RESOLUTION[0]}
|
||||||
${pkgs.mpv}/bin/mpv --ytdl-format="''${RESOLUTION_CODE}+bestaudio/best" "$URL"
|
${pkgs.mpv}/bin/mpv --ytdl-format="''${RESOLUTION_CODE}+bestaudio/best" "$URL"
|
||||||
''
|
''
|
||||||
|
Loading…
x
Reference in New Issue
Block a user