242 lines
7.5 KiB
Nix
242 lines
7.5 KiB
Nix
{ 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']}
|
|
'';
|
|
#filetype plugin on
|
|
#let g:netrw_silent = 1
|
|
#let g:spchkdialect = "usa"
|
|
#let g:BASH_AuthorName = 'Don Harper'
|
|
#let g:BASH_Email = 'don@donharper.org'
|
|
#let g:BASH_Company = 'Don Harper'
|
|
#filetype indent on
|
|
#"filetype off " required
|
|
#filetype plugin indent on " required
|
|
#let g:airline#extensions#tabline#enabled = 1
|
|
#let g:airline#theme = 'wombat'
|
|
#highlight GitGutterAdd guifg = #009900 ctermfg=Green
|
|
#highlight GitGutterChange guifg = #bbbb00 ctermfg=Yellow
|
|
#highlight GitGutterDelete guifg = #ff2222 ctermfg=Red
|
|
#let g:gitgutter_enabled = 1
|
|
#let g:gitgutter_map_keys = 0
|
|
#let g:gitgutter_highlight_lines = 0
|
|
#if &t_Co > 2 || has("gui_running")
|
|
#mouse = a
|
|
#syntax on
|
|
#guioptions- = T
|
|
#gfn = Monospace\ Regular\ 10
|
|
#endif
|
|
#let g:vim_markdown_folding_level = 6
|
|
|
|
plugins = with pkgs.vimPlugins; [
|
|
#bash-support
|
|
#git
|
|
#lightline
|
|
#vc.vim
|
|
#vim-taskwarrior
|
|
#winresizer
|
|
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"
|
|
if [ -d ~/.bash_completion.d ]; then
|
|
for i in $(ls -1 ~/.bash_completion.d/*.sh); do . $i; done
|
|
fi
|
|
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'\""
|
|
];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|