mirror of
https://git.sr.ht/~rouven/nixos-config
synced 2025-01-18 17:11:39 +01:00
basic river configuration
This commit is contained in:
parent
3b3736c0d3
commit
ca8ac0f517
11 changed files with 150 additions and 57 deletions
30
flake.lock
30
flake.lock
|
@ -203,11 +203,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1687506590,
|
||||
"narHash": "sha256-CSou9mrG9h/WVRjCptfTrATVxvhmtdQXElmWV/ZkrAs=",
|
||||
"lastModified": 1687647343,
|
||||
"narHash": "sha256-1/o/i9KEFOBdlF9Cs04kBcqDFbYMt6W4SMqGa+QnnaI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "d2b6f2d154bf6b27a93ed895392f80c503df7cfa",
|
||||
"rev": "0ee5ab611dc1fbb5180bd7d88d2aeb7841a4d179",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -223,11 +223,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1686758111,
|
||||
"narHash": "sha256-8FIiQNUv7CDsChBcEpstrM5vZKV+8ZPs5hpv/y33eNI=",
|
||||
"lastModified": 1687101087,
|
||||
"narHash": "sha256-7whjv4o+IsqyILNPGtNA3TdBOdGTNqi7gd3SYneQXEs=",
|
||||
"owner": "therealr5",
|
||||
"repo": "TruckSimulatorBot-images",
|
||||
"rev": "d879cd5d9b2028a47b2f0400819965ce6267b64a",
|
||||
"rev": "c2b85c3117b9ddbab6c93d6ea3e3fca452643b71",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -333,11 +333,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1687412861,
|
||||
"narHash": "sha256-Z/g0wbL68C+mSGerYS2quv9FXQ1RRP082cAC0Bh4vcs=",
|
||||
"lastModified": 1687681650,
|
||||
"narHash": "sha256-M2If+gRcfpmaJy/XbfSsRzLlPpoU4nr0NHnKKl50fd8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e603dc5f061ca1d8a19b3ede6a8cf9c9fcba6cdc",
|
||||
"rev": "1c9db9710cb23d60570ad4d7ab829c2d34403de3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -461,11 +461,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1687103994,
|
||||
"narHash": "sha256-HqpnLauoN4+dFAGTNCuFjmGPGCTPu4U5Ftfpz+yxpEo=",
|
||||
"lastModified": 1687686412,
|
||||
"narHash": "sha256-Wq9D5tBxKNJVpeUDW8ZJRm1PM+JLgr16tdvaULuPMbo=",
|
||||
"owner": "therealr5",
|
||||
"repo": "purge",
|
||||
"rev": "235766c0541f19a6259fdccfacd213ec40dc1c71",
|
||||
"rev": "4fc0ee4454dc5afaa8b370f1f642e012a06fe42e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -583,11 +583,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1687101157,
|
||||
"narHash": "sha256-IgYDpLUQcbBApMTd4cYwZkchPprVFLddT9PTUx0TRJM=",
|
||||
"lastModified": 1687686435,
|
||||
"narHash": "sha256-G/GW1x4UEcj41ss6hjmtGim0tKzS/mFQ9lnE2b2hhig=",
|
||||
"owner": "therealr5",
|
||||
"repo": "TruckSimulatorBot",
|
||||
"rev": "68ad7fb76fe7667db041034968c59627fc7ff2fb",
|
||||
"rev": "17e3c09b0b29067614841d183800ac361773cd9a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "${lib.getExe pkgs.greetd.tuigreet} --cmd sway";
|
||||
command = "${lib.getExe pkgs.greetd.tuigreet} --cmd river";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
./git
|
||||
./gpg
|
||||
./helix
|
||||
./sway
|
||||
./wayland
|
||||
./mpv
|
||||
./sops
|
||||
./spotify
|
||||
|
|
|
@ -69,6 +69,7 @@
|
|||
};
|
||||
|
||||
programs.texlive.enable = true;
|
||||
programs.obs-studio.enable = true;
|
||||
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
|
|
|
@ -1,5 +1,13 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./sway.nix
|
||||
./river.nix
|
||||
./waybar.nix
|
||||
./shikane.nix
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
swaylock-effects
|
||||
wl-clipboard
|
||||
|
@ -17,6 +25,7 @@
|
|||
timeouts = [
|
||||
{ timeout = 300; command = lib.getExe pkgs.swaylock-effects; }
|
||||
];
|
||||
systemdTarget = "river-session.target";
|
||||
};
|
||||
systemd.user.services.swaync = {
|
||||
Install.WantedBy = [ "graphical-session.target" ];
|
||||
|
@ -25,7 +34,7 @@
|
|||
Restart = "on-failure";
|
||||
};
|
||||
Unit = {
|
||||
After = "graphical-session.target";
|
||||
After = "graphical-session-pre.target";
|
||||
Description = "Simple notification daemon with a GUI built for Sway";
|
||||
Documentation = "https://github.com/ErikReider/SwayNotificationCenter";
|
||||
PartOf = "graphical-session.target";
|
||||
|
@ -33,6 +42,27 @@
|
|||
};
|
||||
|
||||
xdg.configFile = {
|
||||
"swaync".source = ./swaync;
|
||||
"fuzzel/fuzzel.ini".text = ''
|
||||
[main]
|
||||
icon-theme=${config.gtk.iconTheme.name}
|
||||
show-actions=yes
|
||||
width=80
|
||||
terminal=${lib.getExe pkgs.foot}
|
||||
|
||||
[colors]
|
||||
background=${config.colorScheme.colors.base00}ff
|
||||
text=${config.colorScheme.colors.base05}ff
|
||||
match=${config.colorScheme.colors.base08}ff
|
||||
selection=${config.colorScheme.colors.base02}ff
|
||||
selection-text=${config.colorScheme.colors.base04}ff
|
||||
border=${config.colorScheme.colors.base01}ff
|
||||
'';
|
||||
"swappy/config".text = ''
|
||||
[Default]
|
||||
save_dir = ~/Pictures/Screenshots/
|
||||
early_exit = true
|
||||
'';
|
||||
"swaylock/config".text = ''
|
||||
indicator-radius=200
|
||||
indicator-thickness=3
|
||||
|
@ -44,7 +74,6 @@
|
|||
screenshot
|
||||
effect-blur=7x5
|
||||
'';
|
||||
|
||||
"wlogout/style.css".text = ''
|
||||
* {
|
||||
background-image: none;
|
88
users/rouven/modules/wayland/river.nix
Normal file
88
users/rouven/modules/wayland/river.nix
Normal file
|
@ -0,0 +1,88 @@
|
|||
{ pkgs, lib, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
river
|
||||
];
|
||||
systemd.user.targets.river-session = {
|
||||
Unit = {
|
||||
After = "graphical-session-pre.target";
|
||||
BindsTo = "graphical-session.target";
|
||||
Description = "river compositor session";
|
||||
Wants = "graphical-session-pre.target";
|
||||
};
|
||||
};
|
||||
xdg.configFile = {
|
||||
"river/init" = {
|
||||
source =
|
||||
pkgs.writeShellScript "river-init.sh" ''
|
||||
riverctl focus-follows-cursor always
|
||||
riverctl spawn rivertile
|
||||
riverctl default-layout rivertile
|
||||
riverctl output-layout rivertile
|
||||
riverctl keyboard-layout -variant dvorak-alt-intl us
|
||||
riverctl input pointer-2-7-SynPS/2_Synaptics_TouchPad tap enabled
|
||||
riverctl input pointer-2-7-SynPS/2_Synaptics_TouchPad drag enabled
|
||||
riverctl input pointer-2-7-SynPS/2_Synaptics_TouchPad middle-emulation enabled
|
||||
|
||||
riverctl spawn "${lib.getExe pkgs.swaybg} -i ${../../../../images/wallpaper.png}"
|
||||
systemctl --user start river-session.target
|
||||
${pkgs.dbus}/bin/dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_TYPE NIXOS_OZONE_WL
|
||||
|
||||
riverctl map normal Super Return spawn footclient
|
||||
riverctl map normal Super+Shift Q close
|
||||
riverctl map normal Super F toggle-fullscreen
|
||||
|
||||
riverctl map normal Super S send-to-output next
|
||||
|
||||
riverctl map normal Super+Shift K send-layout-cmd rivertile "main-count +1"
|
||||
riverctl map normal Super+Shift J send-layout-cmd rivertile "main-count -1"
|
||||
riverctl map normal Super+Shift L send-layout-cmd rivertile "main-ratio +0.05"
|
||||
riverctl map normal Super+Shift H send-layout-cmd rivertile "main-ratio -0.05"
|
||||
|
||||
riverctl map normal Super K focus-view next
|
||||
riverctl map normal Super J focus-view previous
|
||||
riverctl map normal Super L focus-output next
|
||||
riverctl map normal Super H focus-output previous
|
||||
riverctl map normal Super O send-to-output next
|
||||
# riverctl map-pointer normal Super BTN_LEFT move-view
|
||||
|
||||
# riverctl map-pointer normal Super BTN_RIGHT resize-view
|
||||
|
||||
riverctl map normal Alt Space spawn ${lib.getExe pkgs.fuzzel}
|
||||
|
||||
for i in $(seq 1 9)
|
||||
do
|
||||
tags=$((1 << ($i - 1)))
|
||||
|
||||
# Super+[1-9] to focus tag [0-8]
|
||||
riverctl map normal Super $i set-focused-tags $tags
|
||||
|
||||
# Super+Shift+[1-9] to tag focused view with tag [0-8]
|
||||
riverctl map normal Super+Shift $i set-view-tags $tags
|
||||
|
||||
# Super+Control+[1-9] to toggle focus of tag [0-8]
|
||||
riverctl map normal Super+Control $i toggle-focused-tags $tags
|
||||
|
||||
# Super+Shift+Control+[1-9] to toggle tag [0-8] of focused view
|
||||
riverctl map normal Super+Shift+Control $i toggle-view-tags $tags
|
||||
done
|
||||
|
||||
riverctl map normal None Print spawn "${lib.getExe pkgs.sway-contrib.grimshot} copy area"
|
||||
riverctl map normal None XF86Launch2 spawn "${lib.getExe pkgs.sway-contrib.grimshot} save area - | ${lib.getExe pkgs.swappy} -f -"
|
||||
riverctl map normal None XF86MonBrightnessUp spawn "${lib.getExe pkgs.light} -A 10"
|
||||
riverctl map normal None XF86MonBrightnessDown spawn "${lib.getExe pkgs.light} -U 10"
|
||||
riverctl map normal None XF86AudioMute spawn "${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle"
|
||||
riverctl map normal None XF86AudioMicMute spawn "${pkgs.pulseaudio}/bin/pactl set-source-mute @DEFAULT_SOURCE@ toggle"
|
||||
riverctl map normal None XF86AudioRaiseVolume spawn "${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%"
|
||||
riverctl map normal None XF86AudioLowerVolume spawn "${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -5%"
|
||||
riverctl map normal Shift XF86AudioRaiseVolume spawn "${pkgs.pulseaudio}/bin/pactl set-source-volume @DEFAULT_SOURCE@ +5%"
|
||||
riverctl map normal Shift XF86AudioLowerVolume spawn "${pkgs.pulseaudio}/bin/pactl set-source-volume @DEFAULT_SOURCE@ -5%"
|
||||
riverctl map normal None XF86Favorites spawn "${pkgs.systemd}/bin/loginctl lock-session"
|
||||
# riverctl map normal None XF86PowerOff spawn "${lib.getExe pkgs.wlogout}"
|
||||
riverctl map normal None XF86Messenger spawn "${pkgs.swaynotificationcenter}/bin/swaync-client --toggle-panel"
|
||||
riverctl map normal None Cancel spawn "${pkgs.swaynotificationcenter}/bin/swaync-client --hide-latest"
|
||||
riverctl map normal Shift Cancel spawn "${pkgs.swaynotificationcenter}/bin/swaync-client --cloes-all"
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,12 +1,7 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
# ./hyprpaper.nix
|
||||
./session.nix
|
||||
./waybar.nix
|
||||
./shikane.nix
|
||||
];
|
||||
|
||||
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
config = rec {
|
||||
|
@ -44,7 +39,6 @@
|
|||
"XF86Launch2" = "exec ${lib.getExe pkgs.sway-contrib.grimshot} save area - | ${lib.getExe pkgs.swappy} -f -";
|
||||
"XF86MonBrightnessUp" = "exec ${lib.getExe pkgs.light} -A 10";
|
||||
"XF86MonBrightnessDown" = "exec ${lib.getExe pkgs.light} -U 10";
|
||||
# audio controls
|
||||
"XF86AudioMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||
"XF86AudioMicMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-mute @DEFAULT_SOURCE@ toggle";
|
||||
"XF86AudioRaiseVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%";
|
||||
|
@ -61,27 +55,4 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
xdg.configFile = {
|
||||
"swaync".source = ./swaync;
|
||||
"fuzzel/fuzzel.ini".text = ''
|
||||
[main]
|
||||
icon-theme=${config.gtk.iconTheme.name}
|
||||
show-actions=yes
|
||||
width=80
|
||||
terminal=${lib.getExe pkgs.foot}
|
||||
|
||||
[colors]
|
||||
background=${config.colorScheme.colors.base00}ff
|
||||
text=${config.colorScheme.colors.base05}ff
|
||||
match=${config.colorScheme.colors.base08}ff
|
||||
selection=${config.colorScheme.colors.base02}ff
|
||||
selection-text=${config.colorScheme.colors.base04}ff
|
||||
border=${config.colorScheme.colors.base01}ff
|
||||
'';
|
||||
"swappy/config".text = ''
|
||||
[Default]
|
||||
save_dir = ~/Pictures/Screenshots/
|
||||
early_exit = true
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -11,7 +11,7 @@
|
|||
position = "top";
|
||||
height = 26;
|
||||
# modules-left = [ "wlr/workspaces" "custom/spotifytitle" "hyprland/window" ];
|
||||
modules-left = [ "sway/workspaces" "custom/spotifytitle" "sway/window" ];
|
||||
modules-left = [ "river/tags" "custom/spotifytitle" "river/window" ];
|
||||
modules-right = [ "network" "cpu" "temperature" "pulseaudio" "battery" "tray" "custom/notification" "clock" ];
|
||||
network = {
|
||||
format-wifi = " {essid} ({signalStrength}%)";
|
||||
|
@ -21,11 +21,11 @@
|
|||
format-disconnected = "Disconnected ⚠";
|
||||
format-alt = "{ifname}: {ipaddr}/{cidr}";
|
||||
};
|
||||
"sway/workspaces" = {
|
||||
"river/tags" = {
|
||||
format = "{icon}";
|
||||
on-click = "activate";
|
||||
};
|
||||
"sway/window" = {
|
||||
"river/window" = {
|
||||
format = " {}";
|
||||
# separate-outputs = true;
|
||||
};
|
||||
|
@ -61,7 +61,7 @@
|
|||
format = "{usage}% ";
|
||||
};
|
||||
temperature = {
|
||||
hwmon-path = "/sys/class/hwmon/hwmon5/temp1_input";
|
||||
hwmon-path = "/sys/devices/platform/thinkpad_hwmon/hwmon/hwmon4/temp1_input";
|
||||
critical-threshold = 80;
|
||||
format = "{temperatureC}°C {icon}";
|
||||
format-icons = [ "" ];
|
||||
|
@ -114,18 +114,22 @@
|
|||
background-color: transparent;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
#tags button {
|
||||
padding: 0 5px;
|
||||
background-color: transparent;
|
||||
color: #${config.colorScheme.colors.base05};
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
#tags button.occupied {
|
||||
box-shadow: inset 0 -3px #${config.colorScheme.colors.base05};
|
||||
}
|
||||
|
||||
#tags button.focused {
|
||||
background-color: #${config.colorScheme.colors.base04};
|
||||
box-shadow: inset 0 -3px #${config.colorScheme.colors.base05};
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
#tags button.urgent {
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
Loading…
Reference in a new issue