Added xwayland, swaylock configuration, waybar configuration, and river configuration. Moved some wayland packages from environment to user installation.
This commit is contained in:
parent
cc20358391
commit
c17465ed1e
@ -18,72 +18,58 @@ riverctl spawn "mako"
|
|||||||
riverctl border-color-focused 0xbd93f9
|
riverctl border-color-focused 0xbd93f9
|
||||||
riverctl border-color-unfocused 0x282a36
|
riverctl border-color-unfocused 0x282a36
|
||||||
|
|
||||||
# Note: the "Super" modifier is also known as Logo, GUI, Windows, Mod4, etc.
|
# Launch Shortcuts
|
||||||
|
riverctl map normal Super Return spawn "foot iitmux"
|
||||||
# Super+Shift+Return to start an instance of foot (https://codeberg.org/dnkl/foot)
|
riverctl map normal Super+Shift Return spawn "foot"
|
||||||
riverctl map normal Super+Shift Return spawn "foot iitmux"
|
|
||||||
riverctl map normal Super Space spawn "iiwmenu"
|
riverctl map normal Super Space spawn "iiwmenu"
|
||||||
|
|
||||||
# Super+Q to close the focused view
|
# Focus Controls
|
||||||
riverctl map normal Super Q close
|
riverctl map normal Super H focus-view previous
|
||||||
|
|
||||||
# Super+Shift+E to exit river
|
|
||||||
riverctl map normal Super+Shift Q exit
|
|
||||||
|
|
||||||
# Super+J and Super+K to focus the next/previous view in the layout stack
|
|
||||||
riverctl map normal Super J focus-view next
|
riverctl map normal Super J focus-view next
|
||||||
riverctl map normal Super K focus-view previous
|
riverctl map normal Super K focus-view previous
|
||||||
|
riverctl map normal Super L focus-view next
|
||||||
|
riverctl map normal Super Bracketright focus-output next
|
||||||
|
riverctl map normal Super Bracketleft focus-output previous
|
||||||
|
|
||||||
# Super+Shift+J and Super+Shift+K to swap the focused view with the next/previous
|
# Move Controls
|
||||||
# view in the layout stack
|
riverctl map normal Super+Shift H zoom
|
||||||
riverctl map normal Super+Shift J swap next
|
riverctl map normal Super+Shift J swap next
|
||||||
riverctl map normal Super+Shift K swap previous
|
riverctl map normal Super+Shift K swap previous
|
||||||
|
riverctl map normal Super+Shift L swap next
|
||||||
|
riverctl map normal Super+Shift Bracketleft send-to-output previous
|
||||||
|
riverctl map normal Super+Shift Bracketright send-to-output next
|
||||||
|
|
||||||
# Super+Period and Super+Comma to focus the next/previous output
|
# Layout Controls
|
||||||
riverctl map normal Super Tab focus-output next
|
riverctl map normal Super+Alt H send-layout-cmd rivertile "main-ratio -0.05"
|
||||||
riverctl map normal Super+Shift Tab focus-output previous
|
riverctl map normal Super+Alt L send-layout-cmd rivertile "main-ratio +0.05"
|
||||||
|
riverctl map normal Super I send-layout-cmd rivertile "main-count +1"
|
||||||
|
riverctl map normal Super D send-layout-cmd rivertile "main-count -1"
|
||||||
|
riverctl map normal Super Up send-layout-cmd rivertile "main-location top"
|
||||||
|
riverctl map normal Super Right send-layout-cmd rivertile "main-location right"
|
||||||
|
riverctl map normal Super Down send-layout-cmd rivertile "main-location bottom"
|
||||||
|
riverctl map normal Super Left send-layout-cmd rivertile "main-location left"
|
||||||
|
|
||||||
# Super+Shift+{Period,Comma} to send the focused view to the next/previous output
|
# Floating Controls
|
||||||
riverctl map normal Super+Shift Period send-to-output next
|
riverctl map normal Super+Shift F toggle-float
|
||||||
riverctl map normal Super+Shift Comma send-to-output previous
|
riverctl map normal Super+Control H move left 100
|
||||||
|
riverctl map normal Super+Control J move down 100
|
||||||
# Super+Return to bump the focused view to the top of the layout stack
|
riverctl map normal Super+Control K move up 100
|
||||||
riverctl map normal Super Return zoom
|
riverctl map normal Super+Control L move right 100
|
||||||
|
riverctl map normal Super+Shift+Control H snap left
|
||||||
# Super+H and Super+L to decrease/increase the main ratio of rivertile(1)
|
riverctl map normal Super+Shift+Control J snap down
|
||||||
riverctl map normal Super H send-layout-cmd rivertile "main-ratio -0.05"
|
riverctl map normal Super+Shift+Control K snap up
|
||||||
riverctl map normal Super L send-layout-cmd rivertile "main-ratio +0.05"
|
riverctl map normal Super+Shift+Control L snap right
|
||||||
|
|
||||||
# Super+Shift+H and Super+Shift+L to increment/decrement the main count of rivertile(1)
|
|
||||||
riverctl map normal Super+Shift H send-layout-cmd rivertile "main-count +1"
|
|
||||||
riverctl map normal Super+Shift L send-layout-cmd rivertile "main-count -1"
|
|
||||||
|
|
||||||
# Super+Alt+{H,J,K,L} to move views
|
|
||||||
riverctl map normal Super+Alt H move left 100
|
|
||||||
riverctl map normal Super+Alt J move down 100
|
|
||||||
riverctl map normal Super+Alt K move up 100
|
|
||||||
riverctl map normal Super+Alt L move right 100
|
|
||||||
|
|
||||||
# Super+Alt+Control+{H,J,K,L} to snap views to screen edges
|
|
||||||
riverctl map normal Super+Alt+Control H snap left
|
|
||||||
riverctl map normal Super+Alt+Control J snap down
|
|
||||||
riverctl map normal Super+Alt+Control K snap up
|
|
||||||
riverctl map normal Super+Alt+Control L snap right
|
|
||||||
|
|
||||||
# Super+Alt+Shift+{H,J,K,L} to resize views
|
|
||||||
riverctl map normal Super+Alt+Shift H resize horizontal -100
|
riverctl map normal Super+Alt+Shift H resize horizontal -100
|
||||||
riverctl map normal Super+Alt+Shift J resize vertical 100
|
riverctl map normal Super+Alt+Shift J resize vertical 100
|
||||||
riverctl map normal Super+Alt+Shift K resize vertical -100
|
riverctl map normal Super+Alt+Shift K resize vertical -100
|
||||||
riverctl map normal Super+Alt+Shift L resize horizontal 100
|
riverctl map normal Super+Alt+Shift L resize horizontal 100
|
||||||
|
|
||||||
# Super + Left Mouse Button to move views
|
|
||||||
riverctl map-pointer normal Super BTN_LEFT move-view
|
riverctl map-pointer normal Super BTN_LEFT move-view
|
||||||
|
|
||||||
# Super + Right Mouse Button to resize views
|
|
||||||
riverctl map-pointer normal Super BTN_RIGHT resize-view
|
riverctl map-pointer normal Super BTN_RIGHT resize-view
|
||||||
|
|
||||||
# Super + Middle Mouse Button to toggle float
|
# Close focused view
|
||||||
riverctl map-pointer normal Super BTN_MIDDLE toggle-float
|
riverctl map normal Super Q close
|
||||||
|
# Exit River
|
||||||
|
riverctl map normal Super+Shift Q exit
|
||||||
|
|
||||||
for i in $(seq 1 9)
|
for i in $(seq 1 9)
|
||||||
do
|
do
|
||||||
@ -102,23 +88,18 @@ do
|
|||||||
riverctl map normal Super+Shift+Control $i toggle-view-tags $tags
|
riverctl map normal Super+Shift+Control $i toggle-view-tags $tags
|
||||||
done
|
done
|
||||||
|
|
||||||
|
riverctl map normal Super Tab focus-previous-tags
|
||||||
|
riverctl map normal Super+Shift Tab send-to-previous-tags
|
||||||
|
|
||||||
# Super+0 to focus all tags
|
# Super+0 to focus all tags
|
||||||
# Super+Shift+0 to tag focused view with all tags
|
# Super+Shift+0 to tag focused view with all tags
|
||||||
all_tags=$(((1 << 32) - 1))
|
all_tags=$(((1 << 32) - 1))
|
||||||
riverctl map normal Super 0 set-focused-tags $all_tags
|
riverctl map normal Super 0 set-focused-tags $all_tags
|
||||||
riverctl map normal Super+Shift 0 set-view-tags $all_tags
|
riverctl map normal Super+Shift 0 set-view-tags $all_tags
|
||||||
|
|
||||||
# Super+Space to toggle float
|
# Toggle fullscreen
|
||||||
riverctl map normal Super+Shift Space toggle-float
|
|
||||||
|
|
||||||
# Super+F to toggle fullscreen
|
|
||||||
riverctl map normal Super F toggle-fullscreen
|
riverctl map normal Super F toggle-fullscreen
|
||||||
|
riverctl map normal None F11 toggle-fullscreen
|
||||||
# Super+{Up,Right,Down,Left} to change layout orientation
|
|
||||||
riverctl map normal Super Up send-layout-cmd rivertile "main-location top"
|
|
||||||
riverctl map normal Super Right send-layout-cmd rivertile "main-location right"
|
|
||||||
riverctl map normal Super Down send-layout-cmd rivertile "main-location bottom"
|
|
||||||
riverctl map normal Super Left send-layout-cmd rivertile "main-location left"
|
|
||||||
|
|
||||||
# Declare a passthrough mode. This mode has only a single mapping to return to
|
# Declare a passthrough mode. This mode has only a single mapping to return to
|
||||||
# normal mode. This makes it useful for testing a nested wayland compositor
|
# normal mode. This makes it useful for testing a nested wayland compositor
|
||||||
@ -134,7 +115,6 @@ riverctl map passthrough Super F11 enter-mode normal
|
|||||||
# not have a modifier
|
# not have a modifier
|
||||||
for mode in normal locked
|
for mode in normal locked
|
||||||
do
|
do
|
||||||
# Eject the optical drive (well if you still have one that is)
|
|
||||||
riverctl map $mode None XF86Eject spawn 'eject -T'
|
riverctl map $mode None XF86Eject spawn 'eject -T'
|
||||||
|
|
||||||
# Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer)
|
# Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer)
|
||||||
@ -162,7 +142,11 @@ riverctl rule-add -app-id 'float*' -title 'foo' float
|
|||||||
# Make all views with app-id "bar" and any title use client-side decorations
|
# Make all views with app-id "bar" and any title use client-side decorations
|
||||||
riverctl rule-add -app-id "bar" csd
|
riverctl rule-add -app-id "bar" csd
|
||||||
|
|
||||||
# Set the default layout generator to be rivertile and start it.
|
# Global Configuration Settings
|
||||||
# River will send the process group of the init executable SIGTERM on exit.
|
|
||||||
riverctl default-layout rivertile
|
riverctl default-layout rivertile
|
||||||
rivertile -view-padding 10 -outer-padding 10 &
|
rivertile -view-padding 10 -outer-padding 10 &
|
||||||
|
riverctl attach-mode bottom
|
||||||
|
riverctl hide-cursor timeout 10000
|
||||||
|
riverctl hide-cursor when-typing enabled
|
||||||
|
riverctl set-cursor-warp on-focus-change
|
||||||
|
riverctl focus-follows-cursor always
|
||||||
|
28
home-manager/dots/swaylock/config
Normal file
28
home-manager/dots/swaylock/config
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
color=282a36
|
||||||
|
inside-color=1F202A
|
||||||
|
line-color=1F202A
|
||||||
|
ring-color=bd93f9
|
||||||
|
text-color=f8f8f2
|
||||||
|
|
||||||
|
layout-bg-color=1F202A
|
||||||
|
layout-text-color=f8f8f2
|
||||||
|
|
||||||
|
inside-clear-color=6272a4
|
||||||
|
line-clear-color=1F202A
|
||||||
|
ring-clear-color=6272a4
|
||||||
|
text-clear-color=1F202A
|
||||||
|
|
||||||
|
inside-ver-color=bd93f9
|
||||||
|
line-ver-color=1F202A
|
||||||
|
ring-ver-color=bd93f9
|
||||||
|
text-ver-color=1F202A
|
||||||
|
|
||||||
|
inside-wrong-color=ff5555
|
||||||
|
line-wrong-color=1F202A
|
||||||
|
ring-wrong-color=ff5555
|
||||||
|
text-wrong-color=1F202A
|
||||||
|
|
||||||
|
bs-hl-color=ff5555
|
||||||
|
key-hl-color=50fa7b
|
||||||
|
|
||||||
|
text-caps-lock-color=f8f8f2
|
@ -1,28 +1,24 @@
|
|||||||
{
|
{
|
||||||
"layer": "top",
|
"layer": "bottom",
|
||||||
"position": "top",
|
"position": "top",
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"spacing": 8,
|
"spacing": 8,
|
||||||
"modules-left": [
|
"modules-left": [
|
||||||
"river/tags",
|
"river/tags",
|
||||||
"river/mode",
|
"river/mode"
|
||||||
"clock",
|
|
||||||
"custom/weather"
|
|
||||||
],
|
],
|
||||||
"modules-center": ["river/window"],
|
"modules-center": [
|
||||||
|
"river/window"
|
||||||
|
],
|
||||||
"modules-right": [
|
"modules-right": [
|
||||||
"wlr/taskbar",
|
"wlr/taskbar",
|
||||||
"tray"
|
"tray",
|
||||||
|
"custom/weather",
|
||||||
|
"clock",
|
||||||
],
|
],
|
||||||
"river/tags": {
|
"river/tags": {
|
||||||
"num-tags": 4,
|
"num-tags": 9,
|
||||||
"set-tags": [
|
"tag-labels": ["1","2","3","4","5","6","7","8","9"]
|
||||||
2147483649,
|
|
||||||
2147483650,
|
|
||||||
2147483652,
|
|
||||||
2147483656,
|
|
||||||
2147483664
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"wlr/taskbar": {
|
"wlr/taskbar": {
|
||||||
"on-click": "activate",
|
"on-click": "activate",
|
||||||
|
@ -33,5 +33,5 @@ window#waybar {
|
|||||||
}
|
}
|
||||||
#clock {
|
#clock {
|
||||||
padding: 0 4px;
|
padding: 0 4px;
|
||||||
background: @background;
|
background: @comment;
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,11 @@
|
|||||||
target = "river";
|
target = "river";
|
||||||
recursive = true;
|
recursive = true;
|
||||||
};
|
};
|
||||||
|
"swaylock" = {
|
||||||
|
source = ./dots/swaylock;
|
||||||
|
target = "swaylock";
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
"waybar" = {
|
"waybar" = {
|
||||||
source = ./dots/waybar;
|
source = ./dots/waybar;
|
||||||
target = "waybar";
|
target = "waybar";
|
||||||
|
@ -35,26 +35,26 @@
|
|||||||
river = {
|
river = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
};
|
xwayland = {
|
||||||
security.pam.services.swaylock = {
|
enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
users.users.${user.name}.packages = with pkgs; [
|
users.users.${user.name}.packages = with pkgs; [
|
||||||
|
bemoji
|
||||||
|
cliphist
|
||||||
|
grimblast
|
||||||
imv
|
imv
|
||||||
|
swww
|
||||||
|
tessen
|
||||||
|
wl-clipboard
|
||||||
];
|
];
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
bemenu
|
bemenu
|
||||||
bemoji
|
|
||||||
cliphist
|
|
||||||
foot
|
foot
|
||||||
grimblast
|
|
||||||
hyprpicker
|
|
||||||
mako
|
mako
|
||||||
swaylock
|
swaylock
|
||||||
swww
|
|
||||||
tessen
|
|
||||||
waybar
|
waybar
|
||||||
way-displays
|
way-displays
|
||||||
wl-clipboard
|
|
||||||
wtype
|
wtype
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
44
todo.md
44
todo.md
@ -1,16 +1,44 @@
|
|||||||
- [ ] Create additional host configurations
|
- [ ] Create additional host configurations
|
||||||
- [ ] Implement the Impermanence module
|
- [ ] Implement the Impermanence module
|
||||||
* [Erase your darlings](https://grahamc.com/blog/erase-your-darlings/)
|
- [Erase your darlings](https://grahamc.com/blog/erase-your-darlings/)
|
||||||
* [tmpfs as home](https://elis.nu/blog/2020/06/nixos-tmpfs-as-home/)
|
- [tmpfs as home](https://elis.nu/blog/2020/06/nixos-tmpfs-as-home/)
|
||||||
* [tmpfs as root](https://elis.nu/blog/2020/05/nixos-tmpfs-as-root/)
|
- [tmpfs as root](https://elis.nu/blog/2020/05/nixos-tmpfs-as-root/)
|
||||||
* [Impermanence - NixOS Wiki](https://nixos.wiki/wiki/Impermanence)
|
- [Impermanence - NixOS Wiki](https://nixos.wiki/wiki/Impermanence)
|
||||||
- [ ] Implement [Agenix](https://nixos.wiki/wiki/Agenix) or Sopsnix
|
- [ ] Implement [Agenix](https://nixos.wiki/wiki/Agenix) or Sopsnix
|
||||||
* [Agenix Git Repo](https://github.com/ryantm/agenix)
|
- [Agenix Git Repo](https://github.com/ryantm/agenix)
|
||||||
* [Homeage Git Repo](https://github.com/jordanisaacs/homeage)
|
- [Homeage Git Repo](https://github.com/jordanisaacs/homeage)
|
||||||
* [Handling Secrets in NixOS](https://lgug2z.com/articles/handling-secrets-in-nixos-an-overview/)
|
- [Handling Secrets in NixOS](https://lgug2z.com/articles/handling-secrets-in-nixos-an-overview/)
|
||||||
* [NixOS Secrets Management](https://onion.tube/watch?v=G5f6GC7SnhU)
|
- [NixOS Secrets Management](https://onion.tube/watch?v=G5f6GC7SnhU)
|
||||||
- [ ] Implement [Stylix](https://danth.github.io/stylix/)
|
- [ ] Implement [Stylix](https://danth.github.io/stylix/)
|
||||||
- [ ] Implement [MicroVM.nix](https://github.com/astro/microvm.nix)
|
- [ ] Implement [MicroVM.nix](https://github.com/astro/microvm.nix)
|
||||||
- [ ] Figure out urlview and yank conflict with tmux plugins
|
- [ ] Figure out urlview and yank conflict with tmux plugins
|
||||||
- [ ] Implement [Nix-Colors](https://youtube.com/watch?v=jO2o0IN0LPE)
|
- [ ] Implement [Nix-Colors](https://youtube.com/watch?v=jO2o0IN0LPE)
|
||||||
- [ ] Fix autoupdate with remote flake repo
|
- [ ] Fix autoupdate with remote flake repo
|
||||||
|
- [ ] Wayland monitors swap positions after turning off and turning back on
|
||||||
|
- [ ] GPG unlock prompt not happening on Wayland anymore
|
||||||
|
|
||||||
|
|
||||||
|
https://github.com/alex-courtis/way-displays
|
||||||
|
|
||||||
|
Configure
|
||||||
|
|
||||||
|
Restart the compositor and run way-displays -g or look at /tmp/way-displays.1.me.log.
|
||||||
|
|
||||||
|
Tweak cfg.yaml to your liking and save it. Changes will be immediately applied.
|
||||||
|
|
||||||
|
Alternatively, use the command line to make your changes then persist them with way-displays -w.
|
||||||
|
|
||||||
|
You might want to tail -f /tmp/way-displays.1.me.log whilst you are tweaking.
|
||||||
|
Usage
|
||||||
|
|
||||||
|
See Configuration for details on cfg.yaml and the command line.
|
||||||
|
|
||||||
|
Start the way-displays server by running once with no arguments after your wayland compositor has been started.
|
||||||
|
|
||||||
|
It will remain in the background, responding to changes, such as plugging in a display, and will terminate when you exit the compositor.
|
||||||
|
|
||||||
|
It will print messages to inform you of everything that is going on.
|
||||||
|
|
||||||
|
You can interact with the server via the command line
|
||||||
|
|
||||||
|
The server responds to IPC requests to fetch and mutate state.
|
||||||
|
24
way-displays
24
way-displays
@ -1,24 +0,0 @@
|
|||||||
https://github.com/alex-courtis/way-displays
|
|
||||||
|
|
||||||
Configure
|
|
||||||
|
|
||||||
Restart the compositor and run way-displays -g or look at /tmp/way-displays.1.me.log.
|
|
||||||
|
|
||||||
Tweak cfg.yaml to your liking and save it. Changes will be immediately applied.
|
|
||||||
|
|
||||||
Alternatively, use the command line to make your changes then persist them with way-displays -w.
|
|
||||||
|
|
||||||
You might want to tail -f /tmp/way-displays.1.me.log whilst you are tweaking.
|
|
||||||
Usage
|
|
||||||
|
|
||||||
See Configuration for details on cfg.yaml and the command line.
|
|
||||||
|
|
||||||
Start the way-displays server by running once with no arguments after your wayland compositor has been started.
|
|
||||||
|
|
||||||
It will remain in the background, responding to changes, such as plugging in a display, and will terminate when you exit the compositor.
|
|
||||||
|
|
||||||
It will print messages to inform you of everything that is going on.
|
|
||||||
|
|
||||||
You can interact with the server via the command line
|
|
||||||
|
|
||||||
The server responds to IPC requests to fetch and mutate state.
|
|
Loading…
Reference in New Issue
Block a user