Void Linux workstation powered by niri, Fish and NeoVim. Contains scripts, browser extensions, custom XBPS packages, and typst plugins. git.anhgelus.world/anhgelus/dotfiles
void niri fish neovim nvim vim dotfiles linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat(config): sway

+261 -78
-35
.vimrc
··· 1 - set nocompatible " be iMproved, required 2 - filetype off " required 3 - 4 - syntax on 5 - colorscheme onedark 6 - 7 - " set the runtime path to include Vundle and initialize 8 - set rtp+=~/.vim/bundle/Vundle.vim 9 - call vundle#begin() 10 - 11 - " let Vundle manage Vundle, required 12 - Plugin 'VundleVim/Vundle.vim' 13 - 14 - " Plugins 15 - Plugin 'godlygeek/tabular' 16 - " Plugin 'preservim/vim-markdown' 17 - Plugin 'vim-pandoc/vim-pandoc' 18 - Plugin 'vim-pandoc/vim-pandoc-syntax' 19 - Plugin 'WolfgangMehner/latex-support' 20 - 21 - 22 - call vundle#end() " required 23 - filetype plugin indent on " required 24 - 25 - set number relativenumber 26 - 27 - nnoremap <C-Left> :tabprevious<CR> 28 - nnoremap <C-Right> :tabnext<CR> 29 - nnoremap <C-j> :tabprevious<CR> 30 - nnoremap <C-k> :tabnext<CR> 31 - nnoremap <C-q> :tabclose<CR> 32 - 33 - :command Ttp !pdflatex %:t 34 - 35 - set shell=/bin/bash
+1 -43
README.md
··· 1 1 # dotfiles 2 2 3 - This is my personnal dotfiles. 4 - 5 - ## Installation 6 - 7 - To install the dotfiles, follow this steps: 8 - 9 - 1. Clone the repo 10 - ```bash 11 - git clone https://github.com/anhgelus/dotfiles.git 12 - ``` 13 - 2. Go inside the new dotfiles folder 14 - 3. Run the install.sh 15 - ```bash 16 - sh install.sh 17 - ``` 18 - 4. Put your desktop wallpaper inside `~/Images/wallpapers/wallpaper.jpg` and your LightDM wallpaper inside `/usr/share/anhgelus/lightdm-wallpaper.jpg` 19 - 5. Restart and it works! 20 - 21 - 22 - ## Versioning 23 - 24 - The versioning of this repository do not follow the semver because the semver is just useless for this usage. 25 - 26 - Every tag of this repository must follow these guidelines: 27 - 1. DD[.patch]-month-YYYY 28 - 2. "[\*]" is not a required part 29 - 3. "DD" is for the day (number) 30 - 4. "path" is for the path number 31 - 5. "month" is for the month (full letters) 32 - 6. "YYYY" is for the year (number" 33 - 34 - `15.1-march-2023` is for the second version of the 03/15/2023 (MM-DD-YYYY) or 15/03/2023 (DD-MM-YYYY) 35 - 36 - ## Technologies 3 + My personnal dotfiles of my workstation powered by The Void, Sway and fish. 37 4 38 - > WM: `i3` 39 - > 40 - > Lockscreen: `LightDM` 41 - > 42 - > OS: `EndeavourOs` 43 - > 44 - > Packet Manager: `yay`, `flatpak` and `snap` 45 - > 46 - > Other: `picom jonaburg_fix` ([here](https://github.com/Arian8j2/picom-jonaburg-fix)), `polybar` and `rofi`
+260
config/sway/config
··· 1 + ### Variables 2 + # 3 + # Logo key. Use Mod1 for Alt. 4 + set $mod Mod4 5 + # Your preferred terminal emulator 6 + set $term foot 7 + # Your preferred application launcher 8 + set $menu rofi -show drun -m HDMI-A-1 9 + 10 + exec dbus-update-activation-environment DISPLAY I3SOCK SWAYSOCK WAYLAND_DISPLAY 11 + 12 + ### Output configuration 13 + # 14 + # Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) 15 + output * bg /home/anhgelus/Images/li-moly-731.jpg fill 16 + # 17 + # Example configuration: 18 + # 19 + # output HDMI-A-1 resolution 1920x1080 position 1920,0 20 + # 21 + # You can get the names of your outputs by running: swaymsg -t get_outputs 22 + output HDMI-A-1 resolution 1920x1080@144Hz position 0 0 23 + output DP-1 resolution 1920x1080@75Hz position 1920 0 24 + 25 + ### Idle configuration 26 + # 27 + # Example configuration: 28 + # 29 + # exec swayidle -w \ 30 + # timeout 300 'swaylock -f -c 000000' \ 31 + # timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ 32 + # before-sleep 'swaylock -f -c 000000' 33 + # 34 + # This will lock your screen after 300 seconds of inactivity, then turn off 35 + # your displays after another 300 seconds, and turn your screens back on when 36 + # resumed. It will also lock your screen before your computer goes to sleep. 37 + 38 + ### Input configuration 39 + 40 + input "type:keyboard" { 41 + xkb_layout "fr" 42 + xkb_variant "oss" 43 + xkb_numlock enabled 44 + } 45 + 46 + gaps inner 5 47 + gaps outer 10 48 + 49 + #smart_borders on 50 + default_border none 51 + default_border pixel 4 52 + 53 + client.focused #84A98C #84A98C #2F3E46 #52796F 54 + client.focused_inactive #2F3E46 #2F3E46 #CAD2C5 #52796F 55 + client.unfocused #2F3E46 #354F52 #CAD2C5 #52796F 56 + client.urgent #84A98C #84A98C #2F3E46 #52796F 57 + 58 + # 59 + # Example configuration: 60 + # 61 + # input "2:14:SynPS/2_Synaptics_TouchPad" { 62 + # dwt enabled 63 + # tap enabled 64 + # natural_scroll enabled 65 + # middle_emulation enabled 66 + # } 67 + # 68 + # You can get the names of your inputs by running: swaymsg -t get_inputs 69 + # Read `man 5 sway-input` for more information about this section. 70 + 71 + ### Key bindings 72 + # 73 + # Basics: 74 + # 75 + # Start a terminal 76 + bindsym $mod+Return exec $term 77 + 78 + # Kill focused window 79 + bindsym $mod+q kill 80 + 81 + # Start your launcher 82 + bindsym $mod+d exec $menu 83 + 84 + # Drag floating windows by holding down $mod and left mouse button. 85 + # Resize them with right mouse button + $mod. 86 + # Despite the name, also works for non-floating windows. 87 + # Change normal to inverse to use left mouse button for resizing and right 88 + # mouse button for dragging. 89 + floating_modifier $mod normal 90 + 91 + bindsym $mod+Shift+c reload 92 + 93 + # Exit sway (logs you out of your Wayland session) 94 + bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' 95 + # 96 + # Moving around: 97 + # 98 + # Move your focus around 99 + # Or use $mod+[up|down|left|right] 100 + bindsym $mod+Left focus left 101 + bindsym $mod+Down focus down 102 + bindsym $mod+Up focus up 103 + bindsym $mod+Right focus right 104 + 105 + # Move the focused window with the same, but add Shift 106 + # Ditto, with arrow keys 107 + bindsym $mod+Shift+Left move left 108 + bindsym $mod+Shift+Down move down 109 + bindsym $mod+Shift+Up move up 110 + bindsym $mod+Shift+Right move right 111 + # 112 + # Workspaces: 113 + # 114 + 115 + workspace 1 output HDMI-A-1 116 + workspace 2 output HDMI-A-1 117 + workspace 3 output HDMI-A-1 118 + workspace 4 output DP-1 119 + workspace 10 output DP-1 120 + # Switch to workspace 121 + bindsym $mod+ampersand workspace number 1 122 + bindsym $mod+eacute workspace number 2 123 + bindsym $mod+quotedbl workspace number 3 124 + bindsym $mod+apostrophe workspace number 4 125 + bindsym $mod+parenleft workspace number 5 126 + bindsym $mod+minus workspace number 6 127 + bindsym $mod+egrave workspace number 7 128 + bindsym $mod+underscore workspace number 8 129 + bindsym $mod+ccedilla workspace number 9 130 + bindsym $mod+agrave workspace number 10 131 + # Move focused container to workspace 132 + bindsym $mod+1 move container to workspace number 1 133 + bindsym $mod+2 move container to workspace number 2 134 + bindsym $mod+3 move container to workspace number 3 135 + bindsym $mod+4 move container to workspace number 4 136 + bindsym $mod+5 move container to workspace number 5 137 + bindsym $mod+6 move container to workspace number 6 138 + bindsym $mod+7 move container to workspace number 7 139 + bindsym $mod+8 move container to workspace number 8 140 + bindsym $mod+9 move container to workspace number 9 141 + bindsym $mod+0 move container to workspace number 10 142 + # Note: workspaces can have any name you want, not just numbers. 143 + # We just use 1-10 as the default. 144 + # 145 + # Layout stuff: 146 + # 147 + # You can "split" the current object of your focus with 148 + # $mod+b or $mod+v, for horizontal and vertical splits 149 + # respectively. 150 + bindsym $mod+h splith 151 + bindsym $mod+v splitv 152 + 153 + # Switch the current container between different layout styles 154 + bindsym $mod+s layout stacking 155 + bindsym $mod+t layout tabbed 156 + bindsym $mod+e layout toggle split 157 + 158 + # Make the current focus fullscreen 159 + bindsym $mod+f fullscreen 160 + 161 + # Toggle the current focus between tiling and floating mode 162 + bindsym $mod+Shift+space floating toggle 163 + 164 + # Swap focus between the tiling area and the floating area 165 + bindsym $mod+space focus mode_toggle 166 + 167 + # Move focus to the parent container 168 + bindsym $mod+a focus parent 169 + # 170 + # Scratchpad: 171 + # 172 + # Sway has a "scratchpad", which is a bag of holding for windows. 173 + # You can send windows there and get them back later. 174 + 175 + # Move the currently focused window to the scratchpad 176 + #bindsym $mod+Shift+minus move scratchpad 177 + 178 + # Show the next scratchpad window or hide the focused scratchpad window. 179 + # If there are multiple scratchpad windows, this command cycles through them. 180 + #bindsym $mod+minus scratchpad show 181 + # 182 + # Resizing containers: 183 + # 184 + mode "resize" { 185 + # left will shrink the containers width 186 + # right will grow the containers width 187 + # up will shrink the containers height 188 + # down will grow the containers height 189 + 190 + # Ditto, with arrow keys 191 + bindsym Left resize shrink width 10px 192 + bindsym Down resize grow height 10px 193 + bindsym Up resize shrink height 10px 194 + bindsym Right resize grow width 10px 195 + 196 + # Return to default mode 197 + bindsym Return mode "default" 198 + bindsym Escape mode "default" 199 + } 200 + bindsym $mod+r mode "resize" 201 + # 202 + # Utilities: 203 + # 204 + # Special keys to adjust volume via PulseAudio 205 + bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle 206 + bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5% 207 + bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5% 208 + bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle 209 + # Special keys to adjust brightness via brightnessctl 210 + bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- 211 + bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ 212 + # Special key to take a screenshot with grim 213 + bindsym Print exec grim -g "$(slurp -d)" - > ~/Images/Screenshots/$(date).png 214 + bindsym Shift+Print exec grim - > ~/Images/Screenshots/$(date).png 215 + bindsym $mod+Print exec grim -g "0,0 1920x1080" - > ~/Images/Screenshots/$(date).png 216 + # 217 + # Window rules 218 + # 219 + assign [class="jetbrains.*"] workspace 1 220 + assign [class="discord"] workspace 4 221 + for_window { 222 + [app_id="thunar"] focus, floating enable, resize set 1000 600 223 + [class="Thunar"] focus, floating enable, resize set 1000 600 224 + [title=".*Bitwarden.*" app_id="Firefox"] floating enable 225 + [app_id="xdg-desktop-portal-gtk"] floating enable 226 + [app_id="org.gnome.Loupe"] floating enable 227 + [app_id="mpv"] floating enable, resize set 1280 720 228 + [app_id="org.gnome.FileRoller"] floating enable 229 + 230 + [app_id="."] opacity 0.98 231 + [app_id="mpv"] opacity 1 232 + [class="discord"] opacity 1 233 + [class="Minecraft.*"] opacity 1 234 + 235 + [floating] opacity 1 236 + } 237 + 238 + # 239 + # Status Bar: 240 + # 241 + # Read `man 5 sway-bar` for more information about this section. 242 + #bar { 243 + # position top 244 + # 245 + # When the status_command prints a new line to stdout, swaybar updates. 246 + # The default just shows the current date and time. 247 + # status_command while date +'%Y-%m-%d %X'; do sleep 1; done 248 + 249 + # colors { 250 + # statusline #ffffff 251 + # background #323232 252 + # inactive_workspace #32323200 #32323200 #5c5c5c 253 + # } 254 + #} 255 + 256 + exec --no-startup-id waybar 257 + 258 + exec pipewire 259 + 260 + include /etc/sway/config.d/*