Dotfiles managed with Nix
0
fork

Configure Feed

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

feat: add rio config and refactor dotfiles to use flakeDirectory symlinks

+464 -2
+381
config/rio/config.toml
··· 1 + 2 + 3 + # Hide the cursor while typing 4 + # 5 + # Default is `false` 6 + # 7 + hide-cursor-when-typing = true 8 + 9 + # Ignore theme selection foreground color 10 + # 11 + # Default is false 12 + # 13 + # Example: 14 + # ignore-selection-foreground-color = false 15 + 16 + # Theme 17 + # 18 + # It makes Rio look for the specified theme in the themes folder 19 + # (macos: ~/.config/rio/themes/dracula.toml) 20 + # (linux: $XDG_HOME_CONFIG/rio/themes/dracula.toml or ~/.config/rio/themes/dracula.toml) 21 + # (windows: C:\Users\USER\AppData\Local\rio\themes\dracula.toml) 22 + # 23 + # Example: 24 + theme = "umbraline" 25 + 26 + # Padding-x 27 + # 28 + # define x axis padding (default is 0) 29 + # 30 + # Example: 31 + # padding-x = 10 32 + 33 + # Padding-y 34 + # 35 + # define y axis padding based on a format [top, bottom] 36 + # (default is [0, 0]) 37 + # 38 + # Example: 39 + # padding-y = [30, 10] 40 + 41 + # Option as Alt 42 + # 43 + # This config only works on MacOS. 44 + # Possible choices: 'both', 'left' and 'right'. 45 + # 46 + # Example: 47 + # option-as-alt = 'left' 48 + 49 + # Line height 50 + # 51 + # This option will apply an modifier to line-height 52 + # Default is `1.0` 53 + # 54 + # Example: 55 + # line-height = 1.2 56 + 57 + # Startup directory 58 + # 59 + # Directory the shell is started in. If this is unset the working 60 + # directory of the parent process will be used. 61 + # 62 + # This configuration only has effect if use-fork is disabled. 63 + # 64 + # Example: 65 + # working-dir = "/Users/raphael/Documents/" 66 + 67 + # Environment variables 68 + # 69 + # Example: 70 + # env-vars = [] 71 + 72 + # Use fork 73 + # 74 + # Defaults for POSIX-based systems (Windows is not configurable): 75 + # MacOS: spawn processes 76 + # Linux/BSD: fork processes 77 + # 78 + # Example: 79 + # use-fork = false 80 + 81 + # Confirm before exiting Rio 82 + # Default is `true` 83 + # 84 + # confirm-before-quit = false 85 + 86 + # Cursor 87 + # 88 + # shape - Default cursor shape is 'block' 89 + # Other available options are: 'underline', 'beam' or 'hidden' 90 + # 91 + # blinking - Whether the cursor blinks. The default is false 92 + # 93 + # blinking-interval - Cursor update on milliseconds interval 94 + # 95 + [cursor] 96 + # shape = 'block' 97 + blinking = true 98 + blinking-interval = 800 99 + 100 + # Editor 101 + # 102 + # Default editor on Linux and MacOS is "vi", 103 + # on Windows it is "notepad". 104 + # 105 + # Whenever the key binding `OpenConfigEditor` is triggered it will 106 + # use the value of the editor along with the rio configuration path. 107 + [editor] 108 + program = "nvim" 109 + args = [] 110 + 111 + # Window configuration 112 + # 113 + # • width - define the initial window width. 114 + # Default: 600 115 + # 116 + # • height - define the initial window height. 117 + # Default: 400 118 + # 119 + # • mode - define how the window will be created 120 + # - "Windowed" (default) is based on width and height 121 + # - "Maximized" window is created with maximized 122 + # - "Fullscreen" window is created with fullscreen 123 + # 124 + # • opacity - Set window opacity 125 + # 126 + # • blur - Set blur on the window background. Changing this config requires restarting Rio to take effect. 127 + # 128 + # • decorations - Set window decorations, options: "Enabled", "Disabled", "Transparent", "Buttonless" 129 + # 130 + # • colorspace - Set the color space for the window 131 + # - "srgb" (default on non-macOS) 132 + # - "display-p3" (default on macOS) 133 + # - "rec2020" 134 + # 135 + # Example: 136 + [window] 137 + opacity = 0.9 138 + blur = false 139 + decorations = "disabled" 140 + # width = 600 141 + # height = 400 142 + # mode = "windowed" 143 + # colorspace = "display-p3" 144 + 145 + # Renderer 146 + # 147 + # • Performance: Set WGPU rendering performance 148 + # - High: Adapter that has the highest performance. This is often a discrete GPU. 149 + # - Low: Adapter that uses the least possible power. This is often an integrated GPU. 150 + # 151 + # • Backend: Set WGPU rendering backend 152 + # - Automatic: Leave Sugarloaf/WGPU to decide 153 + # - GL: Supported on Linux/Android, and Windows and macOS/iOS via ANGLE 154 + # - Vulkan: Supported on Windows, Linux/Android 155 + # - DX12: Supported on Windows 10 156 + # - Metal: Supported on macOS/iOS 157 + # 158 + # • disable-unfocused-render: This property disable renderer processes while Rio is unfocused. 159 + # 160 + # • level: Configure renderer level 161 + # - Available options: 0 and 1. 162 + # Higher the level more rendering features and computations 163 + # will be done like enable font ligatures or emoji support. 164 + # For more information please check the docs. 165 + # 166 + # • filters: A list of paths to RetroArch slang shaders. Might not work with OpenGL. 167 + # 168 + # Example: 169 + # [renderer] 170 + # performance = "high" 171 + # backend = "automatic" 172 + # disable-unfocused-render = false 173 + # level = 1 174 + # filters = [] 175 + 176 + # Keyboard 177 + # 178 + # use-kitty-keyboard-protocol - Enable Kitty Keyboard protocol 179 + # 180 + # disable-ctlseqs-alt - Disable ctlseqs with ALT keys 181 + # - For example: Terminal.app does not deal with ctlseqs with ALT keys 182 + # 183 + # ime-cursor-positioning - Enable IME cursor positioning 184 + # - When enabled, the IME input popup will appear at the cursor position 185 + # - Default is true 186 + # 187 + # Example: 188 + [keyboard] 189 + use-kitty-keyboard-protocol = true 190 + # disable-ctlseqs-alt = false 191 + # ime-cursor-positioning = true 192 + 193 + # Fonts 194 + # 195 + # Configure fonts used by the terminal 196 + # 197 + # Note: You can set different font families but Rio terminal 198 + # will always look for regular font bounds whene 199 + # 200 + # You can also set family on root to overwrite all fonts. 201 + [fonts] 202 + family = "Terminess Nerd Font Mono" 203 + size = 20 204 + # 205 + # You can also specify extra fonts to load 206 + # [fonts] 207 + # extras = [{ family = "Microsoft JhengHei" }] 208 + # 209 + # In case you want to specify any font feature: 210 + # [fonts] 211 + # features = ["ss02", "ss03", "ss05", "ss19"] 212 + # 213 + # Note: Font features do not have support to live reload on configuration, 214 + # so to reflect your changes, you will need to close and reopen Rio. 215 + # 216 + # You can also disable font hinting. Font hinting is enabled by default. 217 + # [fonts] 218 + # hinting = false 219 + # 220 + # You can also map the specified Unicode codepoints to a particular font. 221 + # [fonts] 222 + # symbol-map = [ 223 + # { start = "2297", end = "2299", font-family = "Cascadia Code NF" } 224 + # ] 225 + # 226 + # Simple example: 227 + # [fonts] 228 + # size = 18 229 + # 230 + # [fonts.regular] 231 + # family = "cascadiamono" 232 + # style = "Normal" 233 + # weight = 400 234 + # 235 + # [fonts.bold] 236 + # family = "cascadiamono" 237 + # style = "Normal" 238 + # weight = 800 239 + # 240 + # [fonts.italic] 241 + # family = "cascadiamono" 242 + # style = "Italic" 243 + # weight = 400 244 + # 245 + # [fonts.bold-italic] 246 + # family = "cascadiamono" 247 + # style = "Italic" 248 + # weight = 800 249 + 250 + # Scroll 251 + # 252 + # You can change how many lines are scrolled each time by setting this option. 253 + # 254 + # Scroll calculation for canonical mode will be based on `lines = (accumulated scroll * multiplier / divider)`, 255 + # If you want a quicker scroll, keep increasing the multiplier. 256 + # If you want to reduce scroll speed you will need to increase the divider. 257 + # You can use both properties also to find the best scroll for you. 258 + # 259 + # Multiplier default is 3.0. 260 + # Divider default is 1.0. 261 + # Example: 262 + # [scroll] 263 + # multiplier = 3.0 264 + # divider = 1.0 265 + 266 + # Navigation 267 + # 268 + # "mode" - Define navigation mode 269 + # • NativeTab (MacOS only) 270 + # • Bookmark 271 + # • BottomTab 272 + # • TopTab 273 + # • Plain 274 + # 275 + # "hide-if-single" - Hide navigation UI if is single. 276 + # "clickable" - Enable click on tabs to switch. 277 + # "use-current-path" - Use same path whenever a new tab is created (Note: requires `use-fork` to be set to false). 278 + # "color-automation" - Set a specific color for the tab whenever a specific program is running, or in a specific directory. 279 + # 280 + # Example: 281 + # [navigation] 282 + # mode = "bookmark" 283 + # clickable = false 284 + # hide-if-single = true 285 + # use-current-path = false 286 + # color-automation = [] 287 + 288 + # Shell 289 + # 290 + # You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`. 291 + # Entries in `shell.args` are passed unmodified as arguments to the shell. 292 + # 293 + # Default: 294 + # - (macOS) user login shell 295 + # - (Linux/BSD) user login shell 296 + # - (Windows) powershell 297 + # 298 + # Example 1 using fish shell from bin path: 299 + # 300 + # [shell] 301 + # program = "/bin/fish" 302 + # args = ["--login"] 303 + # 304 + # Example 2 for Windows using powershell 305 + # 306 + # [shell] 307 + # program = "pwsh" 308 + # args = [] 309 + # 310 + # Example 3 for Windows using powershell with login 311 + # 312 + # [shell] 313 + # program = "pwsh" 314 + # args = ["-l"] 315 + # 316 + # Example 4 for MacOS with tmux installed by homebrew 317 + # 318 + # [shell] 319 + # program = "/opt/homebrew/bin/tmux" 320 + # args = ["new-session", "-c", "/var/www"] 321 + 322 + # Colors 323 + # 324 + # Colors definition will overwrite any property in theme 325 + # (considering if theme folder does exists and is being used) 326 + # 327 + # Example: 328 + # [colors] 329 + # background = '#0F0D0E' 330 + # foreground = '#F9F4DA' 331 + # cursor = '#F38BA3' 332 + # tabs = '#443d40' 333 + # tabs-active = '#F38BA3' 334 + # green = '#0BA95B' 335 + # red = '#ED203D' 336 + # blue = '#12B5E5' 337 + # yellow = '#FCBA28' 338 + 339 + # Bindings 340 + # 341 + # Create custom Key bindings for Rio terminal 342 + # More information in: https://raphamorim.io/rio/docs/key-bindings 343 + # 344 + # Example: 345 + # [bindings] 346 + # keys = [ 347 + # { key = "q", with = "super", action = "Quit" }, 348 + # # Bytes[27, 91, 53, 126] is equivalent to "\x1b[5~" 349 + # { key = "home", with = "super | shift", bytes = [27, 91, 53, 126] } 350 + # ] 351 + 352 + # Platform 353 + # 354 + # Rio now allows you to have different configurations per OS 355 + # You can write ovewrite properties like `Shell`, `Navigation` 356 + # and `Window`. 357 + # 358 + # Example: 359 + # [shell] 360 + # # default (in this case will be used only on MacOS) 361 + # program = "/bin/fish" 362 + # args = ["--login"] 363 + # 364 + # [platform] 365 + # # Microsoft Windows overwrite 366 + # windows.shell.program = "pwsh" 367 + # windows.shell.args = ["-l"] 368 + # 369 + # # Linux overwrite 370 + # linux.shell.program = "tmux" 371 + # linux.shell.args = ["new-session", "-c", "/var/www"] 372 + 373 + # Log level 374 + # 375 + # This property enables log level filter and file. The default level is "OFF" and the logs are not logged to a file as default. 376 + # 377 + # Example: 378 + # [developer] 379 + # log-level = "OFF" 380 + # enable-log-file = false 381 +
+10
config/rio/themes/gruber-darker.toml
··· 1 + [colors] 2 + background = '#181818' 3 + foreground = '#E4E4E4' 4 + cursor = '#FFDD33' 5 + tabs = '#95A99F' 6 + tabs-active = '#E4E4E4' 7 + green = '#73D936' 8 + red = '#F43841' 9 + blue = '#96A6C8' 10 + yellow = '#FFDD33'
+56
config/rio/themes/umbraline.toml
··· 1 + # ~/.config/rio/themes/lacklite.toml 2 + 3 + [colors] 4 + background = "#191c23" 5 + foreground = "#c0c9d6" 6 + 7 + # Selection 8 + selection-background = "#2b303a" 9 + selection-foreground = "#c0c9d6" 10 + 11 + # Navigation 12 + tabs-active = "#353b47" 13 + tabs-active-foreground = "#c0c9d6" 14 + tabs-active-highlight = "#c9a45f" 15 + bar = "#22262f" 16 + cursor = "#e5ecef" 17 + vi-cursor = "#c9a45f" 18 + 19 + # Search 20 + search-match-background = "#403a30" 21 + search-match-foreground = "#000000" 22 + search-focused-match-background = "#3e2930" 23 + search-focused-match-foreground = "#000000" 24 + 25 + # Regular colors 26 + black = "#191c23" 27 + blue = "#7c8aa3" # lack (cool neutral) 28 + cyan = "#859a86" # lack + green mix (teal-ish neutral) 29 + green = "#8eab6a" # strings / OK 30 + magenta = "#9b9488" # desaturated violet-gray (neutral-ish) 31 + red = "#c3555f" # errors 32 + tabs = "#2b303b" # tab bar background 33 + white = "#cfd6df" 34 + yellow = "#c9a45f" 35 + 36 + # Dim colors 37 + dim-black = "#111319" 38 + dim-blue = "#3c4250" 39 + dim-cyan = "#3f4846" 40 + dim-foreground = "#858e9c" 41 + dim-green = "#424e3c" 42 + dim-magenta = "#464646" 43 + dim-red = "#543038" 44 + dim-white = "#a7afbb" 45 + dim-yellow = "#574c38" 46 + 47 + # Light colors 48 + light-black = "#6b6b6b" 49 + light-blue = "#c0cad4" 50 + light-cyan = "#c3cfca" 51 + light-foreground = "#cfd6df" 52 + light-green = "#c7d5c0" 53 + light-magenta = "#d6d2ce" 54 + light-red = "#d9b7bd" 55 + light-white = "#e5ecef" 56 + light-yellow = "#dbd3bd"
+7 -2
flake.nix
··· 118 118 # as options. 119 119 home-manager.extraSpecialArgs = { 120 120 inherit inputs; 121 + inherit (host) flakeDirectory; 121 122 }; 122 123 home-manager.users.${host.username} = mkHomeModule host; 123 124 } ··· 125 126 }; 126 127 in { 127 128 # Export only Darwin hosts as nix-darwin configurations. 128 - darwinConfigurations = lib.mapAttrs mkDarwin (lib.filterAttrs (_: host: isDarwin host) hosts); 129 + darwinConfigurations = lib.mapAttrs 130 + mkDarwin 131 + (lib.filterAttrs (_: host: isDarwin host) hosts); 129 132 130 133 # Export only non-Darwin hosts as standalone Home Manager configs. 131 - homeConfigurations = lib.mapAttrs mkHome (lib.filterAttrs (_: host: !isDarwin host) hosts); 134 + homeConfigurations = lib.mapAttrs 135 + mkHome 136 + (lib.filterAttrs (_: host: !isDarwin host) hosts); 132 137 }; 133 138 }
+5
home/default.nix
··· 1 1 { lib, pkgs, inputs, ... }: 2 2 3 3 { 4 + imports = [ ./dotfiles.nix ]; 5 + 4 6 home.packages = 5 7 import ./packages/shared.nix { 6 8 inherit pkgs inputs; 7 9 } 10 + # concatenation, only if isDarwin 8 11 ++ lib.optionals pkgs.stdenv.isDarwin (import ./packages/darwin.nix { 9 12 inherit pkgs; 10 13 }); 14 + 15 + xdg.enable = true; 11 16 12 17 targets.genericLinux.enable = pkgs.stdenv.isLinux; 13 18
+5
home/dotfiles.nix
··· 1 + { config, flakeDirectory, ... }: 2 + 3 + { 4 + home.file.".config/rio".source = config.lib.file.mkOutOfStoreSymlink "${flakeDirectory}/config/rio"; 5 + }