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