Moooore changes
parent
edb9f71f70
commit
73960667b6
|
@ -7,9 +7,11 @@
|
||||||
./caches.nix
|
./caches.nix
|
||||||
./quicksudo.nix
|
./quicksudo.nix
|
||||||
../users/mat.nix
|
../users/mat.nix
|
||||||
../users/mat-hm.nix
|
<home-manager/nixos>
|
||||||
];
|
];
|
||||||
|
|
||||||
|
home-manager.users.mat = import ../users/mat-hm.nix { inherit pkgs; };
|
||||||
|
|
||||||
system.autoUpgrade.enable = true;
|
system.autoUpgrade.enable = true;
|
||||||
system.copySystemConfiguration = true;
|
system.copySystemConfiguration = true;
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,12 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
imports =
|
imports = [ ./common.nix ./local.nix ./graphical.nix ];
|
||||||
[ ./common.nix ./local.nix ./graphical.nix ../users/mat-hm-laptop.nix ];
|
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
|
||||||
|
home-manager.users.mat = import ../users/mat-hm-laptop.nix { inherit pkgs; };
|
||||||
|
|
||||||
# enable power management
|
# enable power management
|
||||||
powerManagement.enable = true;
|
powerManagement.enable = true;
|
||||||
|
|
|
@ -1,116 +1,110 @@
|
||||||
{ config, ... }:
|
{ pkgs, ... }:
|
||||||
|
let statusCmd = "i3status-rs ~/.config/i3status.toml";
|
||||||
let
|
|
||||||
|
|
||||||
statusCmd = "i3status-rs ~/.config/i3status.toml";
|
|
||||||
|
|
||||||
in {
|
in {
|
||||||
home-manager.users.mat = { pkgs, lib, ... }: {
|
home = {
|
||||||
home = {
|
sessionVariables = {
|
||||||
sessionVariables = {
|
BROWSER = "vivaldi";
|
||||||
BROWSER = "vivaldi";
|
TERMINAL = "kitty";
|
||||||
TERMINAL = "kitty";
|
CM_LAUNCHER = "rofi";
|
||||||
CM_LAUNCHER = "rofi";
|
|
||||||
};
|
|
||||||
packages = with pkgs; [
|
|
||||||
# command line utilities
|
|
||||||
asuka
|
|
||||||
bottom
|
|
||||||
dbus
|
|
||||||
du-dust
|
|
||||||
imagemagick
|
|
||||||
mdcat
|
|
||||||
pijul
|
|
||||||
unrar
|
|
||||||
wireguard-tools
|
|
||||||
# graphical applications
|
|
||||||
deluge
|
|
||||||
discord
|
|
||||||
dunst
|
|
||||||
element-desktop
|
|
||||||
enpass
|
|
||||||
kitty
|
|
||||||
lagrange
|
|
||||||
# mullvad-vpn
|
|
||||||
okular
|
|
||||||
signal-desktop
|
|
||||||
slack
|
|
||||||
steam
|
|
||||||
steam-run-native
|
|
||||||
vivaldi
|
|
||||||
vivaldi-ffmpeg-codecs
|
|
||||||
# vivaldi-widevine
|
|
||||||
vlc
|
|
||||||
xfce.thunar
|
|
||||||
xfce.thunar-archive-plugin
|
|
||||||
# graphical utilities
|
|
||||||
clipmenu
|
|
||||||
clipnotify
|
|
||||||
gnome3.gnome-disk-utility
|
|
||||||
i3status-rust
|
|
||||||
libappindicator
|
|
||||||
libnotify
|
|
||||||
lxappearance
|
|
||||||
rofi
|
|
||||||
xclip
|
|
||||||
xdg-dbus-proxy
|
|
||||||
];
|
|
||||||
file = import ../hm-configs/files.nix;
|
|
||||||
};
|
};
|
||||||
programs = {
|
packages = with pkgs; [
|
||||||
alacritty = {
|
# command line utilities
|
||||||
enable = false;
|
asuka
|
||||||
settings = {
|
bottom
|
||||||
font = {
|
dbus
|
||||||
normal.family = "Fira Code";
|
du-dust
|
||||||
size = 10.5;
|
imagemagick
|
||||||
};
|
mdcat
|
||||||
|
pijul
|
||||||
|
unrar
|
||||||
|
wireguard-tools
|
||||||
|
# graphical applications
|
||||||
|
deluge
|
||||||
|
discord
|
||||||
|
dunst
|
||||||
|
element-desktop
|
||||||
|
enpass
|
||||||
|
kitty
|
||||||
|
lagrange
|
||||||
|
# mullvad-vpn
|
||||||
|
okular
|
||||||
|
signal-desktop
|
||||||
|
slack
|
||||||
|
steam
|
||||||
|
steam-run-native
|
||||||
|
vivaldi
|
||||||
|
vivaldi-ffmpeg-codecs
|
||||||
|
# vivaldi-widevine
|
||||||
|
vlc
|
||||||
|
xfce.thunar
|
||||||
|
xfce.thunar-archive-plugin
|
||||||
|
# graphical utilities
|
||||||
|
clipmenu
|
||||||
|
clipnotify
|
||||||
|
gnome3.gnome-disk-utility
|
||||||
|
i3status-rust
|
||||||
|
libappindicator
|
||||||
|
libnotify
|
||||||
|
lxappearance
|
||||||
|
rofi
|
||||||
|
xclip
|
||||||
|
xdg-dbus-proxy
|
||||||
|
];
|
||||||
|
file = import ../hm-configs/files.nix;
|
||||||
|
};
|
||||||
|
programs = {
|
||||||
|
alacritty = {
|
||||||
|
enable = false;
|
||||||
|
settings = {
|
||||||
|
font = {
|
||||||
|
normal.family = "Fira Code";
|
||||||
|
size = 10.5;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
feh.enable = true;
|
};
|
||||||
firefox.enable = false;
|
feh.enable = true;
|
||||||
fish = import ../hm-configs/fish.nix { inherit pkgs; };
|
firefox.enable = false;
|
||||||
|
fish = import ../hm-configs/fish.nix { inherit pkgs; };
|
||||||
|
|
||||||
go.enable = false;
|
go.enable = false;
|
||||||
jq.enable = true;
|
jq.enable = true;
|
||||||
rofi = {
|
rofi = {
|
||||||
enable = true;
|
|
||||||
font = "Fira Code 14";
|
|
||||||
lines = 10;
|
|
||||||
location = "center";
|
|
||||||
theme = "~/.config/rofi/theme.rasi";
|
|
||||||
};
|
|
||||||
ssh = {
|
|
||||||
enable = true;
|
|
||||||
matchBlocks = {
|
|
||||||
"pi".hostname = "192.168.1.99";
|
|
||||||
"gagarin" = {
|
|
||||||
hostname = "gagarin.local";
|
|
||||||
forwardAgent = true;
|
|
||||||
};
|
|
||||||
"soviet".hostname = "soviet.circumlunar.space";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
vscode = import ../hm-configs/vscode.nix { inherit pkgs; };
|
|
||||||
};
|
|
||||||
services = {
|
|
||||||
redshift = {
|
|
||||||
enable = true;
|
|
||||||
provider = "geoclue2";
|
|
||||||
};
|
|
||||||
dunst = import ../hm-configs/dunst.nix;
|
|
||||||
clipmenu.enable = true;
|
|
||||||
# disabled in favor of flakes
|
|
||||||
lorri.enable = false;
|
|
||||||
};
|
|
||||||
xdg = { mime.enable = true; };
|
|
||||||
xsession = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
scriptPath = ".hm-xsession";
|
font = "Fira Code 14";
|
||||||
windowManager = {
|
lines = 10;
|
||||||
i3 = import ../hm-configs/i3.nix { inherit lib statusCmd; };
|
location = "center";
|
||||||
awesome = { enable = false; };
|
theme = "~/.config/rofi/theme.rasi";
|
||||||
|
};
|
||||||
|
ssh = {
|
||||||
|
enable = true;
|
||||||
|
matchBlocks = {
|
||||||
|
"pi".hostname = "192.168.1.99";
|
||||||
|
"gagarin" = {
|
||||||
|
hostname = "gagarin.local";
|
||||||
|
forwardAgent = true;
|
||||||
|
};
|
||||||
|
"soviet".hostname = "soviet.circumlunar.space";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
vscode = import ../hm-configs/vscode.nix { inherit pkgs; };
|
||||||
|
};
|
||||||
|
services = {
|
||||||
|
redshift = {
|
||||||
|
enable = true;
|
||||||
|
provider = "geoclue2";
|
||||||
|
};
|
||||||
|
dunst = import ../hm-configs/dunst.nix;
|
||||||
|
clipmenu.enable = true;
|
||||||
|
# disabled in favor of flakes
|
||||||
|
lorri.enable = false;
|
||||||
|
};
|
||||||
|
xdg = { mime.enable = true; };
|
||||||
|
xsession = {
|
||||||
|
enable = true;
|
||||||
|
scriptPath = ".hm-xsession";
|
||||||
|
windowManager = {
|
||||||
|
i3 = import ../hm-configs/i3.nix { inherit lib statusCmd; };
|
||||||
|
awesome = { enable = false; };
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
259
users/mat-hm.nix
259
users/mat-hm.nix
|
@ -1,153 +1,146 @@
|
||||||
{ config, ... }:
|
{ pkgs, ... }:
|
||||||
let
|
let
|
||||||
name = "Matthew Ess";
|
name = "Matthew Ess";
|
||||||
email = "mat@mat.services";
|
email = "mat@mat.services";
|
||||||
in {
|
in {
|
||||||
imports = [ <home-manager/nixos> ];
|
home = {
|
||||||
|
sessionVariables = { EDITOR = "nvim"; };
|
||||||
|
packages = with pkgs; [
|
||||||
|
# nix utilities
|
||||||
|
cachix
|
||||||
|
niv
|
||||||
|
nixfmt
|
||||||
|
nix-prefetch-git
|
||||||
|
fishPlugins.foreign-env
|
||||||
|
# command line utils
|
||||||
|
dnsutils
|
||||||
|
fd
|
||||||
|
fzy
|
||||||
|
httpie
|
||||||
|
jq
|
||||||
|
neofetch
|
||||||
|
rlwrap
|
||||||
|
tealdeer
|
||||||
|
];
|
||||||
|
file = import ../hm-configs/files-all.nix;
|
||||||
|
};
|
||||||
|
|
||||||
home-manager.useUserPackages = true;
|
programs = {
|
||||||
home-manager.useGlobalPkgs = true;
|
bat.enable = true;
|
||||||
|
broot.enable = true;
|
||||||
home-manager.users.mat = { pkgs, ... }: {
|
command-not-found.enable = true;
|
||||||
home = {
|
direnv = {
|
||||||
sessionVariables = { EDITOR = "nvim"; };
|
enable = true;
|
||||||
packages = with pkgs; [
|
enableNixDirenvIntegration = true;
|
||||||
# nix utilities
|
|
||||||
cachix
|
|
||||||
niv
|
|
||||||
nixfmt
|
|
||||||
nix-prefetch-git
|
|
||||||
fishPlugins.foreign-env
|
|
||||||
# command line utils
|
|
||||||
dnsutils
|
|
||||||
fd
|
|
||||||
fzy
|
|
||||||
httpie
|
|
||||||
jq
|
|
||||||
neofetch
|
|
||||||
rlwrap
|
|
||||||
tealdeer
|
|
||||||
];
|
|
||||||
file = import ../hm-configs/files-all.nix;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
fish = {
|
||||||
bat.enable = true;
|
enable = true;
|
||||||
broot.enable = true;
|
interactiveShellInit = ''
|
||||||
command-not-found.enable = true;
|
echo 'ヽ(´ᗜ`)ノ welcome ヽ(´ᗜ`)ノ'
|
||||||
direnv = {
|
if not functions -q fisher
|
||||||
enable = true;
|
set -q XDG_CONFIG_HOME; or set XDG_CONFIG_HOME ~/.config
|
||||||
enableNixDirenvIntegration = true;
|
curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher
|
||||||
|
fish -c fisher update
|
||||||
|
end
|
||||||
|
fish_vi_key_bindings
|
||||||
|
set VIRTUAL_ENV_DISABLE_PROMPT true
|
||||||
|
|
||||||
|
alias cat=bat
|
||||||
|
alias br=broot
|
||||||
|
alias tree=br
|
||||||
|
alias ack=rg
|
||||||
|
alias ag=rg
|
||||||
|
alias grep=rg
|
||||||
|
|
||||||
|
alias sys="sudo systemctl"
|
||||||
|
|
||||||
|
alias rebuild="sudo nixos-rebuild switch"
|
||||||
|
alias rebuildd="sudo nixos-rebuild switch; and systemctl restart display-manager"
|
||||||
|
alias upgrade="sudo rm -rf /root/.cache/nix/tarballs; and sudo nix-channel --update; and sudo nixos-rebuild switch --upgrade"
|
||||||
|
|
||||||
|
bind \cr 'fzy_select_history (commandline -b)'
|
||||||
|
bind -M insert \cr 'fzy_select_history (commandline -b)'
|
||||||
|
|
||||||
|
bind \cf 'fzy_select_directory'
|
||||||
|
bind -M insert \cf 'fzy_select_directory'
|
||||||
|
|
||||||
|
bind -M insert ! __history_previous_command
|
||||||
|
bind -M insert '$' __history_previous_command_arguments
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "${name}";
|
||||||
|
userEmail = "${email}";
|
||||||
|
ignores = [ ".*.sw[a-z]" "tags" ];
|
||||||
|
extraConfig = {
|
||||||
|
color.ui = true;
|
||||||
|
core.editor = "vim";
|
||||||
|
push.default = "simple";
|
||||||
|
init.defaultBranch = "main";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
fish = {
|
htop = {
|
||||||
enable = true;
|
enable = true;
|
||||||
interactiveShellInit = ''
|
highlightBaseName = true;
|
||||||
echo 'ヽ(´ᗜ`)ノ welcome ヽ(´ᗜ`)ノ'
|
};
|
||||||
if not functions -q fisher
|
|
||||||
set -q XDG_CONFIG_HOME; or set XDG_CONFIG_HOME ~/.config
|
|
||||||
curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher
|
|
||||||
fish -c fisher update
|
|
||||||
end
|
|
||||||
fish_vi_key_bindings
|
|
||||||
set VIRTUAL_ENV_DISABLE_PROMPT true
|
|
||||||
|
|
||||||
alias cat=bat
|
kakoune = {
|
||||||
alias br=broot
|
enable = false;
|
||||||
alias tree=br
|
config = {
|
||||||
alias ack=rg
|
numberLines = {
|
||||||
alias ag=rg
|
enable = true;
|
||||||
alias grep=rg
|
highlightCursor = true;
|
||||||
|
relative = true;
|
||||||
alias sys="sudo systemctl"
|
};
|
||||||
|
ui = {
|
||||||
alias rebuild="sudo nixos-rebuild switch"
|
enableMouse = true;
|
||||||
alias rebuildd="sudo nixos-rebuild switch; and systemctl restart display-manager"
|
assistant = "cat";
|
||||||
alias upgrade="sudo rm -rf /root/.cache/nix/tarballs; and sudo nix-channel --update; and sudo nixos-rebuild switch --upgrade"
|
};
|
||||||
|
wrapLines = {
|
||||||
bind \cr 'fzy_select_history (commandline -b)'
|
enable = true;
|
||||||
bind -M insert \cr 'fzy_select_history (commandline -b)'
|
indent = true;
|
||||||
|
marker = "⏎";
|
||||||
bind \cf 'fzy_select_directory'
|
word = true;
|
||||||
bind -M insert \cf 'fzy_select_directory'
|
|
||||||
|
|
||||||
bind -M insert ! __history_previous_command
|
|
||||||
bind -M insert '$' __history_previous_command_arguments
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "${name}";
|
|
||||||
userEmail = "${email}";
|
|
||||||
ignores = [ ".*.sw[a-z]" "tags" ];
|
|
||||||
extraConfig = {
|
|
||||||
color.ui = true;
|
|
||||||
core.editor = "vim";
|
|
||||||
push.default = "simple";
|
|
||||||
init.defaultBranch = "main";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
htop = {
|
keychain = {
|
||||||
enable = true;
|
enable = true;
|
||||||
highlightBaseName = true;
|
extraFlags = [ "--quiet" "--nogui" ];
|
||||||
};
|
enableFishIntegration = true;
|
||||||
|
enableXsessionIntegration = false;
|
||||||
|
};
|
||||||
|
|
||||||
kakoune = {
|
man.enable = true;
|
||||||
enable = false;
|
neovim = import ../hm-configs/neovim.nix { inherit pkgs; };
|
||||||
config = {
|
|
||||||
numberLines = {
|
|
||||||
enable = true;
|
|
||||||
highlightCursor = true;
|
|
||||||
relative = true;
|
|
||||||
};
|
|
||||||
ui = {
|
|
||||||
enableMouse = true;
|
|
||||||
assistant = "cat";
|
|
||||||
};
|
|
||||||
wrapLines = {
|
|
||||||
enable = true;
|
|
||||||
indent = true;
|
|
||||||
marker = "⏎";
|
|
||||||
word = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
keychain = {
|
ssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraFlags = [ "--quiet" "--nogui" ];
|
serverAliveInterval = 60;
|
||||||
enableFishIntegration = true;
|
extraOptionOverrides = { "AddKeysToAgent" = "true"; };
|
||||||
enableXsessionIntegration = false;
|
};
|
||||||
};
|
|
||||||
|
|
||||||
man.enable = true;
|
starship.enable = true;
|
||||||
neovim = import ../hm-configs/neovim.nix { inherit pkgs; };
|
|
||||||
|
|
||||||
ssh = {
|
tmux = {
|
||||||
enable = true;
|
enable = true;
|
||||||
serverAliveInterval = 60;
|
keyMode = "vi";
|
||||||
extraOptionOverrides = { "AddKeysToAgent" = "true"; };
|
newSession = true;
|
||||||
};
|
shortcut = "a";
|
||||||
|
baseIndex = 1;
|
||||||
starship.enable = true;
|
terminal = "tmux-256color";
|
||||||
|
extraConfig = ''
|
||||||
tmux = {
|
set -g mouse on
|
||||||
enable = true;
|
setw -g pane-base-index 1
|
||||||
keyMode = "vi";
|
unbind %
|
||||||
newSession = true;
|
bind | split-window -h
|
||||||
shortcut = "a";
|
bind _ split-window -v
|
||||||
baseIndex = 1;
|
'';
|
||||||
terminal = "tmux-256color";
|
|
||||||
extraConfig = ''
|
|
||||||
set -g mouse on
|
|
||||||
setw -g pane-base-index 1
|
|
||||||
unbind %
|
|
||||||
bind | split-window -h
|
|
||||||
bind _ split-window -v
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue