refactor home-manager

This commit is contained in:
♥ Minnie ♥ 2024-01-21 21:01:42 +08:00
parent a48829bbe6
commit caed1fc0d4
31 changed files with 243 additions and 270 deletions

View file

@ -0,0 +1,7 @@
{ ... }:
{
imports = [
./discord
];
}

View file

@ -0,0 +1,41 @@
:root {
--font-primary: Fisa Code;
/* Gruvbox Material Dark Hard */
--fg0: #d4be98;
--bg0: #1d2021;
--bg1: #282828;
--grey0: #7c6f64;
--grey1: #928374;
--grey2: #a89984;
/* Midpoints between bg0 + bg1 */
--bg0_33: #212323;
--bg0_66: #242526;
}
.theme-dark {
--text-normal: var(--fg0);
--channels-default: var(--grey2);
--interactive-normal: var(--grey0);
--interactive-active: var(--grey0);
--channel-icon: var(--grey0);
--channeltextarea-background: var(--bg0_66);
--scrollbar-auto-thumb: var(--grey0);
--scrollbar-auto-track: var(--bg1);
--header-primary: var(--grey0);
--header-secondary: var(--grey2);
--background-primary: var(--bg0);
--background-secondary: var(--bg0_66);
--background-secondary-alt: var(--bg0_33);
--background-tertiary: var(--bg1);
--background-message-hover: var(--bg0_33);
--background-mentioned: var(--bg0_66);
--bg-overlay-selected: var(--bg1);
}

View file

@ -0,0 +1,24 @@
{ pkgs, ... }:
{
nixpkgs.overlays = [
(final: prev: {
discord = prev.discord.override { withOpenASAR = true; };
})
];
home.packages = with pkgs; [
discord
betterdiscordctl
];
home.file.".config/BetterDiscord/data/stable/custom.css" = {
enable = true;
source = ./config/custom.css;
};
home.persistence."/persist/home/sajenim".directories = [
".config/discord"
".config/BetterDiscord"
];
}

View file

@ -0,0 +1,33 @@
{ inputs, pkgs, ... }:
{
imports = [
./picom.nix
./rofi.nix
];
home.packages = with pkgs; [
feh
xmobar
unstable.wezterm
];
home.file = {
".local/share/fonts" = {
recursive = true;
source = "${inputs.self}/pkgs/patched-fonts";
};
".xinitrc".source = ./xinitrc;
};
xdg.configFile = {
wezterm = { source = ./wezterm/config; recursive = true; };
};
xsession.windowManager.xmonad = {
enable = true;
enableContribAndExtras = true;
config = "${inputs.self}/pkgs/xmonad-config/src/xmonad.hs";
};
}

View file

@ -0,0 +1,15 @@
{ ... }:
{
services.picom = {
enable = true;
shadow = true;
backend = "glx";
settings = {
corner-radius = 10;
rounded-corners-exclude = [
"window_type = 'dock'"
];
};
};
}

View file

@ -0,0 +1,9 @@
{ ... }:
{
programs.rofi = {
enable = true;
font = "Fisa Code 10";
};
}

View file

@ -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'

View 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 'Fisa 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

View file

@ -0,0 +1,13 @@
#/bin/bash
# Setup our monitors
xrandr --output HDMI-A-0 --mode 1920x1080 --output DisplayPort-0 --mode 2560x1440 --right-of HDMI-A-0
# Apply our wallpaper
feh --bg-center ~/.github/dotfiles.nix/assets/chinatown.png
# Enable our compositor
picom -b
# Launch our window manager
exec xmonad