mirror of
https://github.com/starr-dusT/dotfiles.git
synced 2025-02-19 19:27:31 -08:00
Merge branch 'master' of github.com:starr-dusT/dotfiles
This commit is contained in:
commit
5a6b39526b
@ -15,26 +15,6 @@
|
||||
url = "https://github.com/wbthomason/packer.nvim.git"
|
||||
refreshPeriod = "168h"
|
||||
|
||||
[".oh-my-zsh"]
|
||||
type = "archive"
|
||||
url = "https://github.com/ohmyzsh/ohmyzsh/archive/master.tar.gz"
|
||||
extact = true
|
||||
stripComponents = 1
|
||||
refreshPeriod = "168h"
|
||||
|
||||
[".oh-my-zsh/custom/themes/dracula"]
|
||||
type = "archive"
|
||||
url = "https://github.com/dracula/zsh/archive/master.zip"
|
||||
exact = true
|
||||
stripComponents = 1
|
||||
refreshPeriod = "168h"
|
||||
include = ["*/dracula.zsh-theme", "*/lib/**"]
|
||||
|
||||
[".oh-my-zsh/custom/plugins/zsh-syntax-highlighting"]
|
||||
type = "git-repo"
|
||||
url = "https://github.com/zsh-users/zsh-syntax-highlighting.git"
|
||||
refreshPeriod = "168h"
|
||||
|
||||
[".config/xmonad/xmonad"]
|
||||
type = "git-repo"
|
||||
url = "https://github.com/xmonad/xmonad"
|
||||
@ -49,11 +29,3 @@
|
||||
type = "git-repo"
|
||||
url = "https://codeberg.org/xmobar/xmobar"
|
||||
refreshPeriod = "168h"
|
||||
|
||||
[".config/nnn/plugins"]
|
||||
type = "archive"
|
||||
url = "https://github.com/jarun/nnn/archive/master.zip"
|
||||
exact = true
|
||||
stripComponents = 2
|
||||
refreshPeriod = "168h"
|
||||
include = ["*/plugins/**"]
|
||||
|
13
home/.chezmoiscripts/run_onchange_add-non-steam.sh
Normal file
13
home/.chezmoiscripts/run_onchange_add-non-steam.sh
Normal file
@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
# Add non-steam games to steam
|
||||
|
||||
apps=(
|
||||
"dolphin-emu Dolphin"
|
||||
"yuzu Yuzu"
|
||||
)
|
||||
|
||||
for app in "${apps[@]}"
|
||||
do
|
||||
set -- $app
|
||||
steamtinkerlaunch addnonsteamgame -ep="$1" -an="$2"
|
||||
done
|
0
home/bin/executable_linux-add-nonsteam
Normal file
0
home/bin/executable_linux-add-nonsteam
Normal file
35
home/dot_aliases
Normal file
35
home/dot_aliases
Normal file
@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
# https://github.com/starr-dusT/dotfiles
|
||||
|
||||
# nixos
|
||||
alias nixos-update="cd ~/.local/share/chezmoi/provision/nixos && \
|
||||
sudo nixos-rebuild switch --flake .#$(hostname) && \
|
||||
cd -"
|
||||
# sway
|
||||
alias s='sway'
|
||||
|
||||
# tmuxinator
|
||||
alias tsplat='tmuxinator start splat'
|
||||
alias tdot='tmuxinator start dot'
|
||||
alias ttask='tmuxinator start task'
|
||||
|
||||
# chezmoi
|
||||
alias cc="cd ~/.local/share/chezmoi"
|
||||
alias cdr="chezmoi apply --verbose --dry-run"
|
||||
alias ca="chezmoi apply"
|
||||
alias ce='chezmoi edit'
|
||||
|
||||
# trashcli
|
||||
alias rm='echo "This is not the command you are looking for."; false'
|
||||
alias tp='trash-put'
|
||||
alias te='trash-empty'
|
||||
alias tl='trash-list'
|
||||
alias tre='trash-restore'
|
||||
alias trm='trash-rm'
|
||||
alias rofi='wayland-rofi'
|
||||
|
||||
# zk
|
||||
alias cz="cd ~/documents/zet"
|
||||
|
||||
# nnn
|
||||
alias n="nnn -e"
|
@ -1,15 +1,32 @@
|
||||
##⠀⠀⠀⠀⠀⠀⠀⠀⢠⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||
#⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||
#⠀⠀⠀⠀⠀⠀⠀⠀⣼⡏⠸⣧⠀⠀⠀⠀⠀⠀⠀⠀
|
||||
#⠠⢤⣤⣤⣤⣤⣤⣴⡿⠀⠀⢻⣦⣤⣤⣤⣤⣤⡤⠄ Tyler Starr (starr-dusT)
|
||||
#⠀⠀⠙⠻⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⠟⠋⠀⠀ https://github.com/starr-dusT/dotfiles
|
||||
#⠀⠀⠀⠀⠀⠙⣿⡆⠀⠀⠀⠀⠰⣿⠋⠀⠀⠀⠀⠀ https://tstarr.us
|
||||
#⠀⠀⠀⠀⠀⢰⡟⠀⣀⣴⣦⣀⠀⢻⡆⠀⠀⠀⠀⠀
|
||||
#⠀⠀⠀⠀⢀⣾⣧⡾⠛⠁⠈⠙⠷⣼⣿⡀⠀⠀⠀⠀
|
||||
# ⠀⠀⠀⡸⠟⠁⠀⠀⠀⠀⠀⠀⠈⠛⢧⠀⠀⠀⠀
|
||||
#
|
||||
# ~/.bash_profile
|
||||
# https://github.com/starr-dusT/dotfiles
|
||||
|
||||
# Get the aliases and functions
|
||||
[ -f $HOME/.bashrc ] && . $HOME/.bashrc
|
||||
export PS1="\u@\h \w> "
|
||||
# Load the shell dotfiles (that are available)
|
||||
for file in ~/.{path,bash_prompt,exports,aliases,functions,extra}; do
|
||||
[ -r "$file" ] && [ -f "$file" ] && source "$file";
|
||||
done;
|
||||
unset file;
|
||||
|
||||
# Case-insensitive globbing (used in pathname expansion)
|
||||
shopt -s nocaseglob;
|
||||
|
||||
# Append to the Bash history file, rather than overwriting it
|
||||
shopt -s histappend;
|
||||
|
||||
# Autocorrect typos in path names when using `cd`
|
||||
shopt -s cdspell;
|
||||
|
||||
# Enable some Bash 4 features when possible:
|
||||
# * `autocd`, e.g. `**/qux` will enter `./foo/bar/baz/qux`
|
||||
# * Recursive globbing, e.g. `echo **/*.txt`
|
||||
for option in autocd globstar; do
|
||||
shopt -s "$option" 2> /dev/null;
|
||||
done;
|
||||
|
||||
if [ -f /etc/bash_completion ]; then
|
||||
source /etc/bash_completion;
|
||||
fi;
|
||||
|
||||
# Enable tab completion for `g` by marking it as an alias for `git`
|
||||
if type _git &> /dev/null; then
|
||||
complete -o default -o nospace -F _git g;
|
||||
fi;
|
||||
|
108
home/dot_bash_prompt
Normal file
108
home/dot_bash_prompt
Normal file
@ -0,0 +1,108 @@
|
||||
#!/usr/bin/env bash
|
||||
# https://github.com/starr-dusT/dotfiles
|
||||
|
||||
prompt_git() {
|
||||
local s='';
|
||||
local branchName='';
|
||||
|
||||
# Check if the current directory is in a Git repository.
|
||||
git rev-parse --is-inside-work-tree &>/dev/null || return;
|
||||
|
||||
# Check for what branch we’re on.
|
||||
# Get the short symbolic ref. If HEAD isn’t a symbolic ref, get a
|
||||
# tracking remote branch or tag. Otherwise, get the
|
||||
# short SHA for the latest commit, or give up.
|
||||
branchName="$(git symbolic-ref --quiet --short HEAD 2> /dev/null || \
|
||||
git describe --all --exact-match HEAD 2> /dev/null || \
|
||||
git rev-parse --short HEAD 2> /dev/null || \
|
||||
echo '(unknown)')";
|
||||
|
||||
# Early exit for Chromium & Blink repo, as the dirty check takes too long.
|
||||
# Thanks, @paulirish!
|
||||
# https://github.com/paulirish/dotfiles/blob/dd33151f/.bash_prompt#L110-L123
|
||||
repoUrl="$(git config --get remote.origin.url)";
|
||||
if grep -q 'chromium/src.git' <<< "${repoUrl}"; then
|
||||
s+='*';
|
||||
else
|
||||
# Check for uncommitted changes in the index.
|
||||
if ! $(git diff --quiet --ignore-submodules --cached); then
|
||||
s+='+';
|
||||
fi;
|
||||
# Check for unstaged changes.
|
||||
if ! $(git diff-files --quiet --ignore-submodules --); then
|
||||
s+='!';
|
||||
fi;
|
||||
# Check for untracked files.
|
||||
if [ -n "$(git ls-files --others --exclude-standard)" ]; then
|
||||
s+='?';
|
||||
fi;
|
||||
# Check for stashed files.
|
||||
if $(git rev-parse --verify refs/stash &>/dev/null); then
|
||||
s+='$';
|
||||
fi;
|
||||
fi;
|
||||
|
||||
[ -n "${s}" ] && s=" [${s}]";
|
||||
|
||||
echo -e "${1}${branchName}${2}${s}";
|
||||
}
|
||||
|
||||
if tput setaf 1 &> /dev/null; then
|
||||
tput sgr0; # reset colors
|
||||
bold=$(tput bold);
|
||||
reset=$(tput sgr0);
|
||||
# Solarized colors, taken from http://git.io/solarized-colors.
|
||||
black=$(tput setaf 0);
|
||||
blue=$(tput setaf 33);
|
||||
cyan=$(tput setaf 37);
|
||||
green=$(tput setaf 64);
|
||||
orange=$(tput setaf 166);
|
||||
purple=$(tput setaf 125);
|
||||
red=$(tput setaf 124);
|
||||
violet=$(tput setaf 61);
|
||||
white=$(tput setaf 15);
|
||||
yellow=$(tput setaf 136);
|
||||
else
|
||||
bold='';
|
||||
reset="\e[0m";
|
||||
black="\e[1;30m";
|
||||
blue="\e[1;34m";
|
||||
cyan="\e[1;36m";
|
||||
green="\e[1;32m";
|
||||
orange="\e[1;33m";
|
||||
purple="\e[1;35m";
|
||||
red="\e[1;31m";
|
||||
violet="\e[1;35m";
|
||||
white="\e[1;37m";
|
||||
yellow="\e[1;33m";
|
||||
fi;
|
||||
|
||||
# Highlight the user name when logged in as root.
|
||||
if [[ "${USER}" == "root" ]]; then
|
||||
userStyle="${red}";
|
||||
else
|
||||
userStyle="${orange}";
|
||||
fi;
|
||||
|
||||
# Highlight the hostname when connected via SSH.
|
||||
if [[ "${SSH_TTY}" ]]; then
|
||||
hostStyle="${bold}${red}";
|
||||
else
|
||||
hostStyle="${yellow}";
|
||||
fi;
|
||||
|
||||
# Set the terminal title and prompt.
|
||||
PS1="\[\033]0;\W\007\]"; # working directory base name
|
||||
PS1+="\[${bold}\]\n"; # newline
|
||||
PS1+="\[${userStyle}\]\u"; # username
|
||||
PS1+="\[${white}\] at ";
|
||||
PS1+="\[${hostStyle}\]\h"; # host
|
||||
PS1+="\[${white}\] in ";
|
||||
PS1+="\[${green}\]\w"; # working directory full path
|
||||
PS1+="\$(prompt_git \"\[${white}\] on \[${violet}\]\" \"\[${blue}\]\")"; # Git repository details
|
||||
PS1+="\n";
|
||||
PS1+="\[${white}\]\$ \[${reset}\]"; # `$` (and reset color)
|
||||
export PS1;
|
||||
|
||||
PS2="\[${yellow}\]→ \[${reset}\]";
|
||||
export PS2;
|
@ -1,43 +1,3 @@
|
||||
##⠀⠀⠀⠀⠀⠀⠀⠀⢠⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||
#⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||
#⠀⠀⠀⠀⠀⠀⠀⠀⣼⡏⠸⣧⠀⠀⠀⠀⠀⠀⠀⠀
|
||||
#⠠⢤⣤⣤⣤⣤⣤⣴⡿⠀⠀⢻⣦⣤⣤⣤⣤⣤⡤⠄ Tyler Starr (starr-dusT)
|
||||
#⠀⠀⠙⠻⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⠟⠋⠀⠀ https://github.com/starr-dusT/dotfiles
|
||||
#⠀⠀⠀⠀⠀⠙⣿⡆⠀⠀⠀⠀⠰⣿⠋⠀⠀⠀⠀⠀ https://tstarr.us
|
||||
#⠀⠀⠀⠀⠀⢰⡟⠀⣀⣴⣦⣀⠀⢻⡆⠀⠀⠀⠀⠀
|
||||
#⠀⠀⠀⠀⢀⣾⣧⡾⠛⠁⠈⠙⠷⣼⣿⡀⠀⠀⠀⠀
|
||||
# ⠀⠀⠀⡸⠟⠁⠀⠀⠀⠀⠀⠀⠈⠛⢧⠀⠀⠀⠀
|
||||
#
|
||||
# Bash config.
|
||||
|
||||
# Source global definitions
|
||||
if [ -f /etc/bashrc ]; then
|
||||
. /etc/bashrc
|
||||
fi
|
||||
|
||||
export LC_COLLATE="C"
|
||||
|
||||
# User specific environment
|
||||
if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]]
|
||||
then
|
||||
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
|
||||
fi
|
||||
export PATH
|
||||
|
||||
export EDITOR="/usr/bin/nvim"
|
||||
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||
|
||||
export PATH="$HOME/.nimble/bin:$PATH"
|
||||
|
||||
alias spl="tmux_splat"
|
||||
alias n="nnn -d -e -H -r"
|
||||
alias s="startx"
|
||||
|
||||
# Chezmoi
|
||||
alias cmc="chezmoi cd"
|
||||
alias cmd="chezmoi apply --verbose --dry-run"
|
||||
alias cma="chezmoi apply"
|
||||
# https://github.com/starr-dusT/dotfiles
|
||||
|
||||
[ -n "$PS1" ] && source ~/.bash_profile;
|
||||
|
@ -1,6 +0,0 @@
|
||||
[Default Applications]
|
||||
inode/directory=pcmanfm.desktop;
|
||||
text/html=firefox.desktop;
|
||||
x-scheme-handler/http=firefox.desktop;
|
||||
x-scheme-handler/https=firefox.desktop;
|
||||
application/pdf=firefox.desktop
|
1
home/dot_config/nnn/bookmarks/symlink_chezmoi
Normal file
1
home/dot_config/nnn/bookmarks/symlink_chezmoi
Normal file
@ -0,0 +1 @@
|
||||
/home/tstarr/.local/share/chezmoi
|
1
home/dot_config/nnn/bookmarks/symlink_nvim
Normal file
1
home/dot_config/nnn/bookmarks/symlink_nvim
Normal file
@ -0,0 +1 @@
|
||||
/home/tstarr/.local/share/chezmoi/home/dot_config/nvim
|
1
home/dot_config/nnn/bookmarks/symlink_zet
Normal file
1
home/dot_config/nnn/bookmarks/symlink_zet
Normal file
@ -0,0 +1 @@
|
||||
/home/tstarr/documents/zet
|
7
home/dot_config/nnn/plugins/executable_getdrop
Executable file
7
home/dot_config/nnn/plugins/executable_getdrop
Executable file
@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ ! -e "$1" ] ; then
|
||||
git annex get "$1"
|
||||
else
|
||||
git annex drop "$1"
|
||||
fi
|
@ -1,8 +0,0 @@
|
||||
local wk = require("which-key")
|
||||
|
||||
wk.register({
|
||||
g = {
|
||||
name = "+git",
|
||||
g = { "<cmd>LazyGit<CR>", "Lazygit" },
|
||||
},
|
||||
}, { prefix = "<leader>" })
|
@ -1,5 +1,30 @@
|
||||
local wk = require("which-key")
|
||||
|
||||
-- Move visual blocks up and down
|
||||
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
|
||||
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
|
||||
|
||||
-- Keep cursor in center while jumping half-pages
|
||||
vim.keymap.set("n", "<C-d>", "<C-d>zz")
|
||||
vim.keymap.set("n", "<C-u>", "<C-u>zz")
|
||||
|
||||
-- Keep cursor in center while searching
|
||||
vim.keymap.set("n", "n", "nzzzv")
|
||||
vim.keymap.set("n", "N", "Nzzzv")
|
||||
|
||||
-- Change clipboard to clip to
|
||||
vim.keymap.set({"n", "v"}, "<leader>y", [["+y]])
|
||||
vim.keymap.set("n", "<leader>Y", [["+Y]])
|
||||
|
||||
-- Quick fix controls
|
||||
vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz")
|
||||
vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz")
|
||||
vim.keymap.set("n", "<leader>k", "<cmd>lnext<CR>zz")
|
||||
vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz")
|
||||
|
||||
-- Replace word under cursor
|
||||
vim.keymap.set("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
|
||||
|
||||
wk.register({
|
||||
-- tab commands
|
||||
t = {
|
||||
|
@ -1,19 +0,0 @@
|
||||
local wk = require("which-key")
|
||||
|
||||
wk.register({
|
||||
w = {
|
||||
name = "+vimwiki",
|
||||
i = { "<cmd>VimwikiDiaryIndex<CR>", "Diary Index" },
|
||||
s = { "<cmd>VimwikiUISelect<CR>", "Select Index" },
|
||||
t = { "<cmd>VimwikiTabIndex<CR>", "Index Tab" },
|
||||
w = { "<cmd>VimwikiIndex<CR>", "Index" },
|
||||
["<space>"] = {
|
||||
name = "+diary",
|
||||
i = { "<cmd>VimwikiDiaryGenerateLinks<CR>", "Generate Links" },
|
||||
m = { "<cmd>VimwikiMakeTomorrowDiaryNote<CR>", "Make Tomorrow Note" },
|
||||
t = { "<cmd>VimwikiTabMakeDiaryNote<CR>", "Make Today Note" },
|
||||
w = { "<cmd>VimwikiDiaryNote<CR>", "Today Note" },
|
||||
y = { "<cmd>VimwikiMakeYesterdayDiaryNote<CR>", "Make Yesterday Note" }
|
||||
}
|
||||
},
|
||||
}, { prefix = "<leader>" })
|
@ -1,6 +1,4 @@
|
||||
require("tstarr.set")
|
||||
require("tstarr.packer")
|
||||
require("tstarr.telescope")
|
||||
require("tstarr.vimwiki")
|
||||
require("tstarr.which-key")
|
||||
require("tstarr.iron")
|
||||
|
@ -1,88 +0,0 @@
|
||||
local iron = require("iron.core")
|
||||
local wk = require("which-key")
|
||||
|
||||
iron.setup {
|
||||
config = {
|
||||
-- Whether a repl should be discarded or not
|
||||
scratch_repl = true,
|
||||
-- Your repl definitions come here
|
||||
repl_definition = {
|
||||
sh = {
|
||||
-- Can be a table or a function that
|
||||
-- returns a table (see below)
|
||||
command = {"zsh"}
|
||||
},
|
||||
python = require("iron.fts.python").ipython
|
||||
},
|
||||
-- How the repl window will be displayed
|
||||
-- See below for more information
|
||||
repl_open_cmd = require('iron.view').right("35%"),
|
||||
},
|
||||
-- Iron doesn't set keymaps by default anymore.
|
||||
-- You can set them here or manually add keymaps to the functions in iron.core
|
||||
keymaps = {
|
||||
send_motion = "<leader>rm",
|
||||
visual_send = "<leader>rv",
|
||||
send_file = "<leader>rf",
|
||||
send_line = "<leader>rl",
|
||||
send_mark = "<leader>rms",
|
||||
mark_motion = "<leader>rmm",
|
||||
mark_visual = "<leader>rmv",
|
||||
remove_mark = "<leader>rmm",
|
||||
cr = "<leader>r<cr>",
|
||||
interrupt = "<leader>r<space>",
|
||||
exit = "<leader>rq",
|
||||
clear = "<leader>rc",
|
||||
},
|
||||
-- If the highlight is on, you can change how it looks
|
||||
-- For the available options, check nvim_set_hl
|
||||
highlight = {
|
||||
italic = true
|
||||
},
|
||||
ignore_blank_lines = true, -- ignore blank lines when sending visual select lines
|
||||
}
|
||||
|
||||
-- Iron also has a list of commands, see :h iron-commands for all available commands
|
||||
vim.keymap.set('n', '<leader>rs', '<cmd>IronRepl<cr>')
|
||||
vim.keymap.set('n', '<leader>rr', '<cmd>IronRestart<cr>')
|
||||
vim.keymap.set('n', '<leader>rh', '<cmd>IronHide<cr>')
|
||||
|
||||
-- Define the function to exit terminal mode
|
||||
local function exit_terminal_mode()
|
||||
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes('<C-\\><C-n>', true, false, true), 'n', true)
|
||||
end
|
||||
|
||||
-- Map the Escape key to the exit_terminal_mode function in terminal mode
|
||||
vim.keymap.set('t', '<Esc>', function () exit_terminal_mode() end, {noremap = true})
|
||||
|
||||
wk.register({
|
||||
r = {
|
||||
name = "+iron",
|
||||
m = "Send Motion",
|
||||
v = "Send Visual",
|
||||
f = "Send File",
|
||||
l = "Send Line",
|
||||
["<cr>"] = "Send Enter",
|
||||
["<leader>"] = "Send Interrupt",
|
||||
q = "Exit",
|
||||
c = "Clear REPL",
|
||||
m = {
|
||||
name = "+mark",
|
||||
s = "Send Mark",
|
||||
m = "Mark Motion",
|
||||
v = "Mark Visual",
|
||||
r = "Remove Mark"
|
||||
}
|
||||
},
|
||||
}, { prefix = "<leader>" })
|
||||
|
||||
wk.register({
|
||||
r = {
|
||||
name = "+iron",
|
||||
v = "Send Visual",
|
||||
m = {
|
||||
name = "+mark",
|
||||
v = "Mark Visual",
|
||||
}
|
||||
},
|
||||
}, { prefix = "<leader>", mode = "v"})
|
@ -4,8 +4,14 @@ return require('packer').startup(function(use)
|
||||
-- Packer can manage itself
|
||||
use 'wbthomason/packer.nvim'
|
||||
|
||||
-- Colors
|
||||
-- Apperance
|
||||
use ('dracula/vim')
|
||||
use('norcalli/nvim-colorizer.lua')
|
||||
require("colorizer").setup()
|
||||
|
||||
-- Syntax Hilight
|
||||
use ('alker0/chezmoi.vim')
|
||||
use ('nathangrigg/vim-beancount')
|
||||
|
||||
-- IDE
|
||||
use('nvim-lua/plenary.nvim')
|
||||
@ -15,15 +21,16 @@ return require('packer').startup(function(use)
|
||||
use ('nvim-telescope/telescope.nvim')
|
||||
use ('nvim-telescope/telescope-project.nvim')
|
||||
|
||||
-- Editing
|
||||
use ('ThePrimeagen/harpoon')
|
||||
use ('mbbill/undotree')
|
||||
use ('kdheepak/lazygit.nvim')
|
||||
use ('folke/which-key.nvim')
|
||||
use("mickael-menu/zk-nvim")
|
||||
|
||||
-- External
|
||||
require("zk").setup()
|
||||
use('mcchrish/nnn.vim')
|
||||
|
||||
use({ "iamcco/markdown-preview.nvim",
|
||||
run = "cd app && npm install",
|
||||
setup = function() vim.g.mkdp_filetypes = { "markdown" } end,
|
||||
ft = { "markdown" },
|
||||
})
|
||||
-- LSP
|
||||
use ('neovim/nvim-lspconfig')
|
||||
use ('hrsh7th/cmp-nvim-lsp')
|
||||
@ -33,18 +40,5 @@ return require('packer').startup(function(use)
|
||||
use ('hrsh7th/nvim-cmp')
|
||||
use ('L3MON4D3/LuaSnip')
|
||||
use ('saadparwaiz1/cmp_luasnip')
|
||||
use ('alker0/chezmoi.vim')
|
||||
use ('nathangrigg/vim-beancount')
|
||||
use ('vimwiki/vimwiki')
|
||||
use ('folke/which-key.nvim')
|
||||
use ('hkupty/iron.nvim')
|
||||
use("mickael-menu/zk-nvim")
|
||||
require("zk").setup()
|
||||
|
||||
use('norcalli/nvim-colorizer.lua')
|
||||
require("colorizer").setup()
|
||||
|
||||
use('loctvl842/monokai-pro.nvim')
|
||||
require("monokai-pro").setup()
|
||||
use('mcchrish/nnn.vim')
|
||||
end)
|
||||
|
@ -41,3 +41,6 @@ vim.opt.shortmess:append("c")
|
||||
vim.g.mapleader = " "
|
||||
|
||||
vim.opt.colorcolumn = "80"
|
||||
|
||||
-- Open web links with default system application
|
||||
vim.g.netrw_browsex_viewer="gio open"
|
||||
|
@ -1,16 +0,0 @@
|
||||
vim.g.vimwiki_list = {
|
||||
{
|
||||
path = '~/documents/vimwiki/main',
|
||||
syntax = 'markdown',
|
||||
ext = '.md'
|
||||
}
|
||||
}
|
||||
|
||||
vim.g.vimwiki_ext2syntax = {
|
||||
['.md'] = 'markdown',
|
||||
['.markdown'] = 'markdown',
|
||||
['.mdown'] = 'markdown',
|
||||
}
|
||||
|
||||
vim.g.vimwiki_global_ext = 0 -- don't treat all md files as vimwiki
|
||||
vim.g.vimwiki_markdown_link_ext = 1
|
@ -21,7 +21,7 @@ set $tag3 "3:web"
|
||||
set $tag4 "4:dev"
|
||||
set $tag5 "5:web"
|
||||
set $tag6 "6:web"
|
||||
set $tag7 "7:web"
|
||||
set $tag7 "7:note"
|
||||
set $tag8 "8:comm"
|
||||
|
||||
set $e exec swaymsg mode default
|
||||
@ -104,9 +104,8 @@ for_window [app_id="file"] floating enable, \
|
||||
#----- BINDING APPLICATIONS TO WORKSPACE
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
assign [class="Steam"] "1:game"
|
||||
for_window [class="Steam"] move container to workspace "1:game"
|
||||
for_window [class="discord"] move container to workspace $tag8
|
||||
for_window [class="Steam"] move container to workspace "1:game"
|
||||
for_window [class="discord"] move container to workspace $tag8
|
||||
for_window [title="launcher"] floating enable
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
@ -201,6 +200,8 @@ mode open {
|
||||
bindsym Escape mode default
|
||||
}
|
||||
|
||||
for_window [con_mark="SCRATCHPAD_jop"] border pixel 1
|
||||
|
||||
# Scratchpads commands
|
||||
bindsym $mod+c mode scratch
|
||||
mode scratch {
|
||||
|
101
home/dot_config/zk/config.toml
Normal file
101
home/dot_config/zk/config.toml
Normal file
@ -0,0 +1,101 @@
|
||||
# NOTE SETTINGS
|
||||
[note]
|
||||
|
||||
# Language used when writing notes.
|
||||
# This is used to generate slugs or with date formats.
|
||||
language = "en"
|
||||
|
||||
# The default title used for new note, if no `--title` flag is provided.
|
||||
default-title = "Untitled"
|
||||
|
||||
# Template used to generate a note's filename, without extension.
|
||||
filename = "{{id}}-{{slug title}}"
|
||||
|
||||
# The file extension used for the notes.
|
||||
extension = "md"
|
||||
|
||||
# Template used to generate a note's content.
|
||||
# If not an absolute path, it is relative to .zk/templates/
|
||||
template = "default.md"
|
||||
|
||||
# Length of the generated IDs.
|
||||
id-length = 4
|
||||
|
||||
# Letter case for the random IDs, among lower, upper or mixed.
|
||||
id-case = "lower"
|
||||
|
||||
# EXTRA VARIABLES
|
||||
[extra]
|
||||
author = "tstarr"
|
||||
|
||||
[group.daily]
|
||||
# Directories listed here will automatically use this group when creating notes.
|
||||
paths = ["journal/daily"]
|
||||
|
||||
[group.daily.note]
|
||||
# %Y-%m-%d is actually the default format, so you could use {{format-date now}} instead.
|
||||
filename = "{{format-date now '%Y-%m-%d'}}"
|
||||
extension = "md"
|
||||
template = "daily.md"
|
||||
|
||||
# MARKDOWN SETTINGS
|
||||
[format.markdown]
|
||||
|
||||
# Format used to generate links between notes.
|
||||
link-format = "markdown"
|
||||
|
||||
# Indicates whether a link's path will be percent-encoded.
|
||||
link-encode-path = true
|
||||
|
||||
# Indicates whether a link's path file extension will be removed.
|
||||
link-drop-extension = true
|
||||
|
||||
# Enable support for #hashtags.
|
||||
hashtags = false
|
||||
|
||||
# Enable support for :colon:separated:tags:.
|
||||
colon-tags = true
|
||||
|
||||
# EXTERNAL TOOLS
|
||||
[tool]
|
||||
|
||||
# Default editor used to open notes. When not set, the EDITOR or VISUAL
|
||||
editor = "nvim"
|
||||
|
||||
# Default shell used by aliases and commands.
|
||||
shell = "/bin/bash"
|
||||
|
||||
# Pager used to scroll through long output.
|
||||
pager = "less -FIRX"
|
||||
|
||||
# Command used to preview a note during interactive fzf mode.
|
||||
fzf-preview = "bat -p --color always {-1}"
|
||||
|
||||
# LSP
|
||||
[lsp]
|
||||
[lsp.diagnostics]
|
||||
|
||||
# Warn for dead links between notes.
|
||||
dead-link = "error"
|
||||
|
||||
# NAMED FILTERS
|
||||
[filter]
|
||||
recents = "--sort created- --created-after 'last two weeks'"
|
||||
|
||||
# COMMAND ALIASES
|
||||
[alias]
|
||||
|
||||
# Admin
|
||||
commit = '~/.config/zk/scripts/commit.sh $ZK_NOTEBOOK_DIR'
|
||||
push = 'git push origin master'
|
||||
conf = 'chezmoi edit ~/.config/zk/config.toml"'
|
||||
|
||||
# Note Creation/Deletion/Editing
|
||||
ei = "zk edit --interactive && zk commit"
|
||||
view = "zk list --interactive --format {{path}} | xargs bat --color always"
|
||||
daily = 'zk new --no-input "journal/daily" && zk commit'
|
||||
del = 'zk list --interactive --format "{{path}}" | xargs rm && zk commit'
|
||||
bookmark = '~/.config/zk/scripts/bookmark.sh $ZK_NOTEBOOK_DIR && zk commit'
|
||||
|
||||
# Note Searching
|
||||
recipe = "zk edit --interactive --tag recipe"
|
8
home/dot_config/zk/scripts/executable_bookmark.sh
Normal file
8
home/dot_config/zk/scripts/executable_bookmark.sh
Normal file
@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
cd "$1"
|
||||
echo "Input bookmark name: "
|
||||
read name
|
||||
link=$(wl-paste)
|
||||
echo "- [${name}](${link})" >> "$(zk list --match-strategy exact --match "title: 'Bookmarks'" --format "{{path}}")"
|
||||
cd -
|
17
home/dot_config/zk/scripts/executable_commit.sh
Normal file
17
home/dot_config/zk/scripts/executable_commit.sh
Normal file
@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env bash
|
||||
# Usage: zk-commit <directory of zk>
|
||||
|
||||
something_changed=`git status --porcelain`
|
||||
if [ -n "$something_changed" ]; then
|
||||
git -C "$1" add .
|
||||
message=$(git -c color.status=false status | sed -n -r -e '1,/Changes to be committed:/ d' \
|
||||
-e '1,3 d' \
|
||||
-e '/^Untracked files:/,$ d' \
|
||||
-e 's/^\s*//' \
|
||||
-e '/./p')
|
||||
git -C "$1" commit -m "$message"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# If there are no changes exit with failure
|
||||
exit 1
|
3
home/dot_config/zk/scripts/executable_hierarchy.sh
Normal file
3
home/dot_config/zk/scripts/executable_hierarchy.sh
Normal file
@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
echo "TODO"
|
14
home/dot_export
Normal file
14
home/dot_export
Normal file
@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
# https://github.com/starr-dusT/dotfiles
|
||||
|
||||
# Make vim the default editor.
|
||||
export EDITOR=nvim
|
||||
|
||||
# Customize prompt
|
||||
export PROMPT="%{$fg[red]%}%m $PROMPT"
|
||||
|
||||
# NNN exports
|
||||
export NNN_FCOLORS='0000E6310000000000000000'
|
||||
export NNN_PLUG='g:getdrop'
|
||||
export NNN_FIFO="/tmp/nnn.fifo"
|
||||
export NNN_TRASH=1
|
@ -1,7 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Terminal=false
|
||||
Exec=/home/{{ .user }}/.local/bin/SuperSlicer
|
||||
Name=SuperSlicer
|
||||
Icon=/home/{{ .user }}/.local/share/icons/SuperSlicer.png
|
@ -1,7 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Terminal=false
|
||||
Exec=/home/{{ .user }}/.local/bin/Yuzu
|
||||
Name=Yuzu
|
||||
Icon=/home/{{ .user }}/.local/share/icons/Yuzu.png
|
Binary file not shown.
Before Width: | Height: | Size: 228 KiB |
Binary file not shown.
Before Width: | Height: | Size: 3.2 KiB |
18
home/dot_path
Normal file
18
home/dot_path
Normal file
@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
# https://github.com/starr-dusT/dotfiles
|
||||
|
||||
# Add `~/bin` to the `$PATH`
|
||||
export PATH="$HOME/bin:$PATH";
|
||||
|
||||
if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]]; then
|
||||
PATH="$HOME/.local/bin:$HOME/bin:$PATH";
|
||||
fi
|
||||
|
||||
if ! [[ "$PATH" =~ "$HOME/.nimble/bin:" ]]; then
|
||||
PATH="$HOME/.nimble/bin:$PATH";
|
||||
fi
|
||||
|
||||
if ! [[ "$PATH" =~ "$HOME/.cargo/bin:" ]]; then
|
||||
PATH="$HOME/.cargo/bin:$PATH" ;
|
||||
fi
|
||||
export PATH
|
@ -1,3 +0,0 @@
|
||||
exec dbus-launch xmonad
|
||||
#exec dbus-launch i3
|
||||
#exec dbus-launch qtile
|
@ -1,75 +0,0 @@
|
||||
##⠀⠀⠀⠀⠀⠀⠀⠀⢠⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||
#⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||
#⠀⠀⠀⠀⠀⠀⠀⠀⣼⡏⠸⣧⠀⠀⠀⠀⠀⠀⠀⠀
|
||||
#⠠⢤⣤⣤⣤⣤⣤⣴⡿⠀⠀⢻⣦⣤⣤⣤⣤⣤⡤⠄ Tyler Starr (starr-dusT)
|
||||
#⠀⠀⠙⠻⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⠟⠋⠀⠀ https://github.com/starr-dusT/dotfiles
|
||||
#⠀⠀⠀⠀⠀⠙⣿⡆⠀⠀⠀⠀⠰⣿⠋⠀⠀⠀⠀⠀ https://tstarr.us
|
||||
#⠀⠀⠀⠀⠀⢰⡟⠀⣀⣴⣦⣀⠀⢻⡆⠀⠀⠀⠀⠀
|
||||
#⠀⠀⠀⠀⢀⣾⣧⡾⠛⠁⠈⠙⠷⣼⣿⡀⠀⠀⠀⠀
|
||||
# ⠀⠀⠀⡸⠟⠁⠀⠀⠀⠀⠀⠀⠈⠛⢧⠀⠀⠀⠀
|
||||
#
|
||||
# Zsh config.
|
||||
|
||||
# Zsh specific config
|
||||
export ZSH="$HOME/.oh-my-zsh"
|
||||
|
||||
DISABLE_AUTO_UPDATE="true"
|
||||
plugins=(git zsh-syntax-highlighting fzf-dir-navigator)
|
||||
ZSH_THEME="dracula/dracula"
|
||||
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
|
||||
# Export PATHs
|
||||
export EDITOR=nvim
|
||||
|
||||
if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]]; then PATH="$HOME/.local/bin:$HOME/bin:$PATH"; fi
|
||||
if ! [[ "$PATH" =~ "$HOME/.nimble/bin:" ]]; then PATH="$HOME/.nimble/bin:$PATH"; fi
|
||||
if ! [[ "$PATH" =~ "$HOME/.cargo/bin:" ]]; then PATH="$HOME/.cargo/bin:$PATH" ; fi
|
||||
|
||||
export PATH
|
||||
export PROMPT="%{$fg[red]%}%m $PROMPT"
|
||||
|
||||
# Create Aliases
|
||||
|
||||
# Nixos
|
||||
alias nixos-update="cd ~/.local/share/chezmoi/provision/nixos && \
|
||||
sudo nixos-rebuild switch --flake .#$(hostname) && \
|
||||
cd -"
|
||||
|
||||
# Sway
|
||||
alias s='sway'
|
||||
|
||||
# tmuxinator
|
||||
alias tsplat='tmuxinator start splat'
|
||||
alias tdot='tmuxinator start dot'
|
||||
alias ttask='tmuxinator start task'
|
||||
|
||||
# Chezmoi
|
||||
alias cc="cd ~/.local/share/chezmoi"
|
||||
alias cdr="chezmoi apply --verbose --dry-run"
|
||||
alias ca="chezmoi apply"
|
||||
alias ce='chezmoi edit'
|
||||
|
||||
# trashcli
|
||||
alias rm='echo "This is not the command you are looking for."; false'
|
||||
alias tp='trash-put'
|
||||
alias te='trash-empty'
|
||||
alias tl='trash-list'
|
||||
alias tre='trash-restore'
|
||||
alias trm='trash-rm'
|
||||
alias rofi='wayland-rofi'
|
||||
|
||||
# Fedora
|
||||
alias update-grub='sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg'
|
||||
|
||||
# Void
|
||||
alias xi="sudo xbps-install"
|
||||
alias xr="sudo xbps-remove"
|
||||
alias xl="void-list-packages"
|
||||
|
||||
# nnn
|
||||
alias n="nnn -e"
|
||||
export NNN_FCOLORS='0000E6310000000000000000'
|
||||
export NNN_PLUG='f:finder;o:fzopen;d:diffs;t:nmount;v:imgview;q:preview-tui'
|
||||
export NNN_FIFO="/tmp/nnn.fifo"
|
||||
export NNN_TRASH=1
|
@ -2,7 +2,7 @@
|
||||
|
||||
The following documents some NixOS setup that wasn't automated.
|
||||
|
||||
## Wireguard Client
|
||||
## Wireguard Client
|
||||
|
||||
Wireguard is nice for a home vpn and [pivpn](https://pivpn.io/) makes it easy.
|
||||
Currently my scripts for controlling (and visualizing the state of the vpn)
|
||||
@ -18,7 +18,7 @@ nmcli connection import type wireguard file <conf file from pivpn>
|
||||
3. Use `nm-connection-editor` to disable automatic connection
|
||||
4. Connect to vpn with `nmcli connection up <vpn connection name>
|
||||
|
||||
## Mount network drives
|
||||
## Mount network drives
|
||||
|
||||
I find fstab messing about more trobule than it is worth. Credentials are
|
||||
stored in ~/.smb. Mount network drives when needed with the following command:
|
||||
@ -37,36 +37,11 @@ These two folders are symlinked to the home folder where taskwarrior/timewarrior
|
||||
expects them.
|
||||
- `warrior` - contains text files associated with taskwarrior (mostly from
|
||||
taskopen).
|
||||
- `phone photos` - personal photos synched from android.
|
||||
- `phone screenshots` - personal screenshots synced from android.
|
||||
- `ssh_keys` - contains ssh keys for git remotes (~/.ssh/keys)
|
||||
- `vimwiki` - contains text files associate with my personal vimwiki.
|
||||
|
||||
## Git SSH for personal and work
|
||||
## Git-annex
|
||||
|
||||
- ~/.gitconfig - personal github configuration.
|
||||
- ~/devel/work/.gitconfig - work gitlab configuration.
|
||||
|
||||
Gitconfig files for SSH git push/pull are automaitcally placed. The only
|
||||
additional configuration required is the transfer of SSH keys (see Syncthing
|
||||
section).
|
||||
|
||||
## Firefox
|
||||
|
||||
Transfer the `.mozilla` folder from install-to-install to maintain Firefox
|
||||
settings and configurations.
|
||||
|
||||
## Yuzu
|
||||
|
||||
Copy over the `~/.config/yuzu` and `~/.local/share/yuzu` from prior install.
|
||||
|
||||
## Themeing (is that a word?)
|
||||
|
||||
### Alacritty
|
||||
TODO
|
||||
|
||||
### ZSH
|
||||
TODO
|
||||
|
||||
### Sway
|
||||
TODO
|
||||
I use [git-annex](https://git-annex.branchable.com/walkthrough/) to sync some
|
||||
of the large files (mostly roms) that I don't want to have fill copies on each
|
||||
machine.
|
||||
- `roms` - `~/mnt/engi/media/roms` from Torus.
|
||||
|
@ -8,8 +8,7 @@
|
||||
chezmoi
|
||||
rbw
|
||||
zk
|
||||
joplin
|
||||
joplin-desktop
|
||||
bat
|
||||
];
|
||||
|
||||
home.stateVersion = "23.05";
|
||||
|
@ -40,11 +40,6 @@
|
||||
time.timeZone = "America/Los_Angeles";
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
# Enable sound.
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = true;
|
||||
hardware.pulseaudio.support32Bit = true;
|
||||
|
||||
# Add fonts
|
||||
fonts.fonts = with pkgs; [
|
||||
nerdfonts
|
||||
@ -54,68 +49,18 @@
|
||||
virtualisation.docker.enable = true;
|
||||
virtualisation.docker.storageDriver = "btrfs";
|
||||
|
||||
# Enable zsh
|
||||
programs.zsh.enable = true;
|
||||
|
||||
# Define user account.
|
||||
users.users.${user} = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" "docker" "libvirtd" ]; # Enable ‘sudo’ for the user.
|
||||
shell = pkgs.zsh;
|
||||
shell = pkgs.bash;
|
||||
};
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
gtkUsePortal = true;
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-wlr ];
|
||||
};
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
vim
|
||||
git
|
||||
killall
|
||||
pciutils
|
||||
syncthing
|
||||
pinentry-curses
|
||||
trash-cli
|
||||
unzip
|
||||
nnn
|
||||
advcpmv
|
||||
];
|
||||
|
||||
# Enable user services
|
||||
services = {
|
||||
gvfs.enable = true; # USB automount
|
||||
blueman.enable = true;
|
||||
printing.enable = true;
|
||||
printing.drivers = [ pkgs.hplip ];
|
||||
avahi.enable = true;
|
||||
avahi.nssmdns = true;
|
||||
syncthing = {
|
||||
enable = true;
|
||||
user = "${user}";
|
||||
dataDir = "/home/${user}/sync";
|
||||
configDir = "/home/${user}/.config/syncthing";
|
||||
};
|
||||
};
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
services.openssh.enable = true;
|
||||
services.pcscd.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
pinentryFlavor = "curses";
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
# Enable modules
|
||||
imports = [ ../../modules ];
|
||||
modules = {
|
||||
services = {
|
||||
samba-client.enable = true;
|
||||
virt-manager.enable = true;
|
||||
desktop = {
|
||||
sway.enable = true;
|
||||
};
|
||||
devel = {
|
||||
tooling.enable = true;
|
||||
@ -125,10 +70,17 @@
|
||||
gaming = {
|
||||
steam.enable = true;
|
||||
};
|
||||
desktop = {
|
||||
sway.enable = true;
|
||||
services = {
|
||||
samba-client.enable = true;
|
||||
virt-manager.enable = true;
|
||||
syncthing.enable = true;
|
||||
peripherals.enable = true;
|
||||
};
|
||||
system = {
|
||||
terminal.enable = true;
|
||||
ssh.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
system.stateVersion = "23.05"; # Did you read the comment?
|
||||
# Did you read the comment?
|
||||
system.stateVersion = "23.05";
|
||||
}
|
||||
|
@ -15,8 +15,7 @@
|
||||
chezmoi
|
||||
rbw
|
||||
zk
|
||||
joplin
|
||||
joplin-desktop
|
||||
bat
|
||||
];
|
||||
|
||||
home.stateVersion = "23.05";
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [ ./desktop ./gaming ./devel ./services ];
|
||||
imports = [ ./desktop ./gaming ./devel ./services ./system ];
|
||||
}
|
||||
|
@ -71,11 +71,33 @@ in {
|
||||
# The portal interfaces include APIs for file access, opening URIs,
|
||||
# printing and others.
|
||||
services.dbus.enable = true;
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
wlr.enable = true;
|
||||
# gtk portal needed to make gtk apps happy
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
xdg = {
|
||||
portal = {
|
||||
enable = true;
|
||||
wlr.enable = true;
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
};
|
||||
mime = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
"text/plain" = [ "nvim.desktop" ];
|
||||
"inode/directory" = [ "pcmanfm.desktop" ];
|
||||
"text/html" = [ "brave-browser.desktop" ];
|
||||
"x-scheme-handler/http" = [ "brave-browser.desktop" ];
|
||||
"x-scheme-handler/https" = [ "brave-browser.desktop" ];
|
||||
"x-scheme-handler/ftp" = [ "brave-browser.desktop" ];
|
||||
"x-scheme-handler/chrome" = [ "brave-browser.desktop" ];
|
||||
"x-scheme-handler/about" = [ "brave-browser.desktop" ];
|
||||
"x-scheme-handler/unknown" = [ "brave-browser.desktop" ];
|
||||
"application/x-extension-htm" = [ "brave-browser.desktop" ];
|
||||
"application/x-extension-html" = [ "brave-browser.desktop" ];
|
||||
"application/x-extension-shtml" = [ "brave-browser.desktop" ];
|
||||
"application/xhtml+xml" = [ "brave-browser.desktop" ];
|
||||
"application/x-extension-xhtml" = [ "brave-browser.desktop" ];
|
||||
"application/x-extension-xht" = [ "brave-browser.desktop" ];
|
||||
"application/pdf" = [ "brave-browser.desktop" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# enable sway window manager
|
||||
|
@ -7,15 +7,15 @@ let
|
||||
in {
|
||||
options.modules.devel.tooling.enable = lib.mkEnableOption "tooling";
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
# Install packages
|
||||
environment.systemPackages = with pkgs; [
|
||||
neovim
|
||||
ripgrep
|
||||
tmux
|
||||
tmuxp
|
||||
lazygit
|
||||
git-annex
|
||||
cmake
|
||||
gcc
|
||||
coreutils
|
||||
gnumake
|
||||
# TODO: Move somewhere else
|
||||
pandoc
|
||||
gollum
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -16,6 +16,7 @@ in {
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.steam
|
||||
pkgs.steamtinkerlaunch
|
||||
pkgs-unstable.yuzu-early-access
|
||||
pkgs.dolphin-emu
|
||||
pkgs-unstable.sunshine
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [ ./samba-server.nix ./samba-client.nix ./jellyfin.nix ./virt-manager.nix ];
|
||||
imports = [ ./syncthing.nix ./samba-server.nix ./samba-client.nix ./jellyfin.nix ./virt-manager.nix ./peripherals.nix ];
|
||||
}
|
||||
|
21
provision/nixos/modules/services/peripherals.nix
Normal file
21
provision/nixos/modules/services/peripherals.nix
Normal file
@ -0,0 +1,21 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let cfg = config.modules.services.peripherals;
|
||||
in {
|
||||
options.modules.services.peripherals.enable = lib.mkEnableOption "peripherals";
|
||||
config = lib.mkIf cfg.enable {
|
||||
# Enable sound.
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = true;
|
||||
hardware.pulseaudio.support32Bit = true;
|
||||
|
||||
services = {
|
||||
gvfs.enable = true;
|
||||
blueman.enable = true;
|
||||
printing.enable = true;
|
||||
printing.drivers = [ pkgs.hplip ];
|
||||
avahi.enable = true;
|
||||
avahi.nssmdns = true;
|
||||
};
|
||||
};
|
||||
}
|
15
provision/nixos/modules/services/syncthing.nix
Normal file
15
provision/nixos/modules/services/syncthing.nix
Normal file
@ -0,0 +1,15 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let cfg = config.modules.services.syncthing;
|
||||
in {
|
||||
options.modules.services.syncthing.enable = lib.mkEnableOption "syncthing";
|
||||
config = lib.mkIf cfg.enable {
|
||||
# Install packages
|
||||
environment.systemPackages = with pkgs; [ syncthing ];
|
||||
services.syncthing = {
|
||||
enable = true;
|
||||
user = "${user}";
|
||||
configDir = "/home/${user}/.config/syncthing";
|
||||
};
|
||||
};
|
||||
}
|
4
provision/nixos/modules/system/default.nix
Normal file
4
provision/nixos/modules/system/default.nix
Normal file
@ -0,0 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [ ./terminal.nix ./ssh.nix ];
|
||||
}
|
16
provision/nixos/modules/system/ssh.nix
Normal file
16
provision/nixos/modules/system/ssh.nix
Normal file
@ -0,0 +1,16 @@
|
||||
{ config, lib, pkgs, user, ... }:
|
||||
|
||||
let cfg = config.modules.system.ssh;
|
||||
in {
|
||||
options.modules.system.ssh.enable = lib.mkEnableOption "ssh";
|
||||
config = lib.mkIf cfg.enable {
|
||||
# Enable the OpenSSH daemon.
|
||||
services.openssh.enable = true;
|
||||
services.pcscd.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
pinentryFlavor = "curses";
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
};
|
||||
}
|
26
provision/nixos/modules/system/terminal.nix
Normal file
26
provision/nixos/modules/system/terminal.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{ config, lib, pkgs, user, ... }:
|
||||
|
||||
let cfg = config.modules.system.terminal;
|
||||
in {
|
||||
options.modules.system.terminal.enable = lib.mkEnableOption "terminal";
|
||||
config = lib.mkIf cfg.enable {
|
||||
# Install packages
|
||||
environment.systemPackages = with pkgs; [
|
||||
bash
|
||||
bash-completion
|
||||
neovim
|
||||
ripgrep
|
||||
tmux
|
||||
tmuxp
|
||||
git
|
||||
git-annex
|
||||
killall
|
||||
pciutils
|
||||
pinentry-curses
|
||||
trash-cli
|
||||
unzip
|
||||
nnn
|
||||
advcpmv
|
||||
];
|
||||
};
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user