loki | move home-directory to module

This commit is contained in:
Don Harper 2023-04-04 07:18:52 -05:00
parent bf1dcf6028
commit 41f54c0fa3
2 changed files with 233 additions and 0 deletions

View file

@ -4,9 +4,11 @@
imports =
[
<nixos-hardware/dell/xps/13-9310>
<home-manager/nixos>
/etc/nixos/hardware-configuration.nix
/home/don/nixos/workstation/configuration.nix
/home/don/nixos/loki/kernel.nix
/home/don/nixos/workstation/home.nix
/home/don/nixos/workstation/sway.nix
/home/don/nixos/workstation/detect-reboot-needed.nix
];

231
workstation/home.nix Normal file
View file

@ -0,0 +1,231 @@
{ config, pkgs, ... }:
{
users.users.don.isNormalUser = true;
home-manager.users.don = {
home.username = "don";
home.homeDirectory = "/home/don";
home.stateVersion = "22.11";
home.shellAliases = {
x = "myX";
mroe = "more";
moer = "more";
ls = "ls -hCF";
l = "ls -l";
df = "df -h -x squashfs";
du = "du -h" ;
dotdrop = "\$\{HOME\}/.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 | sed 's?/dev/pts/??')";
bashrcExtra =
''
export GOPATH="/home/don/go"
export PROMPT_COMMAND='history -a'
set bell-style visible
set nobeep
set -o noclobber
ulimit -c 0
umask 0007
export PAGER=less
export LESS="-s"
#if [ -d /home/don/.bash_completion.d ]; then
#for i in $(ls -1 /home/don/.bash_completion.d/*.sh); do source $i; done
#fi
test -f "/home/don/.bash_$(hostname -s)" && source /home/don/.bash_$(hostname -s)
test -f /home/don/.liquidprompt/liquidprompt && source /home/don/.liquidprompt/liquidprompt
test -f "/home/don/.bash_functions" && source "/home/don/.bash_functions"
'';
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 = [ "\${HOME}/.ssh/id_ed25519" ];
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'\""
];
};
};
};
};
};
}