Restructure home-manager
This commit is contained in:
parent
34eb186509
commit
4e38e27271
11 changed files with 249 additions and 334 deletions
|
|
@ -37,7 +37,7 @@
|
||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.users.user = import ./users/desktops/io/user.nix;
|
home-manager.users.user = import ./users/desktops/user.nix;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,13 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
# Host-specific imports
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./hosted-services.nix
|
./hosted-services.nix
|
||||||
./packages.nix
|
./packages.nix
|
||||||
./users.nix
|
./users.nix
|
||||||
<home-manager/nixos>
|
<home-manager/nixos>
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
swapDevices = [ { device = "/swapfile"; size = 8192; } ];
|
swapDevices = [ { device = "/swapfile"; size = 8192; } ];
|
||||||
|
|
|
||||||
|
|
@ -11,105 +11,4 @@
|
||||||
};
|
};
|
||||||
root.hashedPassword = "!";
|
root.hashedPassword = "!";
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.user = { pkgs, ... }: {
|
|
||||||
home = {
|
|
||||||
sessionVariables = {
|
|
||||||
EDITOR = "micro";
|
|
||||||
};
|
|
||||||
file = {
|
|
||||||
".scripts/pfetch" = {
|
|
||||||
executable = true;
|
|
||||||
source = pkgs.fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/baduhai/dotfiles/master/scripts/pfetch";
|
|
||||||
sha256 = "UEfTG1XCuN2GlpPz1gdQ5mxgutlX2XL58rGOqtaUgV4=";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
programs = {
|
|
||||||
home-manager.enable = true;
|
|
||||||
password-store.enable = true;
|
|
||||||
bash = {
|
|
||||||
enable = true;
|
|
||||||
historyFile = "~/.cache/bash_history";
|
|
||||||
};
|
|
||||||
#micro = {
|
|
||||||
# enable = true;
|
|
||||||
# settings = {
|
|
||||||
# clipboard = "terminal";
|
|
||||||
# mkparents = true;
|
|
||||||
# scrollbar = true;
|
|
||||||
# tabstospaces = true;
|
|
||||||
# tabsize = 2;
|
|
||||||
# };
|
|
||||||
#};
|
|
||||||
fish = {
|
|
||||||
enable = true;
|
|
||||||
interactiveShellInit = "any-nix-shell fish --info-right | source";
|
|
||||||
loginShellInit = "any-nix-shell fish --info-right | source";
|
|
||||||
shellAliases = {
|
|
||||||
d = "kitty +kitten diff";
|
|
||||||
nano = "micro";
|
|
||||||
wget = "wget --hsts-file=\"$XDG_DATA_HOME/wget-hsts\"";
|
|
||||||
};
|
|
||||||
functions = {
|
|
||||||
fish_greeting = ''
|
|
||||||
set -x PF_INFO ascii title os kernel uptime pkgs memory palette
|
|
||||||
eval $HOME/.scripts/pfetch
|
|
||||||
'';
|
|
||||||
tsh = "ssh -o RequestTTY=yes $argv tmux -u -CC new -A -s tmux-main";
|
|
||||||
pacin = "nix-env -iA nixos.$argv";
|
|
||||||
pacre = "nix-env -e $argv";
|
|
||||||
trizen = "nix-env -qaP $argv";
|
|
||||||
rebuild = "sudo nixos-rebuild switch";
|
|
||||||
upgrade = "sudo nixos-rebuild switch --upgrade";
|
|
||||||
};
|
|
||||||
shellInit = ''
|
|
||||||
set -g PF_INFO ascii title os kernel uptime wm memory palette
|
|
||||||
set -g theme_date_format "+%H:%M"
|
|
||||||
set -g theme_date_timezone Europe/Berlin
|
|
||||||
set -g theme_avoid_ambiguous_glyphs yes
|
|
||||||
set -g theme_color_scheme dark
|
|
||||||
set -g theme_nerd_fonts yes
|
|
||||||
set -g theme_display_git_default_branch yes
|
|
||||||
set -g -x FONTCONFIG_FILE ${pkgs.fontconfig.out}/etc/fonts/fonts.conf
|
|
||||||
'';
|
|
||||||
plugins = [
|
|
||||||
{
|
|
||||||
name = "bobthefish";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "oh-my-fish";
|
|
||||||
repo = "theme-bobthefish";
|
|
||||||
rev = "2dcfcab653ae69ae95ab57217fe64c97ae05d8de";
|
|
||||||
sha256 = "jBbm0wTNZ7jSoGFxRkTz96QHpc5ViAw9RGsRBkCQEIU=";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "bang-bang";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "oh-my-fish";
|
|
||||||
repo = "plugin-bang-bang";
|
|
||||||
rev = "f969c618301163273d0a03d002614d9a81952c1e";
|
|
||||||
sha256 = "A8ydBX4LORk+nutjHurqNNWFmW6LIiBPQcxS3x4nbeQ=";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "fzf.fish";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "PatrickF1";
|
|
||||||
repo = "fzf.fish";
|
|
||||||
rev = "v9.2";
|
|
||||||
sha256 = "XmRGe39O3xXmTvfawwT2mCwLIyXOlQm7f40mH5tzz+s=";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
tmux = {
|
|
||||||
enable = true;
|
|
||||||
clock24 = true;
|
|
||||||
extraConfig = "set -g mouse on";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
12
users/common/home.nix
Normal file
12
users/common/home.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home = {
|
||||||
|
username = "user";
|
||||||
|
homeDirectory = "/home/user";
|
||||||
|
stateVersion = "22.05";
|
||||||
|
sessionVariables = {
|
||||||
|
EDITOR = "micro";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
82
users/common/programs.nix
Normal file
82
users/common/programs.nix
Normal file
|
|
@ -0,0 +1,82 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs = {
|
||||||
|
home-manager.enable = true;
|
||||||
|
password-store.enable = true;
|
||||||
|
bash = {
|
||||||
|
enable = true;
|
||||||
|
historyFile = "~/.cache/bash_history";
|
||||||
|
};
|
||||||
|
#micro = {
|
||||||
|
# enable = true;
|
||||||
|
# settings = {
|
||||||
|
# clipboard = "terminal";
|
||||||
|
# mkparents = true;
|
||||||
|
# scrollbar = true;
|
||||||
|
# tabstospaces = true;
|
||||||
|
# tabsize = 2;
|
||||||
|
# };
|
||||||
|
#};
|
||||||
|
fish = {
|
||||||
|
enable = true;
|
||||||
|
interactiveShellInit = "any-nix-shell fish --info-right | source";
|
||||||
|
loginShellInit = "any-nix-shell fish --info-right | source";
|
||||||
|
shellAliases = {
|
||||||
|
d = "kitty +kitten diff";
|
||||||
|
nano = "micro";
|
||||||
|
wget = "wget --hsts-file=\"$XDG_DATA_HOME/wget-hsts\"";
|
||||||
|
};
|
||||||
|
functions = {
|
||||||
|
# fish_greeting = ''
|
||||||
|
# set -x PF_INFO ascii title os kernel uptime pkgs memory palette
|
||||||
|
# eval $HOME/.scripts/pfetch
|
||||||
|
# '';
|
||||||
|
tsh = "ssh -o RequestTTY=yes $argv tmux -u -CC new -A -s tmux-main";
|
||||||
|
};
|
||||||
|
shellInit = ''
|
||||||
|
set -g theme_date_format "+%H:%M"
|
||||||
|
set -g theme_date_timezone America/Bahia
|
||||||
|
set -g theme_avoid_ambiguous_glyphs yes
|
||||||
|
set -g theme_color_scheme dark
|
||||||
|
set -g theme_nerd_fonts yes
|
||||||
|
set -g theme_display_git_default_branch yes
|
||||||
|
set -g -x FONTCONFIG_FILE ${pkgs.fontconfig.out}/etc/fonts/fonts.conf
|
||||||
|
'';
|
||||||
|
plugins = [
|
||||||
|
{
|
||||||
|
name = "bobthefish";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "oh-my-fish";
|
||||||
|
repo = "theme-bobthefish";
|
||||||
|
rev = "2dcfcab653ae69ae95ab57217fe64c97ae05d8de";
|
||||||
|
sha256 = "jBbm0wTNZ7jSoGFxRkTz96QHpc5ViAw9RGsRBkCQEIU=";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "bang-bang";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "oh-my-fish";
|
||||||
|
repo = "plugin-bang-bang";
|
||||||
|
rev = "f969c618301163273d0a03d002614d9a81952c1e";
|
||||||
|
sha256 = "A8ydBX4LORk+nutjHurqNNWFmW6LIiBPQcxS3x4nbeQ=";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "fzf.fish";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "PatrickF1";
|
||||||
|
repo = "fzf.fish";
|
||||||
|
rev = "v9.2";
|
||||||
|
sha256 = "XmRGe39O3xXmTvfawwT2mCwLIyXOlQm7f40mH5tzz+s=";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
tmux = {
|
||||||
|
enable = true;
|
||||||
|
clock24 = true;
|
||||||
|
extraConfig = "set -g mouse on";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
42
users/desktops/common/home.nix
Normal file
42
users/desktops/common/home.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home = {
|
||||||
|
pointerCursor = {
|
||||||
|
size = 24;
|
||||||
|
gtk.enable = true;
|
||||||
|
x11.enable = true;
|
||||||
|
name = "breeze_cursors";
|
||||||
|
package = pkgs.breeze-icons;
|
||||||
|
};
|
||||||
|
packages = with pkgs; [
|
||||||
|
syncthingtray
|
||||||
|
];
|
||||||
|
file = {
|
||||||
|
# Dotfiles that can't be managed via home-manager
|
||||||
|
".local/share/color-schemes/BreezeDarkNeutral.colors".source = pkgs.fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/baduhai/dotfiles/master/color-schemes/BreezeDarkNeutral.colors";
|
||||||
|
sha256 = "Fw5knhpV47HlgYvbHFzfi6M6Tk2DTlAuFUYc2WDDBc8=";
|
||||||
|
};
|
||||||
|
".config/MangoHud/MangoHud.conf".source = pkgs.fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/baduhai/dotfiles/master/MangoHud/MangoHud.conf";
|
||||||
|
sha256 = "WCRsS6njtU4aR7tMiX8oWa2itJyy04Zp7wfwV20SLZs=";
|
||||||
|
};
|
||||||
|
".config/kitty/search.py".source = pkgs.fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/baduhai/dotfiles/master/kitty/search.py";
|
||||||
|
sha256 = "mi5GB8CmWafAdp3GYnsQM4VHpXhuaVYX7YDT+9426Jc=";
|
||||||
|
};
|
||||||
|
".config/kitty/scroll_mark.py".source = pkgs.fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/baduhai/dotfiles/master/kitty/scroll_mark.py";
|
||||||
|
sha256 = "Abif6LIOCiXyDdQMZ4pQnLK++It0VYIM+WE7Oydwkfo=";
|
||||||
|
};
|
||||||
|
# Autostart programs
|
||||||
|
".config/autostart/org.kde.yakuake.desktop".source = config.lib.file.mkOutOfStoreSymlink "/var/run/current-system/sw/share/applications/org.kde.yakuake.desktop";
|
||||||
|
".config/autostart/megasync.desktop".source = config.lib.file.mkOutOfStoreSymlink "/var/run/current-system/sw/share/applications/megasync.desktop";
|
||||||
|
".config/autostart/koi.desktop".source = config.lib.file.mkOutOfStoreSymlink "/var/run/current-system/sw/share/applications/koi.desktop";
|
||||||
|
# Fix flatpak fonts, themes, icons and cursor
|
||||||
|
".icons/breeze_cursors".source = config.lib.file.mkOutOfStoreSymlink "/run/current-system/sw/share/icons/breeze_cursors";
|
||||||
|
".local/share/flatpak/overrides/global".text = "[Context]\nfilesystems=/run/current-system/sw/share/X11/fonts:ro;~/.local/share/color-schemes:ro;xdg-config/gtk-3.0:ro;/nix/store:ro;~/.icons:ro";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
83
users/desktops/common/programs.nix
Normal file
83
users/desktops/common/programs.nix
Normal file
|
|
@ -0,0 +1,83 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
fonts.fontconfig.enable = true;
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
font = { name = "Inter"; size = 10; };
|
||||||
|
theme = { package = pkgs.breeze-gtk; name = "Breeze"; };
|
||||||
|
iconTheme = { package = pkgs.breeze-icons; name = "Breeze"; };
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
password-store.package = pkgs.pass-wayland;
|
||||||
|
mangohud = {
|
||||||
|
enable = true;
|
||||||
|
enableSessionWide = true;
|
||||||
|
};
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
diff-so-fancy.enable = true;
|
||||||
|
userName = "William";
|
||||||
|
userEmail = "williamhai@hotmail.com";
|
||||||
|
};
|
||||||
|
fish = {
|
||||||
|
shellAliases.ssh = "kitty +kitten ssh";
|
||||||
|
functions = {
|
||||||
|
rebuild = "rm ~/.gtkrc-2.0; sudo nixos-rebuild switch --flake '/home/user/Projects/nix-config#'";
|
||||||
|
rebuild-boot = "rm ~/.gtkrc-2.0; sudo nixos-rebuild boot --flake '/home/user/Projects/nix-config#'";
|
||||||
|
upgrade = "rm ~/.gtkrc-2.0; nix flake update --commit-lock-file /home/user/Projects/nix-config; sudo nixos-rebuild switch --upgrade --flake '/home/user/Projects/nix-config#'";
|
||||||
|
upgrade-boot = "rm ~/.gtkrc-2.0; nix flake update --commit-lock-file /home/user/Projects/nix-config; sudo nixos-rebuild boot --upgrade --flake '/home/user/Projects/nix-config#'";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
micro = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
clipboard = "terminal";
|
||||||
|
mkparents = true;
|
||||||
|
scrollbar = true;
|
||||||
|
tabstospaces = true;
|
||||||
|
tabsize = 2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
btop = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
color_theme = "gruvbox_dark.theme";
|
||||||
|
theme_background = false;
|
||||||
|
proc_sorting = "cpu direct";
|
||||||
|
update_ms = 500;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
kitty = {
|
||||||
|
enable = true;
|
||||||
|
theme = "Afterglow";
|
||||||
|
font = {
|
||||||
|
name = "Hack Nerd Font";
|
||||||
|
size = 10;
|
||||||
|
};
|
||||||
|
keybindings = {
|
||||||
|
"kitty_mod+f" = "launch --location=hsplit --allow-remote-control kitty +kitten search.py @active-kitty-window-id";
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
clipboard_control = "write-clipboard read-clipboard write-primary read-primary";
|
||||||
|
confirm_os_window_close = "-2";
|
||||||
|
cursor_shape = "block";
|
||||||
|
initial_window_height = "570";
|
||||||
|
initial_window_width = "120c";
|
||||||
|
remember_window_size = "no";
|
||||||
|
tab_bar_background = "#3b3b3b";
|
||||||
|
tab_bar_margin_color = "#3b3b3b";
|
||||||
|
tab_bar_margin_height = "3 3";
|
||||||
|
tab_bar_margin_width = 2;
|
||||||
|
tab_bar_min_tabs = 1;
|
||||||
|
tab_bar_style = "fade";
|
||||||
|
tab_fade = 0;
|
||||||
|
tab_switch_strategy = "left";
|
||||||
|
tab_title_template = "{fmt.bg._3b3b3b}{fmt.fg._202020}{fmt.fg.default}{fmt.bg._202020}{fmt.fg._c6c6c6} {title} {fmt.fg.default}{fmt.bg.default}{fmt.fg._202020}{fmt.fg.default}";
|
||||||
|
active_tab_title_template = "{fmt.bg._3b3b3b}{fmt.fg._fcfcfc}{fmt.fg.default}{fmt.bg._fcfcfc}{fmt.fg._3b3b3b} {title} {fmt.fg.default}{fmt.bg.default}{fmt.fg._fcfcfc}{fmt.fg.default}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
14
users/desktops/common/services.nix
Normal file
14
users/desktops/common/services.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services = {
|
||||||
|
kdeconnect.enable = true;
|
||||||
|
syncthing = {
|
||||||
|
enable = true;
|
||||||
|
tray = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.writeShellScriptBin "syncthingtray" "exec ${pkgs.syncthingtray}/bin/syncthingtray --wait" // { pname = "syncthingtray"; }; # Override synctray so it waits for a system tray
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,232 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
home = {
|
|
||||||
username = "user";
|
|
||||||
homeDirectory = "/home/user";
|
|
||||||
stateVersion = "22.05";
|
|
||||||
pointerCursor = {
|
|
||||||
size = 24;
|
|
||||||
gtk.enable = true;
|
|
||||||
x11.enable = true;
|
|
||||||
name = "breeze_cursors";
|
|
||||||
package = pkgs.breeze-icons;
|
|
||||||
};
|
|
||||||
packages = with pkgs; [
|
|
||||||
syncthingtray
|
|
||||||
];
|
|
||||||
sessionVariables = {
|
|
||||||
EDITOR = "micro";
|
|
||||||
NIXPKGS_ALLOW_UNFREE = "1";
|
|
||||||
};
|
|
||||||
file = {
|
|
||||||
# Dotfiles that can't be managed via home-manager
|
|
||||||
".scripts/pfetch" = {
|
|
||||||
executable = true;
|
|
||||||
source = pkgs.fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/baduhai/dotfiles/master/scripts/pfetch";
|
|
||||||
sha256 = "UEfTG1XCuN2GlpPz1gdQ5mxgutlX2XL58rGOqtaUgV4=";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
".local/share/color-schemes/BreezeDarkNeutral.colors".source = pkgs.fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/baduhai/dotfiles/master/color-schemes/BreezeDarkNeutral.colors";
|
|
||||||
sha256 = "Fw5knhpV47HlgYvbHFzfi6M6Tk2DTlAuFUYc2WDDBc8=";
|
|
||||||
};
|
|
||||||
".config/MangoHud/MangoHud.conf".source = pkgs.fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/baduhai/dotfiles/master/MangoHud/MangoHud.conf";
|
|
||||||
sha256 = "WCRsS6njtU4aR7tMiX8oWa2itJyy04Zp7wfwV20SLZs=";
|
|
||||||
};
|
|
||||||
".config/kitty/search.py".source = pkgs.fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/baduhai/dotfiles/master/kitty/search.py";
|
|
||||||
sha256 = "mi5GB8CmWafAdp3GYnsQM4VHpXhuaVYX7YDT+9426Jc=";
|
|
||||||
};
|
|
||||||
".config/kitty/scroll_mark.py".source = pkgs.fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/baduhai/dotfiles/master/kitty/scroll_mark.py";
|
|
||||||
sha256 = "Abif6LIOCiXyDdQMZ4pQnLK++It0VYIM+WE7Oydwkfo=";
|
|
||||||
};
|
|
||||||
# Autostart programs
|
|
||||||
".config/autostart/org.kde.yakuake.desktop".source = config.lib.file.mkOutOfStoreSymlink "/var/run/current-system/sw/share/applications/org.kde.yakuake.desktop";
|
|
||||||
".config/autostart/megasync.desktop".source = config.lib.file.mkOutOfStoreSymlink "/var/run/current-system/sw/share/applications/megasync.desktop";
|
|
||||||
".config/autostart/koi.desktop".source = config.lib.file.mkOutOfStoreSymlink "/var/run/current-system/sw/share/applications/koi.desktop";
|
|
||||||
# Fix flatpak fonts, themes, icons and cursor
|
|
||||||
".icons/breeze_cursors".source = config.lib.file.mkOutOfStoreSymlink "/run/current-system/sw/share/icons/breeze_cursors";
|
|
||||||
".local/share/flatpak/overrides/global".text = "[Context]\nfilesystems=/run/current-system/sw/share/X11/fonts:ro;~/.local/share/color-schemes:ro;xdg-config/gtk-3.0:ro;/nix/store:ro;~/.icons:ro";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
fonts.fontconfig.enable = true; # Allow fonts installed by home-manager to be available session wide
|
|
||||||
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
font = { name = "Inter"; size = 10; };
|
|
||||||
theme = { package = pkgs.breeze-gtk; name = "Breeze"; };
|
|
||||||
iconTheme = { package = pkgs.breeze-icons; name = "Breeze"; };
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
|
||||||
kdeconnect.enable = true;
|
|
||||||
syncthing = {
|
|
||||||
enable = true;
|
|
||||||
tray = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.writeShellScriptBin "syncthingtray" "exec ${pkgs.syncthingtray}/bin/syncthingtray --wait" // { pname = "syncthingtray"; }; # Override synctray so it waits for a system tray
|
|
||||||
};
|
|
||||||
};
|
|
||||||
home-manager.autoUpgrade = { # Auto upgrade home-manager, unsure if this works or not
|
|
||||||
enable = true;
|
|
||||||
frequency = "*-*-* 20:00:00";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg = {
|
|
||||||
enable = true;
|
|
||||||
desktopEntries = {
|
|
||||||
steamGamepadUi = { # Menu entry for steam gamepad ui
|
|
||||||
terminal = false;
|
|
||||||
icon = "steam_deck";
|
|
||||||
exec = "steam -gamepadui";
|
|
||||||
name = "Steam (Gamepad UI)";
|
|
||||||
categories = [ "Game" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
home-manager.enable = true;
|
|
||||||
password-store = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.pass-wayland;
|
|
||||||
};
|
|
||||||
bash = {
|
|
||||||
enable = true;
|
|
||||||
historyFile = "~/.cache/bash_history";
|
|
||||||
};
|
|
||||||
micro = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
clipboard = "terminal";
|
|
||||||
mkparents = true;
|
|
||||||
scrollbar = true;
|
|
||||||
tabstospaces = true;
|
|
||||||
tabsize = 2;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
fish = {
|
|
||||||
enable = true;
|
|
||||||
interactiveShellInit = "any-nix-shell fish --info-right | source";
|
|
||||||
loginShellInit = "any-nix-shell fish --info-right | source";
|
|
||||||
shellAliases = {
|
|
||||||
d = "kitty +kitten diff";
|
|
||||||
nano = "micro";
|
|
||||||
wget = "wget --hsts-file=\"$XDG_DATA_HOME/wget-hsts\"";
|
|
||||||
ssh = "kitty +kitten ssh";
|
|
||||||
};
|
|
||||||
functions = {
|
|
||||||
fish_greeting = ''
|
|
||||||
set -x PF_INFO ascii title os kernel uptime wm memory palette
|
|
||||||
eval $HOME/.scripts/pfetch
|
|
||||||
'';
|
|
||||||
tsh = "ssh -o RequestTTY=yes $argv tmux -u -CC new -A -s tmux-main";
|
|
||||||
pacin = "nix-env -iA nixos.$argv";
|
|
||||||
pacre = "nix-env -e $argv";
|
|
||||||
trizen = "nix search nixpkgs $argv";
|
|
||||||
rebuild = "rm ~/.gtkrc-2.0; sudo nixos-rebuild switch --flake '/home/user/Projects/nix-config#'";
|
|
||||||
rebuild-boot = "rm ~/.gtkrc-2.0; sudo nixos-rebuild boot --flake '/home/user/Projects/nix-config#'";
|
|
||||||
upgrade = "rm ~/.gtkrc-2.0; nix flake update --commit-lock-file /home/user/Projects/nix-config; sudo nixos-rebuild switch --upgrade --flake '/home/user/Projects/nix-config#'";
|
|
||||||
upgrade-boot = "rm ~/.gtkrc-2.0; nix flake update --commit-lock-file /home/user/Projects/nix-config; sudo nixos-rebuild boot --upgrade --flake '/home/user/Projects/nix-config#'";
|
|
||||||
};
|
|
||||||
shellInit = ''
|
|
||||||
set -g PF_INFO ascii title os kernel uptime wm memory palette
|
|
||||||
set -g theme_date_format "+%H:%M"
|
|
||||||
set -g theme_date_timezone Europe/Berlin
|
|
||||||
set -g theme_avoid_ambiguous_glyphs yes
|
|
||||||
set -g theme_color_scheme dark
|
|
||||||
set -g theme_nerd_fonts yes
|
|
||||||
set -g theme_display_git_default_branch yes
|
|
||||||
set -g -x FONTCONFIG_FILE ${pkgs.fontconfig.out}/etc/fonts/fonts.conf
|
|
||||||
'';
|
|
||||||
plugins = [
|
|
||||||
{
|
|
||||||
name = "bobthefish";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "oh-my-fish";
|
|
||||||
repo = "theme-bobthefish";
|
|
||||||
rev = "2dcfcab653ae69ae95ab57217fe64c97ae05d8de";
|
|
||||||
sha256 = "jBbm0wTNZ7jSoGFxRkTz96QHpc5ViAw9RGsRBkCQEIU=";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "bang-bang";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "oh-my-fish";
|
|
||||||
repo = "plugin-bang-bang";
|
|
||||||
rev = "f969c618301163273d0a03d002614d9a81952c1e";
|
|
||||||
sha256 = "A8ydBX4LORk+nutjHurqNNWFmW6LIiBPQcxS3x4nbeQ=";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "fzf.fish";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "PatrickF1";
|
|
||||||
repo = "fzf.fish";
|
|
||||||
rev = "v9.2";
|
|
||||||
sha256 = "XmRGe39O3xXmTvfawwT2mCwLIyXOlQm7f40mH5tzz+s=";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
btop = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
color_theme = "gruvbox_dark.theme";
|
|
||||||
theme_background = false;
|
|
||||||
proc_sorting = "cpu direct";
|
|
||||||
update_ms = 500;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
kitty = {
|
|
||||||
enable = true;
|
|
||||||
theme = "Afterglow";
|
|
||||||
font = {
|
|
||||||
name = "Hack Nerd Font";
|
|
||||||
size = 10;
|
|
||||||
};
|
|
||||||
keybindings = {
|
|
||||||
"kitty_mod+f" = "launch --location=hsplit --allow-remote-control kitty +kitten search.py @active-kitty-window-id";
|
|
||||||
};
|
|
||||||
settings = {
|
|
||||||
clipboard_control = "write-clipboard read-clipboard write-primary read-primary";
|
|
||||||
confirm_os_window_close = "-2";
|
|
||||||
cursor_shape = "block";
|
|
||||||
initial_window_height = "570";
|
|
||||||
initial_window_width = "120c";
|
|
||||||
remember_window_size = "no";
|
|
||||||
tab_bar_background = "#3b3b3b";
|
|
||||||
tab_bar_margin_color = "#3b3b3b";
|
|
||||||
tab_bar_margin_height = "3 3";
|
|
||||||
tab_bar_margin_width = 2;
|
|
||||||
tab_bar_min_tabs = 1;
|
|
||||||
tab_bar_style = "fade";
|
|
||||||
tab_fade = 0;
|
|
||||||
tab_switch_strategy = "left";
|
|
||||||
tab_title_template = "{fmt.bg._3b3b3b}{fmt.fg._202020}{fmt.fg.default}{fmt.bg._202020}{fmt.fg._c6c6c6} {title} {fmt.fg.default}{fmt.bg.default}{fmt.fg._202020}{fmt.fg.default}";
|
|
||||||
active_tab_title_template = "{fmt.bg._3b3b3b}{fmt.fg._fcfcfc}{fmt.fg.default}{fmt.bg._fcfcfc}{fmt.fg._3b3b3b} {title} {fmt.fg.default}{fmt.bg.default}{fmt.fg._fcfcfc}{fmt.fg.default}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
tmux = {
|
|
||||||
enable = true;
|
|
||||||
clock24 = true;
|
|
||||||
extraConfig = "set -g mouse on";
|
|
||||||
};
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
diff-so-fancy.enable = true;
|
|
||||||
userName = "William";
|
|
||||||
userEmail = "williamhai@hotmail.com";
|
|
||||||
};
|
|
||||||
mangohud = {
|
|
||||||
enable = true;
|
|
||||||
enableSessionWide = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
13
users/desktops/user.nix
Normal file
13
users/desktops/user.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# Host-common imports
|
||||||
|
../common/programs.nix
|
||||||
|
../common/home.nix
|
||||||
|
# Desktop-common imports
|
||||||
|
./common/programs.nix
|
||||||
|
./common/services.nix
|
||||||
|
./common/home.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue