workstation | refactor home-manager, remove basshrc control from home-manager
This commit is contained in:
parent
2b2653baa5
commit
2010f05730
12 changed files with 163 additions and 218 deletions
|
|
@ -3,10 +3,9 @@
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
<home-manager/nixos>
|
|
||||||
/etc/nixos/hardware-configuration.nix
|
/etc/nixos/hardware-configuration.nix
|
||||||
/home/don/nixos/workstation/configuration.nix
|
/home/don/nixos/workstation/configuration.nix
|
||||||
/home/don/nixos/workstation/home.nix
|
/home/don/nixos/workstation/home
|
||||||
/home/don/nixos/workstation/sway.nix
|
/home/don/nixos/workstation/sway.nix
|
||||||
/home/don/nixos/workstation/detect-reboot-needed.nix
|
/home/don/nixos/workstation/detect-reboot-needed.nix
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,9 @@
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
<home-manager/nixos>
|
|
||||||
/etc/nixos/hardware-configuration.nix
|
/etc/nixos/hardware-configuration.nix
|
||||||
/home/don/nixos/workstation/configuration.nix
|
/home/don/nixos/workstation/configuration.nix
|
||||||
/home/don/nixos/workstation/home.nix
|
/home/don/nixos/workstation/home
|
||||||
/home/don/nixos/workstation/sway.nix
|
/home/don/nixos/workstation/sway.nix
|
||||||
/home/don/nixos/workstation/detect-reboot-needed.nix
|
/home/don/nixos/workstation/detect-reboot-needed.nix
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,9 @@
|
||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
<nixos-hardware/google/pixelbook>
|
<nixos-hardware/google/pixelbook>
|
||||||
<home-manager/nixos>
|
|
||||||
/etc/nixos/hardware-configuration.nix
|
/etc/nixos/hardware-configuration.nix
|
||||||
/home/don/nixos/workstation/configuration.nix
|
/home/don/nixos/workstation/configuration.nix
|
||||||
/home/don/nixos/workstation/home.nix
|
/home/don/nixos/workstation/home
|
||||||
/home/don/nixos/workstation/sway.nix
|
/home/don/nixos/workstation/sway.nix
|
||||||
/home/don/nixos/workstation/detect-reboot-needed.nix
|
/home/don/nixos/workstation/detect-reboot-needed.nix
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,10 @@
|
||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
<nixos-hardware/dell/xps/13-9310>
|
<nixos-hardware/dell/xps/13-9310>
|
||||||
<home-manager/nixos>
|
|
||||||
/etc/nixos/hardware-configuration.nix
|
/etc/nixos/hardware-configuration.nix
|
||||||
/home/don/nixos/workstation/configuration.nix
|
/home/don/nixos/workstation/configuration.nix
|
||||||
/home/don/nixos/loki/kernel.nix
|
/home/don/nixos/loki/kernel.nix
|
||||||
/home/don/nixos/workstation/home.nix
|
/home/don/nixos/workstation/home
|
||||||
/home/don/nixos/workstation/sway.nix
|
/home/don/nixos/workstation/sway.nix
|
||||||
/home/don/nixos/workstation/detect-reboot-needed.nix
|
/home/don/nixos/workstation/detect-reboot-needed.nix
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,9 @@
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
<home-manager/nixos>
|
|
||||||
/etc/nixos/hardware-configuration.nix
|
/etc/nixos/hardware-configuration.nix
|
||||||
/home/don/nixos/workstation/configuration.nix
|
/home/don/nixos/workstation/configuration.nix
|
||||||
/home/don/nixos/workstation/home.nix
|
/home/don/nixos/workstation/home
|
||||||
/home/don/nixos/workstation/sway.nix
|
/home/don/nixos/workstation/sway.nix
|
||||||
/home/don/nixos/workstation/detect-reboot-needed.nix
|
/home/don/nixos/workstation/detect-reboot-needed.nix
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,9 @@
|
||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
<nixos-hardware/lenovo/thinkpad/x260>
|
<nixos-hardware/lenovo/thinkpad/x260>
|
||||||
<home-manager/nixos>
|
|
||||||
/etc/nixos/hardware-configuration.nix
|
/etc/nixos/hardware-configuration.nix
|
||||||
/home/don/nixos/workstation/configuration.nix
|
/home/don/nixos/workstation/configuration.nix
|
||||||
/home/don/nixos/workstation/home.nix
|
/home/don/nixos/workstation/home
|
||||||
/home/don/nixos/workstation/sway.nix
|
/home/don/nixos/workstation/sway.nix
|
||||||
/home/don/nixos/workstation/detect-reboot-needed.nix
|
/home/don/nixos/workstation/detect-reboot-needed.nix
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,206 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
users.users.don.isNormalUser = true;
|
|
||||||
home-manager.users.don = {
|
|
||||||
home.username = "don";
|
|
||||||
home.homeDirectory = "/home/don";
|
|
||||||
home.stateVersion = "22.11";
|
|
||||||
home.shellAliases = {
|
|
||||||
ls = "ls -hCF";
|
|
||||||
l = "ls -l";
|
|
||||||
df = "df -h -x squashfs";
|
|
||||||
du = "du -h" ;
|
|
||||||
dotdrop = "~/.local/bin/dotdrop -c ~/.dotfiles/config.yaml";
|
|
||||||
t = "task";
|
|
||||||
ttoday = "task +TODAY or +OVERDUE -BLOCKED";
|
|
||||||
ttom = "task +OVERDUE or +TOMORROW -BLOCKED";
|
|
||||||
to = "task list +OVERDUE";
|
|
||||||
turl = "task nnext | urlview";
|
|
||||||
tfollow = "task list +followup";
|
|
||||||
tnext = "task list +nextactions";
|
|
||||||
open = "xdg-open";
|
|
||||||
tt = "timew";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.neovim = {
|
|
||||||
enable = true;
|
|
||||||
viAlias = true;
|
|
||||||
vimAlias = true;
|
|
||||||
vimdiffAlias = true;
|
|
||||||
extraConfig =
|
|
||||||
''
|
|
||||||
colorscheme dracula
|
|
||||||
set backspace="indent,eol,start"
|
|
||||||
set autoindent
|
|
||||||
set expandtab
|
|
||||||
set tabstop=2
|
|
||||||
set shiftwidth=2
|
|
||||||
set history=50
|
|
||||||
set ruler
|
|
||||||
set showcmd
|
|
||||||
set incsearch
|
|
||||||
set hlsearch
|
|
||||||
set nospell
|
|
||||||
set modeline
|
|
||||||
set wildmode=longest:full
|
|
||||||
set wildmenu
|
|
||||||
set scrolloff=2
|
|
||||||
set number
|
|
||||||
set list
|
|
||||||
"set listchars="eol:⏎,tab:␉·,trail:␠,nbsp:⎵"
|
|
||||||
set background=dark
|
|
||||||
set laststatus=2
|
|
||||||
set t_Co=256
|
|
||||||
let g:ale_linters = { 'nix': ['statix']}
|
|
||||||
'';
|
|
||||||
plugins = with pkgs.vimPlugins; [
|
|
||||||
CheckAttach
|
|
||||||
Recover-vim
|
|
||||||
Shade-nvim # color
|
|
||||||
SpaceCamp # color
|
|
||||||
YouCompleteMe
|
|
||||||
ale
|
|
||||||
ansible-vim
|
|
||||||
aurora # color
|
|
||||||
dracula-nvim
|
|
||||||
gitv
|
|
||||||
tabular
|
|
||||||
vim-airline
|
|
||||||
vim-airline-themes
|
|
||||||
vim-bufferline
|
|
||||||
vim-fugitive
|
|
||||||
vim-gitgutter
|
|
||||||
vim-github-dashboard
|
|
||||||
vim-markdown
|
|
||||||
vim-misc
|
|
||||||
vim-nix
|
|
||||||
vim-tmux
|
|
||||||
vim-tmux-navigator
|
|
||||||
];
|
|
||||||
};
|
|
||||||
programs.bash = {
|
|
||||||
enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
enableVteIntegration = false;
|
|
||||||
historyFile = "\$\{HOME\}/.bash_history.\${USER}.\$(hostname -s).\$(tty | cut -c10-)";
|
|
||||||
bashrcExtra =
|
|
||||||
''
|
|
||||||
export GOPATH="~/go"
|
|
||||||
export PROMPT_COMMAND='history -a'
|
|
||||||
export EDITOR="nvim"
|
|
||||||
export PATH="$PATH:~/bin:~/.local/bin"
|
|
||||||
set bell-style visible
|
|
||||||
set nobeep
|
|
||||||
set -o noclobber
|
|
||||||
ulimit -c 0
|
|
||||||
umask 0007
|
|
||||||
export PAGER=less
|
|
||||||
export LESS="-s"
|
|
||||||
if [ -f "${pkgs.bash-completion}/etc/profile.d/bash_completion.sh" ]
|
|
||||||
then
|
|
||||||
. "${pkgs.bash-completion}/etc/profile.d/bash_completion.sh"
|
|
||||||
fi
|
|
||||||
export HOSTNAME_SHORT=$(hostname -s)
|
|
||||||
test -f ~/.bash_$(hostname -s) && . ~/.bash_$(hostname -s)
|
|
||||||
[[ $- == *i* ]] && test -f ~/.liquidprompt/liquidprompt && . ~/.liquidprompt/liquidprompt
|
|
||||||
test -f ~/.bash_functions && . ~/.bash_functions
|
|
||||||
export TZ=America/Chicago
|
|
||||||
export DOCKER_HOST="unix://$XDG_RUNTIME_DIR/podman/podman.sock"
|
|
||||||
export LESS="-FrSsUWX -z-3"
|
|
||||||
headset-setup
|
|
||||||
if [ $( tty | grep -v -q pts ) ]; then setterm --blank 1; fi
|
|
||||||
export FZF_DEFAULT_OPTS='--color=fg:#f8f8f2,bg:#282a36,hl:#bd93f9 --color=fg+:#f8f8f2,bg+:#44475a,hl+:#bd93f9 --color=info:#ffb86c,prompt:#50fa7b,pointer:#ff79c6 --color=marker:#ff79c6,spinner:#ffb86c,header:#6272a4'
|
|
||||||
'';
|
|
||||||
profileExtra =
|
|
||||||
''
|
|
||||||
# From me
|
|
||||||
. ~/.bash_motd && bash_motd --banner --processor --memory --diskspace --podman --docker
|
|
||||||
'';
|
|
||||||
shellOptions = [
|
|
||||||
"autocd"
|
|
||||||
"cdspell"
|
|
||||||
"checkjobs"
|
|
||||||
"checkwinsize"
|
|
||||||
"dotglob"
|
|
||||||
"extglob"
|
|
||||||
"histappend"
|
|
||||||
"histreedit"
|
|
||||||
"histverify"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
programs.go.enable = true;
|
|
||||||
programs.keychain = {
|
|
||||||
enable = true;
|
|
||||||
enableBashIntegration = true;
|
|
||||||
agents = [ "ssh" ];
|
|
||||||
keys = [ "~/.ssh/id_ed25519" "~/.ssh/git" "~/.ssh/id_dsa.2022" "~/.ssh/id_rsa.2020" "~/.ssh/id_rsa.2022" ];
|
|
||||||
inheritType = "any";
|
|
||||||
};
|
|
||||||
programs.mpv = {
|
|
||||||
enable = true;
|
|
||||||
# config = {
|
|
||||||
# cache-dir = "\${HOME}/.cache";
|
|
||||||
# cache-on-disk = "yes";
|
|
||||||
# cache = "yes";
|
|
||||||
# demuxer-max-back-bytes = "100M";
|
|
||||||
# demuxer-max-bytes = "500M";
|
|
||||||
# demuxer-readahead-secs = "20";
|
|
||||||
# pause = "no";
|
|
||||||
# save-position-on-quit = "yes";
|
|
||||||
# slang = "en";
|
|
||||||
# user-agent = "Mozilla/5.0";
|
|
||||||
# ytdl-format = "bestvideo+bestaudio";
|
|
||||||
# ytdl-raw-options = "no-playlist=";
|
|
||||||
# ytdl = "yes";
|
|
||||||
# script-opts = "ytdl_hook-ytdl_path=yt-dlp";
|
|
||||||
# };
|
|
||||||
scripts = [ pkgs.mpvScripts.autoload ];
|
|
||||||
#scripts = [ pkgs.mpvScripts.autoload pkgs.mpvScripts.sponsorblock ];
|
|
||||||
};
|
|
||||||
services = {
|
|
||||||
gpg-agent = {
|
|
||||||
enable = true;
|
|
||||||
defaultCacheTtl = 1800;
|
|
||||||
enableSshSupport = true;
|
|
||||||
};
|
|
||||||
kanshi = {
|
|
||||||
enable = true;
|
|
||||||
profiles = {
|
|
||||||
undocked = {
|
|
||||||
outputs = [
|
|
||||||
{
|
|
||||||
criteria = "Sharp Corporation 0x14F9 0x00000000";
|
|
||||||
status = "enable";
|
|
||||||
scale = 1.2;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
docked = {
|
|
||||||
outputs = [
|
|
||||||
{
|
|
||||||
criteria = "eDP-1";
|
|
||||||
status = "disable";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria = "Samsung Electric Company C24F390 H4ZN519488";
|
|
||||||
status = "enable";
|
|
||||||
position = "0,0";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria = "Stargate Technology HDMI Unknown";
|
|
||||||
status = "enable";
|
|
||||||
position = "0,1080";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
exec = [
|
|
||||||
"swaymsg workspace 1, move workspace to output \"Samsung Electric Company C24F390 H4ZN519488\""
|
|
||||||
"swaymsg workspace 5, move workspace to output \"Stargate Technology HDMI Unknown\""
|
|
||||||
"swaymsg workspace 6, move workspace to output \"Samsung Electric Company C24F390 H4ZN519488\""
|
|
||||||
"swaymsg workspace 9, move workspace to output \"Stargate Technology HDMI Unknown\""
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
21
workstation/home/default.nix
Normal file
21
workstation/home/default.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
<home-manager/nixos>
|
||||||
|
];
|
||||||
|
users.users.don.isNormalUser = true;
|
||||||
|
home-manager.users.don = {
|
||||||
|
home.username = "don";
|
||||||
|
home.homeDirectory = "/home/don";
|
||||||
|
home.stateVersion = "22.11";
|
||||||
|
programs.go.enable = true;
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
./services.nix
|
||||||
|
./mpv.nix
|
||||||
|
./neovim.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
10
workstation/home/home.nix
Normal file
10
workstation/home/home.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
users.users.don.isNormalUser = true;
|
||||||
|
home-manager.users.don = {
|
||||||
|
home.username = "don";
|
||||||
|
home.homeDirectory = "/home/don";
|
||||||
|
home.stateVersion = "22.11";
|
||||||
|
programs.go.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
24
workstation/home/mpv.nix
Normal file
24
workstation/home/mpv.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.mpv = {
|
||||||
|
enable = true;
|
||||||
|
# config = {
|
||||||
|
# cache-dir = "\${HOME}/.cache";
|
||||||
|
# cache-on-disk = "yes";
|
||||||
|
# cache = "yes";
|
||||||
|
# demuxer-max-back-bytes = "100M";
|
||||||
|
# demuxer-max-bytes = "500M";
|
||||||
|
# demuxer-readahead-secs = "20";
|
||||||
|
# pause = "no";
|
||||||
|
# save-position-on-quit = "yes";
|
||||||
|
# slang = "en";
|
||||||
|
# user-agent = "Mozilla/5.0";
|
||||||
|
# ytdl-format = "bestvideo+bestaudio";
|
||||||
|
# ytdl-raw-options = "no-playlist=";
|
||||||
|
# ytdl = "yes";
|
||||||
|
# script-opts = "ytdl_hook-ytdl_path=yt-dlp";
|
||||||
|
# };
|
||||||
|
scripts = [ pkgs.mpvScripts.autoload ];
|
||||||
|
#scripts = [ pkgs.mpvScripts.autoload pkgs.mpvScripts.sponsorblock ];
|
||||||
|
};
|
||||||
|
}
|
||||||
59
workstation/home/neovim.nix
Normal file
59
workstation/home/neovim.nix
Normal file
|
|
@ -0,0 +1,59 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
viAlias = true;
|
||||||
|
vimAlias = true;
|
||||||
|
vimdiffAlias = true;
|
||||||
|
extraConfig =
|
||||||
|
''
|
||||||
|
colorscheme dracula
|
||||||
|
set backspace="indent,eol,start"
|
||||||
|
set autoindent
|
||||||
|
set expandtab
|
||||||
|
set tabstop=2
|
||||||
|
set shiftwidth=2
|
||||||
|
set history=50
|
||||||
|
set ruler
|
||||||
|
set showcmd
|
||||||
|
set incsearch
|
||||||
|
set hlsearch
|
||||||
|
set nospell
|
||||||
|
set modeline
|
||||||
|
set wildmode=longest:full
|
||||||
|
set wildmenu
|
||||||
|
set scrolloff=2
|
||||||
|
set number
|
||||||
|
set list
|
||||||
|
"set listchars="eol:⏎,tab:␉·,trail:␠,nbsp:⎵"
|
||||||
|
set background=dark
|
||||||
|
set laststatus=2
|
||||||
|
set t_Co=256
|
||||||
|
let g:ale_linters = { 'nix': ['statix']}
|
||||||
|
'';
|
||||||
|
plugins = with pkgs.vimPlugins; [
|
||||||
|
CheckAttach
|
||||||
|
Recover-vim
|
||||||
|
Shade-nvim # color
|
||||||
|
SpaceCamp # color
|
||||||
|
YouCompleteMe
|
||||||
|
ale
|
||||||
|
ansible-vim
|
||||||
|
aurora # color
|
||||||
|
dracula-nvim
|
||||||
|
gitv
|
||||||
|
tabular
|
||||||
|
vim-airline
|
||||||
|
vim-airline-themes
|
||||||
|
vim-bufferline
|
||||||
|
vim-fugitive
|
||||||
|
vim-gitgutter
|
||||||
|
vim-github-dashboard
|
||||||
|
vim-markdown
|
||||||
|
vim-misc
|
||||||
|
vim-nix
|
||||||
|
vim-tmux
|
||||||
|
vim-tmux-navigator
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
43
workstation/home/services.nix
Normal file
43
workstation/home/services.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
services = {
|
||||||
|
kanshi = {
|
||||||
|
enable = true;
|
||||||
|
profiles = {
|
||||||
|
undocked = {
|
||||||
|
outputs = [
|
||||||
|
{
|
||||||
|
criteria = "Sharp Corporation 0x14F9 0x00000000";
|
||||||
|
status = "enable";
|
||||||
|
scale = 1.2;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
docked = {
|
||||||
|
outputs = [
|
||||||
|
{
|
||||||
|
criteria = "eDP-1";
|
||||||
|
status = "disable";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "Samsung Electric Company C24F390 H4ZN519488";
|
||||||
|
status = "enable";
|
||||||
|
position = "0,0";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "Stargate Technology HDMI Unknown";
|
||||||
|
status = "enable";
|
||||||
|
position = "0,1080";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
exec = [
|
||||||
|
"swaymsg workspace 1, move workspace to output \"Samsung Electric Company C24F390 H4ZN519488\""
|
||||||
|
"swaymsg workspace 5, move workspace to output \"Stargate Technology HDMI Unknown\""
|
||||||
|
"swaymsg workspace 6, move workspace to output \"Samsung Electric Company C24F390 H4ZN519488\""
|
||||||
|
"swaymsg workspace 9, move workspace to output \"Stargate Technology HDMI Unknown\""
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue