rework home.nix
This commit is contained in:
		
							parent
							
								
									f8a85b19cb
								
							
						
					
					
						commit
						4632614919
					
				
					 6 changed files with 24 additions and 33 deletions
				
			
		|  | @ -12,12 +12,14 @@ | |||
| 
 | ||||
|     # You can also split up your configuration and import pieces of it here: | ||||
| 
 | ||||
|     # User services | ||||
|     ./services/picom | ||||
| 
 | ||||
|     # User programs | ||||
|     ./programs/discord | ||||
|     ./programs/mangohud | ||||
| 
 | ||||
|     # Common programs | ||||
|     ../common/desktop | ||||
|     ../common/programs/git | ||||
|     ../common/programs/zsh | ||||
|     ../common/programs/nvim | ||||
|  | @ -63,12 +65,33 @@ | |||
|    | ||||
|     # Install some packages | ||||
|     packages = with pkgs; [ | ||||
|       # Stable user programs | ||||
|       bitwarden | ||||
|       dmenu | ||||
|       feh | ||||
|       spotify | ||||
|       prismlauncher | ||||
|       xmobar | ||||
|       # Unstable user programs | ||||
|       unstable.wezterm | ||||
|     ]; | ||||
|   }; | ||||
| 
 | ||||
|   # Setup our window manager | ||||
|   xsession.windowManager.xmonad = { | ||||
|     enable = true; | ||||
|     enableContribAndExtras = true; | ||||
|     config = ../../pkgs/xmonad-config/src/xmonad.hs; | ||||
|   }; | ||||
| 
 | ||||
|   # Copy some configuration files to $XDG_CONFIG_HOME | ||||
|   xdg.configFile = { | ||||
|     wezterm = { source = ./programs/wezterm/config; recursive = true; }; | ||||
|   }; | ||||
|    | ||||
|   # Setup our desktop environment | ||||
|   home.file.".xinitrc".source = ./xinitrc; | ||||
| 
 | ||||
|   # Nicely reload system units when changing configs | ||||
|   systemd.user.startServices = "sd-switch"; | ||||
| 
 | ||||
|  |  | |||
|  | @ -0,0 +1,36 @@ | |||
| [colors] | ||||
| background = '#1d2021' | ||||
| foreground = '#d4be98' | ||||
| selection_bg = '#d4be98' | ||||
| selection_fg = '#3c3836' | ||||
| cursor_bg = '#d4be98' | ||||
| cursor_fg = '#1d2021' | ||||
| cursor_border = '#d4be98' | ||||
| 
 | ||||
| ansi = [ | ||||
|     '#1d2021', | ||||
|     '#ea6962', | ||||
|     '#a9b665', | ||||
|     '#d8a657', | ||||
|     '#7daea3', | ||||
|     '#d3869b', | ||||
|     '#89b482', | ||||
|     '#d4be98', | ||||
| ] | ||||
| 
 | ||||
| brights = [ | ||||
|     '#7c6f64', | ||||
|     '#ea6962', | ||||
|     '#a9b665', | ||||
|     '#d8a657', | ||||
|     '#7daea3', | ||||
|     '#d3869b', | ||||
|     '#89b482', | ||||
|     '#d4be98', | ||||
| ] | ||||
| 
 | ||||
| [colors.indexed] | ||||
| 
 | ||||
| [metadata] | ||||
| name = 'gruvbox_material_dark_hard' | ||||
| origin_url = 'https://gist.github.com/theoriginalstove/89aa16316a756721816886398080dbd6' | ||||
							
								
								
									
										126
									
								
								home-manager/sajenim/programs/wezterm/config/wezterm.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										126
									
								
								home-manager/sajenim/programs/wezterm/config/wezterm.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,126 @@ | |||
| -- Pull in the wezterm API | ||||
| local wezterm = require 'wezterm' | ||||
| local act = wezterm.action | ||||
| 
 | ||||
| -- This table will hold the configuration. | ||||
| local config = {} | ||||
| 
 | ||||
| -- In newer versions of wezterm, use the config_builder which will | ||||
| -- help provide clearer error messages | ||||
| if wezterm.config_builder then | ||||
|   config = wezterm.config_builder() | ||||
| end | ||||
| 
 | ||||
| -- This function returns the suggested title for a tab. | ||||
| -- It prefers the title that was set via `tab:set_title()` | ||||
| -- or `wezterm cli set-tab-title`, but falls back to the | ||||
| -- title of the active pane in that tab. | ||||
| function tab_title(tab_info) | ||||
|   local title = tab_info.tab_title | ||||
|   -- if the tab title is explicitly set, take that | ||||
|   if title and #title > 0 then | ||||
|     return title | ||||
|   end | ||||
|   -- Otherwise, use the title from the active pane | ||||
|   -- in that tab | ||||
|   return tab_info.active_pane.title | ||||
| end | ||||
| 
 | ||||
| wezterm.on( | ||||
|   'format-tab-title', | ||||
|   function(tab, tabs, panes, config, hover, max_width) | ||||
|     local title = tab_title(tab) | ||||
|     return { { Text = ' ' .. title .. '' }, } | ||||
|   end | ||||
| ) | ||||
| 
 | ||||
| -- Do not check for or show window with update information | ||||
| config.check_for_updates = false | ||||
| config.show_update_window = false | ||||
| 
 | ||||
| --| Font Configuration | ||||
| config.font = wezterm.font 'Fira Code' | ||||
| config.font_size = 10.0 | ||||
| 
 | ||||
| --| Color scheme | ||||
| config.color_scheme = 'gruvbox_material_dark_hard' | ||||
| 
 | ||||
| --| Padding | ||||
| config.window_padding = { | ||||
|   left   = 20, | ||||
|   right  = 20, | ||||
|   top    = 20, | ||||
|   bottom = 0, | ||||
| } | ||||
| 
 | ||||
| --| Style Inactive Panes | ||||
| config.inactive_pane_hsb = { | ||||
|   saturation = 1.0, | ||||
|   brightness = 1.0, | ||||
| } | ||||
| 
 | ||||
| --| Tab Bar Appearance | ||||
| config.use_fancy_tab_bar            = false | ||||
| config.enable_tab_bar               = true | ||||
| config.hide_tab_bar_if_only_one_tab = false | ||||
| config.tab_bar_at_bottom            = false | ||||
| config.tab_max_width                = 24 | ||||
| config.show_tab_index_in_tab_bar    = false | ||||
| 
 | ||||
| --| Colors | ||||
| config.colors = { | ||||
| 
 | ||||
|   tab_bar = { | ||||
|     --| Tab Bar Colors | ||||
|     background = '#282828', | ||||
|     --| Tab Colors | ||||
|     active_tab          = { bg_color = '#282828', fg_color = '#7daea3', intensity = 'Bold',   italic = false, }, | ||||
|     inactive_tab        = { bg_color = '#282828', fg_color = '#7c6f64', intensity = 'Normal', italic = false, }, | ||||
|     inactive_tab_hover  = { bg_color = '#282828', fg_color = '#7c6f64', intensity = 'Normal', italic = false, }, | ||||
|     new_tab             = { bg_color = '#282828', fg_color = '#7c6f64', intensity = 'Normal', italic = false, }, | ||||
|     new_tab_hover       = { bg_color = '#282828', fg_color = '#7c6f64', intensity = 'Normal', italic = false, }, | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| --| Key Assignments | ||||
| config.disable_default_key_bindings = true | ||||
| config.keys = {} | ||||
| 
 | ||||
| for i = 1, 8 do | ||||
|   --| CTRL+ALT + number to activate tab | ||||
|   table.insert(config.keys, { | ||||
|     key = tostring(i), | ||||
|     mods = 'CTRL|ALT', | ||||
|     action = act.ActivateTab(i - 1), | ||||
|   }) | ||||
| end | ||||
| 
 | ||||
| config.keys = { | ||||
|   --| Spawn Tab | ||||
|   { key = 't', mods = 'ALT', action = act.SpawnTab 'CurrentPaneDomain', }, | ||||
|   --| Tab Navigation | ||||
|   { key = 'LeftArrow',  mods = 'ALT', action = act.ActivateTabRelative(-1) }, | ||||
|   { key = 'RightArrow', mods = 'ALT', action = act.ActivateTabRelative(1)  }, | ||||
|   --| Close Tab | ||||
|   { key = 'w', mods = 'ALT|CTRL', action = act.CloseCurrentTab { confirm = false }, }, | ||||
| 
 | ||||
|   --| Split Panes | ||||
|   { key = 'v', mods = 'ALT', action = act.SplitVertical   { domain  = 'CurrentPaneDomain' }, }, | ||||
|   { key = 'h', mods = 'ALT', action = act.SplitHorizontal { domain  = 'CurrentPaneDomain' }, }, | ||||
|   --| Adjust Pane Size | ||||
|   { key = 'PageDown', mods = 'ALT', action = act.AdjustPaneSize { 'Down', 5 } }, | ||||
|   { key = 'PageUp',   mods = 'ALT', action = act.AdjustPaneSize { 'Up',   5 } }, | ||||
|   --| Pane Navigation | ||||
|   { key = 'DownArrow', mods = 'ALT', action = act.ActivatePaneDirection 'Next', }, | ||||
|   { key = 'UpArrow',   mods = 'ALT', action = act.ActivatePaneDirection 'Prev', }, | ||||
|   --| Close Pane | ||||
|   { key = 'x', mods = "ALT", action = act.CloseCurrentPane { confirm = false }, }, | ||||
| 
 | ||||
|   --| Copy Mode / Clipboard | ||||
|   { key = 'X', mods = 'CTRL', action = act.ActivateCopyMode,                         }, | ||||
|   { key = 'C', mods = 'CTRL', action = act.CopyTo    'ClipboardAndPrimarySelection', }, | ||||
|   { key = 'V', mods = 'CTRL', action = act.PasteFrom 'Clipboard',                    }, | ||||
| } | ||||
| 
 | ||||
| return config | ||||
| 
 | ||||
							
								
								
									
										15
									
								
								home-manager/sajenim/services/picom/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								home-manager/sajenim/services/picom/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | |||
| { ... }: | ||||
| 
 | ||||
| { | ||||
|   services.picom = { | ||||
|     enable = true; | ||||
|     shadow = true; | ||||
|     backend = "glx"; | ||||
|     settings = { | ||||
|       corner-radius = 10; | ||||
|       rounded-corners-exclude = [ | ||||
|         "window_type = 'dock'" | ||||
|       ]; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										13
									
								
								home-manager/sajenim/xinitrc
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								home-manager/sajenim/xinitrc
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | |||
| #/bin/bash | ||||
| 
 | ||||
| # Setup our monitors | ||||
| xrandr --output HDMI-A-0 --rotate right --mode 1920x1080 --output DisplayPort-0 --mode 2560x1440 --left-of HDMI-A-0 | ||||
| 
 | ||||
| # Apply our wallpaper | ||||
| feh --bg-center ~/dotfiles.nix/assets/chinatown.png --bg-center ~/dotfiles.nix/assets/chinatown-rotated.png | ||||
| 
 | ||||
| # Enable our compositor | ||||
| picom -b | ||||
| 
 | ||||
| # Launch our window manager | ||||
| exec xmonad | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue