mirror of
https://github.com/thilobillerbeck/dotfiles.git
synced 2024-12-22 20:13:04 +01:00
splitted up config
This commit is contained in:
parent
21b25cb158
commit
019399b34a
28 changed files with 321 additions and 811 deletions
4
dotfiles/.gitmodules
vendored
4
dotfiles/.gitmodules
vendored
|
@ -1,4 +0,0 @@
|
|||
[submodule "dotbot"]
|
||||
path = dotbot
|
||||
url = https://github.com/anishathalye/dotbot
|
||||
ignore = dirty
|
|
@ -1,46 +0,0 @@
|
|||
window:
|
||||
decorations: full
|
||||
dynamic_title: true
|
||||
gtk_theme_variant: None
|
||||
background_opacity: 1.0
|
||||
font:
|
||||
normal:
|
||||
family: FiraMono Nerd Font
|
||||
bold:
|
||||
family: FiraMono Nerd Font
|
||||
style: Bold
|
||||
size: 14
|
||||
offset:
|
||||
y: 1
|
||||
|
||||
cursor:
|
||||
style:
|
||||
shape: Beam
|
||||
# Colors (Snazzy)
|
||||
colors:
|
||||
# Default colors
|
||||
primary:
|
||||
background: "0x282a36"
|
||||
foreground: "0xeff0eb"
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: "0x282a36"
|
||||
red: "0xff5c57"
|
||||
green: "0x5af78e"
|
||||
yellow: "0xf3f99d"
|
||||
blue: "0x57c7ff"
|
||||
magenta: "0xff6ac1"
|
||||
cyan: "0x9aedfe"
|
||||
white: "0xf1f1f0"
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: "0x686868"
|
||||
red: "0xff5c57"
|
||||
green: "0x5af78e"
|
||||
yellow: "0xf3f99d"
|
||||
blue: "0x57c7ff"
|
||||
magenta: "0xff6ac1"
|
||||
cyan: "0x9aedfe"
|
||||
white: "0xf1f1f0"
|
|
@ -1,11 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
alias pub-ipv4="curl ip4.clerie.de"
|
||||
alias serve="python -m SimpleHTTPServer 8080"
|
||||
alias week='date +%V'
|
||||
alias path='echo -e ${PATH//:/\\n}'
|
||||
alias distro='cat /etc/*-release'
|
||||
alias reload='source ~/.zshrc'
|
||||
alias undo-git-reset-head="git reset 'HEAD@{1}'"
|
||||
alias update-local="bash $HOME/.dotfiles/install"
|
||||
alias fix-ssh-key-permissions="bash $HOME/.dotfiles/scripts/fix-ssh-key-permissions.sh"
|
|
@ -1,3 +0,0 @@
|
|||
#
|
||||
# ~/.bash_logout
|
||||
#
|
|
@ -1,7 +0,0 @@
|
|||
#
|
||||
# ~/.bash_profile
|
||||
#
|
||||
|
||||
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
||||
if [ -e /home/thilo/.nix-profile/etc/profile.d/nix.sh ]; then . /home/thilo/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer
|
||||
. "$HOME/.cargo/env"
|
175
dotfiles/bashrc
175
dotfiles/bashrc
|
@ -1,175 +0,0 @@
|
|||
#
|
||||
# ~/.bashrc
|
||||
#
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
[[ $- != *i* ]] && return
|
||||
|
||||
[[ -f ~/.welcome_screen ]] && . ~/.welcome_screen
|
||||
|
||||
_set_my_PS1() {
|
||||
PS1='[\u@\h \W]\$ '
|
||||
if [ "$(whoami)" = "liveuser" ] ; then
|
||||
local iso_version="$(grep ^VERSION= /usr/lib/endeavouros-release 2>/dev/null | cut -d '=' -f 2)"
|
||||
if [ -n "$iso_version" ] ; then
|
||||
local prefix="eos-"
|
||||
local iso_info="$prefix$iso_version"
|
||||
PS1="[\u@$iso_info \W]\$ "
|
||||
fi
|
||||
fi
|
||||
}
|
||||
_set_my_PS1
|
||||
unset -f _set_my_PS1
|
||||
|
||||
ShowInstallerIsoInfo() {
|
||||
local file=/usr/lib/endeavouros-release
|
||||
if [ -r $file ] ; then
|
||||
cat $file
|
||||
else
|
||||
echo "Sorry, installer ISO info is not available." >&2
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
alias ls='ls --color=auto'
|
||||
alias ll='ls -lav --ignore=..' # show long listing of all except ".."
|
||||
alias l='ls -lav --ignore=.?*' # show long listing but no hidden dotfiles except "."
|
||||
|
||||
[[ "$(whoami)" = "root" ]] && return
|
||||
|
||||
[[ -z "$FUNCNEST" ]] && export FUNCNEST=100 # limits recursive functions, see 'man bash'
|
||||
|
||||
## Use the up and down arrow keys for finding a command in history
|
||||
## (you can write some initial letters of the command first).
|
||||
bind '"\e[A":history-search-backward'
|
||||
bind '"\e[B":history-search-forward'
|
||||
|
||||
################################################################################
|
||||
## Some generally useful functions.
|
||||
## Consider uncommenting aliases below to start using these functions.
|
||||
|
||||
|
||||
_GeneralCmdCheck() {
|
||||
# A helper for functions UpdateArchPackages and UpdateAURPackages.
|
||||
|
||||
echo "$@" >&2
|
||||
"$@" || {
|
||||
echo "Error: '$*' failed." >&2
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
_CheckInternetConnection() {
|
||||
# curl --silent --connect-timeout 8 https://8.8.8.8 >/dev/null
|
||||
eos-connection-checker
|
||||
local result=$?
|
||||
test $result -eq 0 || echo "No internet connection!" >&2
|
||||
return $result
|
||||
}
|
||||
|
||||
_CheckArchNews() {
|
||||
local conf=/etc/eos-update-notifier.conf
|
||||
|
||||
if [ -z "$CheckArchNewsForYou" ] && [ -r $conf ] ; then
|
||||
source $conf
|
||||
fi
|
||||
|
||||
if [ "$CheckArchNewsForYou" = "yes" ] ; then
|
||||
local news="$(yay -Pw)"
|
||||
if [ -n "$news" ] ; then
|
||||
echo "Arch news:" >&2
|
||||
echo "$news" >&2
|
||||
echo "" >&2
|
||||
# read -p "Press ENTER to continue (or Ctrl-C to stop): "
|
||||
else
|
||||
echo "No Arch news." >&2
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
UpdateArchPackages() {
|
||||
# Updates Arch packages.
|
||||
|
||||
_CheckInternetConnection || return 1
|
||||
|
||||
_CheckArchNews
|
||||
|
||||
#local updates="$(yay -Qu --repo)"
|
||||
local updates="$(checkupdates)"
|
||||
if [ -n "$updates" ] ; then
|
||||
echo "Updates from upstream:" >&2
|
||||
echo "$updates" | sed 's|^| |' >&2
|
||||
_GeneralCmdCheck sudo pacman -Syu "$@"
|
||||
return 0
|
||||
else
|
||||
echo "No upstream updates." >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
UpdateAURPackages() {
|
||||
# Updates AUR packages.
|
||||
|
||||
_CheckInternetConnection || return 1
|
||||
|
||||
local updates
|
||||
if [ -x /usr/bin/yay ] ; then
|
||||
updates="$(yay -Qua)"
|
||||
if [ -n "$updates" ] ; then
|
||||
echo "Updates from AUR:" >&2
|
||||
echo "$updates" | sed 's|^| |' >&2
|
||||
_GeneralCmdCheck yay -Syua "$@"
|
||||
else
|
||||
echo "No AUR updates." >&2
|
||||
fi
|
||||
else
|
||||
echo "Warning: /usr/bin/yay does not exist." >&2
|
||||
fi
|
||||
}
|
||||
|
||||
UpdateAllPackages() {
|
||||
# Updates all packages in the system.
|
||||
# Upstream (i.e. Arch) packages are updated first.
|
||||
# If there are Arch updates, you should run
|
||||
# this function a second time to update
|
||||
# the AUR packages too.
|
||||
|
||||
UpdateArchPackages || UpdateAURPackages
|
||||
}
|
||||
|
||||
|
||||
_open_files_for_editing() {
|
||||
# Open any given document file(s) for editing (or just viewing).
|
||||
# Note1: Do not use for executable files!
|
||||
# Note2: uses mime bindings, so you may need to use
|
||||
# e.g. a file manager to make some file bindings.
|
||||
|
||||
local progs="xdg-open exo-open" # One of these programs is used.
|
||||
local prog
|
||||
for prog in $progs ; do
|
||||
if [ -x /usr/bin/$xx ] ; then
|
||||
$prog "$@" >& /dev/null &
|
||||
return
|
||||
fi
|
||||
done
|
||||
echo "Sorry, none of programs [$progs] is found." >&2
|
||||
echo "Tip: install one of packages" >&2
|
||||
for prog in $progs ; do
|
||||
echo " $(pacman -Qqo "$prog")" >&2
|
||||
done
|
||||
}
|
||||
|
||||
#------------------------------------------------------------
|
||||
|
||||
## Aliases for the functions above.
|
||||
## Uncomment an alias if you want to use it.
|
||||
##
|
||||
|
||||
# alias ef='_open_files_for_editing' # 'ef' opens given file(s) for editing
|
||||
################################################################################
|
||||
source "$HOME/.cargo/env"
|
||||
|
||||
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
|
||||
. "$HOME/.cargo/env"
|
|
@ -1,16 +0,0 @@
|
|||
directory: ~/Music/dj/Library
|
||||
library: ~/Music/dj/library.db
|
||||
plugins: spotify acousticbrainz badfiles duplicates fetchart
|
||||
import:
|
||||
write: yes
|
||||
copy: yes
|
||||
resume: no
|
||||
duplicate_action: ask
|
||||
default_action: apply
|
||||
badfiles:
|
||||
check_on_import: yes
|
||||
match:
|
||||
max_rec:
|
||||
track_length: strong
|
||||
track_title: strong
|
||||
track_artist: strong
|
|
@ -1,7 +0,0 @@
|
|||
--force-dark-mode
|
||||
--enable-features=WebUIDarkMode
|
||||
--enable-smooth-scrolling
|
||||
--ozone-platform-hint=auto
|
||||
--ignore-gpu-blocklist
|
||||
--enable-gpu-rasterization
|
||||
--enable-zero-copy
|
|
@ -1,28 +0,0 @@
|
|||
[user]
|
||||
name = Thilo Billerbeck
|
||||
email = thilo.billerbeck@officerent.de
|
||||
|
||||
[color]
|
||||
diff = auto
|
||||
status = auto
|
||||
branch = auto
|
||||
interactive = auto
|
||||
ui = true
|
||||
pager = true
|
||||
[log]
|
||||
date = short
|
||||
[rerere]
|
||||
enabled = 1
|
||||
[core]
|
||||
whitespace=fix,-indent-with-non-tab,trailing-space,cr-at-eol
|
||||
excludesfile = ~/.gitignore-rab
|
||||
autocrlf = input
|
||||
[apply]
|
||||
whitespace = nowarn
|
||||
[branch]
|
||||
autosetuprebase = always
|
||||
[filter "lfs"]
|
||||
clean = git-lfs clean -- %f
|
||||
smudge = git-lfs smudge -- %f
|
||||
process = git-lfs filter-process
|
||||
required = true
|
|
@ -1,2 +0,0 @@
|
|||
[Settings]
|
||||
gtk-application-prefer-dark-theme=true
|
|
@ -1,39 +0,0 @@
|
|||
# Beware! This file is rewritten by htop when settings are changed in the interface.
|
||||
# The parser is also very primitive, and not human-friendly.
|
||||
fields=0 48 17 18 38 39 40 2 46 47 49 1
|
||||
sort_key=46
|
||||
sort_direction=1
|
||||
tree_sort_key=0
|
||||
tree_sort_direction=1
|
||||
hide_kernel_threads=1
|
||||
hide_userland_threads=0
|
||||
shadow_other_users=0
|
||||
show_thread_names=0
|
||||
show_program_path=1
|
||||
highlight_base_name=0
|
||||
highlight_megabytes=1
|
||||
highlight_threads=1
|
||||
highlight_changes=0
|
||||
highlight_changes_delay_secs=5
|
||||
find_comm_in_cmdline=1
|
||||
strip_exe_from_cmdline=1
|
||||
show_merged_command=0
|
||||
tree_view=1
|
||||
tree_view_always_by_pid=0
|
||||
header_margin=1
|
||||
detailed_cpu_time=0
|
||||
cpu_count_from_one=0
|
||||
show_cpu_usage=1
|
||||
show_cpu_frequency=0
|
||||
show_cpu_temperature=0
|
||||
degree_fahrenheit=0
|
||||
update_process_names=0
|
||||
account_guest_in_cpu_meter=0
|
||||
color_scheme=0
|
||||
enable_mouse=1
|
||||
delay=15
|
||||
left_meters=LeftCPUs2 CPU Memory DiskIO NetworkIO
|
||||
left_meter_modes=1 1 1 2 2
|
||||
right_meters=RightCPUs2 Tasks LoadAverage Uptime Battery
|
||||
right_meter_modes=1 2 2 2 2
|
||||
hide_function_bar=0
|
|
@ -1,6 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
script_location=$(dirname $(realpath $0))
|
||||
|
||||
bash $script_location/scripts/bootstrap-local-env.sh
|
||||
bash $script_location/scripts/update-dotfiles.sh
|
|
@ -1,75 +0,0 @@
|
|||
- defaults:
|
||||
link:
|
||||
relink: true
|
||||
|
||||
- clean:
|
||||
~/:
|
||||
force: true
|
||||
|
||||
- link:
|
||||
~/.bash_profile:
|
||||
path: bash_profile
|
||||
force: true
|
||||
~/.bashrc:
|
||||
path: bashrc
|
||||
force: true
|
||||
~/.bash_logout:
|
||||
path: bash_logout
|
||||
force: true
|
||||
~/.zshrc:
|
||||
path: zshrc
|
||||
force: true
|
||||
~/.zshenv:
|
||||
path: zshenv
|
||||
force: true
|
||||
~/.gitconfig:
|
||||
path: gitconfig
|
||||
force: true
|
||||
# ~/.config/gtk-3.0/settings.ini:
|
||||
# path: gtk-3.ini
|
||||
# force: true
|
||||
~/.config/nano/nanorc:
|
||||
path: nanorc
|
||||
force: true
|
||||
~/.config/locale.conf:
|
||||
path: locale.conf
|
||||
force: true
|
||||
~/.aliases:
|
||||
path: aliases
|
||||
force: true
|
||||
~/.alacritty.yml:
|
||||
path: alacritty.yml
|
||||
force: true
|
||||
~/.config/htop/htoprc:
|
||||
path: htoprc
|
||||
force: true
|
||||
~/.config/starship.toml:
|
||||
path: starship.toml
|
||||
force: true
|
||||
~/.config/nvim/init.vim:
|
||||
path: init.vim
|
||||
force: true
|
||||
~/.config/chromium-flags.conf:
|
||||
path: chromium-flags.conf
|
||||
force: true
|
||||
~/.config/chrome-flags.conf:
|
||||
path: chromium-flags.conf
|
||||
force: true
|
||||
~/.config/vivaldi-stable.conf:
|
||||
path: chromium-flags.conf
|
||||
force: true
|
||||
~/.var/app/com.google.Chrome/config/chrome-flags.conf:
|
||||
path: chromium-flags.conf
|
||||
force: true
|
||||
~/.ssh/config:
|
||||
path: ssh-config
|
||||
force: true
|
||||
~/.config/beets/config.yaml:
|
||||
path: beets.yaml
|
||||
force: true
|
||||
~/.config/pipewire/pipewire.conf:
|
||||
path: pipewire.conf
|
||||
force: true
|
||||
~/.config/topgrade.toml:
|
||||
path: topgrade.toml
|
||||
force: true
|
|
@ -1,22 +0,0 @@
|
|||
# Don't print a new line at the start of the prompt
|
||||
add_newline = false
|
||||
|
||||
# Which is equivalent to
|
||||
format = """
|
||||
$all\
|
||||
$line_break\
|
||||
$jobs\
|
||||
$battery\
|
||||
$time\
|
||||
$status\
|
||||
$shell\
|
||||
$character"""
|
||||
|
||||
# Replace the "❯" symbol in the prompt with "➜"
|
||||
[character] # The name of the module we are configuring is "character"
|
||||
success_symbol = "[❯](bold white)" # The "success_symbol" segment is being set to "➜" with the color "bold green"
|
||||
|
||||
# Disable the package module, hiding it from the prompt completely
|
||||
[package]
|
||||
disabled = true
|
||||
|
|
@ -1,131 +0,0 @@
|
|||
# Don't ask for confirmations
|
||||
assume_yes = true
|
||||
|
||||
# Disable specific steps - same options as the command line flag
|
||||
#disable = ["system", "emacs"]
|
||||
|
||||
# Ignore failures for these steps
|
||||
ignore_failures = ["git_repos"]
|
||||
|
||||
# Run specific steps - same options as the command line flag
|
||||
#only = ["system", "emacs"]
|
||||
|
||||
# Do not ask to retry failed steps (default: false)
|
||||
no_retry = true
|
||||
|
||||
# Run `sudo -v` to cache credentials at the start of the run; this avoids a
|
||||
# blocking password prompt in the middle of a possibly-unattended run.
|
||||
pre_sudo = false
|
||||
|
||||
# Run inside tmux
|
||||
#run_in_tmux = true
|
||||
|
||||
# List of remote machines with Topgrade installed on them
|
||||
#remote_topgrades = ["toothless", "pi", "parnas"]
|
||||
|
||||
# Arguments to pass SSH when upgrading remote systems
|
||||
#ssh_arguments = "-o ConnectTimeout=2"
|
||||
|
||||
# Path to Topgrade executable on remote machines
|
||||
#remote_topgrade_path = ".cargo/bin/topgrade"
|
||||
|
||||
# Arguments to pass tmux when pulling Repositories
|
||||
#tmux_arguments = "-S /var/tmux.sock"
|
||||
|
||||
# Do not set the terminal title
|
||||
#set_title = false
|
||||
|
||||
# Display the time in step titles
|
||||
# display_time = true
|
||||
|
||||
# Cleanup temporary or old files
|
||||
cleanup = true
|
||||
|
||||
# Skip sending a notification at the end of a run
|
||||
skip_notify = true
|
||||
|
||||
# Skip the preamble displayed when topgrade is run
|
||||
#display_preamble = false
|
||||
|
||||
[git]
|
||||
#max_concurrency = 5
|
||||
# Additional git repositories to pull
|
||||
#repos = [
|
||||
# "~/src/*/",
|
||||
# "~/.config/something"
|
||||
#]
|
||||
|
||||
# Don't pull the predefined git repos
|
||||
#pull_predefined = false
|
||||
|
||||
# Arguments to pass Git when pulling Repositories
|
||||
#arguments = "--rebase --autostash"
|
||||
|
||||
[composer]
|
||||
#self_update = true
|
||||
|
||||
# Commands to run before anything
|
||||
[pre_commands]
|
||||
#"Emacs Snapshot" = "rm -rf ~/.emacs.d/elpa.bak && cp -rl ~/.emacs.d/elpa ~/.emacs.d/elpa.bak"
|
||||
|
||||
# Custom commands
|
||||
[commands]
|
||||
#"Python Environment" = "~/dev/.env/bin/pip install -i https://pypi.python.org/simple -U --upgrade-strategy eager jupyter"
|
||||
"zinit" = "zinit update"
|
||||
|
||||
[brew]
|
||||
#greedy_cask = true
|
||||
#autoremove = true
|
||||
|
||||
[linux]
|
||||
# Arch Package Manager to use. Allowed values: autodetect, aura, garuda_update, pacman, pamac, paru, pikaur, trizen, yay.
|
||||
#arch_package_manager = "pacman"
|
||||
# Arguments to pass yay (or paru) when updating packages
|
||||
#yay_arguments = "--nodevel"
|
||||
# Arguments to pass dnf when updating packages
|
||||
#dnf_arguments = "--refresh"
|
||||
#aura_aur_arguments = "-kx"
|
||||
#aura_pacman_arguments = ""
|
||||
#garuda_update_arguments = ""
|
||||
#show_arch_news = true
|
||||
#trizen_arguments = "--devel"
|
||||
#pikaur_arguments = ""
|
||||
#pamac_arguments = "--no-devel"
|
||||
#enable_tlmgr = true
|
||||
#emerge_sync_flags = "-q"
|
||||
#emerge_update_flags = "-uDNa --with-bdeps=y world"
|
||||
#redhat_distro_sync = false
|
||||
#rpm_ostree = false
|
||||
#nix_arguments = "--flake"
|
||||
|
||||
[python]
|
||||
#enable_pip_review = true ###disabled by default
|
||||
#enable_pipupgrade = true ###disabled by default
|
||||
|
||||
[windows]
|
||||
# Manually select Windows updates
|
||||
#accept_all_updates = false
|
||||
#open_remotes_in_new_terminal = true
|
||||
#wsl_update_pre_release = true
|
||||
#wsl_update_use_web_download = true
|
||||
|
||||
# Causes Topgrade to rename itself during the run to allow package managers
|
||||
# to upgrade it. Use this only if you installed Topgrade by using a package
|
||||
# manager such as Scoop or Cargo
|
||||
#self_rename = true
|
||||
|
||||
[npm]
|
||||
# Use sudo if the NPM directory isn't owned by the current user
|
||||
#use_sudo = true
|
||||
|
||||
[firmware]
|
||||
# Offer to update firmware; if false just check for and display available updates
|
||||
upgrade = true
|
||||
|
||||
[flatpak]
|
||||
# Use sudo for updating the system-wide installation
|
||||
#use_sudo = true
|
||||
|
||||
[distrobox]
|
||||
#use_root = false
|
||||
#containers = ["archlinux-latest"]
|
|
@ -1,3 +0,0 @@
|
|||
source "$HOME/.cargo/env"
|
||||
if [ -e /home/thilo/.nix-profile/etc/profile.d/nix.sh ]; then . /home/thilo/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer
|
||||
. "$HOME/.cargo/env"
|
239
home.nix
239
home.nix
|
@ -20,6 +20,8 @@ in {
|
|||
targets.genericLinux.enable = true;
|
||||
news.display = "silent";
|
||||
|
||||
imports = map (n: "${./programs}/${n}") (builtins.attrNames (builtins.readDir ./programs));
|
||||
|
||||
home = {
|
||||
username = "thilo";
|
||||
homeDirectory = "/home/thilo";
|
||||
|
@ -80,240 +82,5 @@ in {
|
|||
mime.enable = true;
|
||||
};
|
||||
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
vscode = {
|
||||
enable = true;
|
||||
package = (nixGLWrap (pkgs.vscode.override {
|
||||
commandLineArgs =
|
||||
"--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --gtk-version=4";
|
||||
}));
|
||||
};
|
||||
htop = {
|
||||
enable = true;
|
||||
settings = {
|
||||
fields="0 48 17 18 38 39 40 2 46 47 49 1";
|
||||
sort_key="46";
|
||||
sort_direction="1";
|
||||
tree_sort_key="0";
|
||||
tree_sort_direction="1";
|
||||
hide_kernel_threads="1";
|
||||
hide_userland_threads="0";
|
||||
shadow_other_users="0";
|
||||
show_thread_names="0";
|
||||
show_program_path="1";
|
||||
highlight_base_name="0";
|
||||
highlight_megabytes="1";
|
||||
highlight_threads="1";
|
||||
highlight_changes="0";
|
||||
highlight_changes_delay_secs="5";
|
||||
find_comm_in_cmdline="1";
|
||||
strip_exe_from_cmdline="1";
|
||||
show_merged_command="0";
|
||||
tree_view="1";
|
||||
tree_view_always_by_pid="0";
|
||||
header_margin="1";
|
||||
detailed_cpu_time="0";
|
||||
cpu_count_from_one="0";
|
||||
show_cpu_usage="1";
|
||||
show_cpu_frequency="0";
|
||||
show_cpu_temperature="0";
|
||||
degree_fahrenheit="0";
|
||||
update_process_names="0";
|
||||
account_guest_in_cpu_meter="0";
|
||||
color_scheme="0";
|
||||
enable_mouse="1";
|
||||
delay="15";
|
||||
left_meters="LeftCPUs2 CPU Memory DiskIO NetworkIO";
|
||||
left_meter_modes="1 1 1 2 2";
|
||||
right_meters="RightCPUs2 Tasks LoadAverage Uptime Battery";
|
||||
right_meter_modes="1 2 2 2 2";
|
||||
hide_function_bar="0";
|
||||
};
|
||||
};
|
||||
beets = {
|
||||
enable = true;
|
||||
settings = {
|
||||
directory = "~/Music/dj/Library";
|
||||
library = "~/Music/dj/library.db";
|
||||
plugins = "spotify acousticbrainz badfiles duplicates fetchart";
|
||||
import = {
|
||||
write = "yes";
|
||||
copy = "yes";
|
||||
resume = "no";
|
||||
duplicate_action = "ask";
|
||||
default_action = "apply";
|
||||
};
|
||||
badfiles = {
|
||||
check_on_import = "yes";
|
||||
};
|
||||
match = {
|
||||
max_rec = {
|
||||
track_length = "strong";
|
||||
track_title = "strong";
|
||||
track_artist = "strong";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableAutosuggestions = true;
|
||||
enableCompletion = true;
|
||||
enableSyntaxHighlighting = true;
|
||||
enableVteIntegration = true;
|
||||
zplug = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
{
|
||||
name = "plugins/git";
|
||||
tags = [ from:oh-my-zsh ];
|
||||
}
|
||||
{
|
||||
name = "plugins/archlinux";
|
||||
tags = [ from:oh-my-zsh ];
|
||||
}
|
||||
{
|
||||
name = "plugins/composer";
|
||||
tags = [ from:oh-my-zsh ];
|
||||
}
|
||||
{
|
||||
name = "plugins/colored-man-pages";
|
||||
tags = [ from:oh-my-zsh ];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
git = {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
||||
userEmail = "thilo.billerbeck@officerent.de";
|
||||
userName = "Thilo Billerbeck";
|
||||
extraConfig = {
|
||||
color = {
|
||||
diff = "auto";
|
||||
status = "auto";
|
||||
branch = "auto";
|
||||
interactive = "auto";
|
||||
ui = true;
|
||||
pager = true;
|
||||
};
|
||||
log = { date = "short"; };
|
||||
rerere = { enabled = "1"; };
|
||||
core = {
|
||||
whitespace = "fix,-indent-with-non-tab,trailing-space,cr-at-eol";
|
||||
excludesfile = "~/.gitignore-rab";
|
||||
autocrlf = "input";
|
||||
};
|
||||
apply = { whitespace = "nowarn"; };
|
||||
branch = { autosetuprebase = "always"; };
|
||||
};
|
||||
};
|
||||
direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
add_newline = false;
|
||||
character = { success_symbol = "[❯](bold white)"; };
|
||||
package = { disabled = true; };
|
||||
};
|
||||
};
|
||||
topgrade = {
|
||||
enable = true;
|
||||
settings = {
|
||||
assume_yes = true;
|
||||
ignore_failures = [ "git_repos" ];
|
||||
no_retry = true;
|
||||
pre_sudo = false;
|
||||
cleanup = true;
|
||||
skip_notify = true;
|
||||
firmware = { upgrade = true; };
|
||||
};
|
||||
};
|
||||
alacritty = {
|
||||
enable = true;
|
||||
package = (nixGLWrap pkgs.alacritty);
|
||||
settings = {
|
||||
window = {
|
||||
decorations = "full";
|
||||
dynamic_title = true;
|
||||
gtk_theme_variant = "None";
|
||||
};
|
||||
window.opacity = 1;
|
||||
font = {
|
||||
normal = {
|
||||
family = "JetbrainsMono NFM";
|
||||
style = "Regular";
|
||||
};
|
||||
bold = {
|
||||
family = "JetbrainsMono NFM";
|
||||
style = "Bold";
|
||||
};
|
||||
size = 14;
|
||||
};
|
||||
cursor.style.shape = "Beam";
|
||||
colors = {
|
||||
primary = {
|
||||
background = "0x282a36";
|
||||
foreground = "0xeff0eb";
|
||||
};
|
||||
normal = {
|
||||
black = "0x282a36";
|
||||
red = "0xff5c57";
|
||||
green = "0x5af78e";
|
||||
yellow = "0xf3f99d";
|
||||
blue = "0x57c7ff";
|
||||
magenta = "0xff6ac1";
|
||||
cyan = "0x9aedfe";
|
||||
white = "0xf1f1f0";
|
||||
};
|
||||
bright = {
|
||||
black = "0x686868";
|
||||
red = "0xff5c57";
|
||||
green = "0x5af78e";
|
||||
yellow = "0xf3f99d";
|
||||
blue = "0x57c7ff";
|
||||
magenta = "0xff6ac1";
|
||||
cyan = "0x9aedfe";
|
||||
white = "0xf1f1f0";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
yt-dlp = {
|
||||
enable = true;
|
||||
};
|
||||
neovim = {
|
||||
defaultEditor = true;
|
||||
enable = true;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
vimdiffAlias = true;
|
||||
coc = { enable = true; };
|
||||
extraConfig = ''
|
||||
set title
|
||||
set number
|
||||
set relativenumber
|
||||
set cursorline
|
||||
set mouse=a
|
||||
syntax enable
|
||||
let g:NERDTreeShowHidden = 1
|
||||
let g:NERDTreeMinimalUI = 1
|
||||
let g:NERDTreeIgnore = [ '.git/' ]
|
||||
let g:NERDTreeStatusline = ""
|
||||
let g:NERDTreeMouseMode = 2
|
||||
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
|
||||
nnoremap <silent> <C-b> :NERDTreeToggle<CR>
|
||||
'';
|
||||
plugins = with pkgs.vimPlugins; [
|
||||
nerdtree
|
||||
vim-devicons
|
||||
# fzf
|
||||
ale
|
||||
];
|
||||
};
|
||||
};
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
|
|
68
programs/alacritty.nix
Normal file
68
programs/alacritty.nix
Normal file
|
@ -0,0 +1,68 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
nixgl = import <nixgl> { };
|
||||
nixGLWrap = pkg:
|
||||
pkgs.runCommand "${pkg.name}-nixgl-wrapper" { } ''
|
||||
mkdir $out
|
||||
ln -s ${pkg}/* $out
|
||||
rm $out/bin
|
||||
mkdir $out/bin
|
||||
for bin in ${pkg}/bin/*; do
|
||||
wrapped_bin=$out/bin/$(basename $bin)
|
||||
echo -e "#!/bin/bash\nexec ${lib.getExe nixgl.auto.nixGLDefault} $bin \$@" > $wrapped_bin
|
||||
chmod +x $wrapped_bin
|
||||
done
|
||||
'';
|
||||
in {
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
package = (nixGLWrap pkgs.alacritty);
|
||||
settings = {
|
||||
window = {
|
||||
decorations = "full";
|
||||
dynamic_title = true;
|
||||
gtk_theme_variant = "None";
|
||||
};
|
||||
window.opacity = 1;
|
||||
font = {
|
||||
normal = {
|
||||
family = "JetbrainsMono NFM";
|
||||
style = "Regular";
|
||||
};
|
||||
bold = {
|
||||
family = "JetbrainsMono NFM";
|
||||
style = "Bold";
|
||||
};
|
||||
size = 14;
|
||||
};
|
||||
cursor.style.shape = "Beam";
|
||||
colors = {
|
||||
primary = {
|
||||
background = "0x282a36";
|
||||
foreground = "0xeff0eb";
|
||||
};
|
||||
normal = {
|
||||
black = "0x282a36";
|
||||
red = "0xff5c57";
|
||||
green = "0x5af78e";
|
||||
yellow = "0xf3f99d";
|
||||
blue = "0x57c7ff";
|
||||
magenta = "0xff6ac1";
|
||||
cyan = "0x9aedfe";
|
||||
white = "0xf1f1f0";
|
||||
};
|
||||
bright = {
|
||||
black = "0x686868";
|
||||
red = "0xff5c57";
|
||||
green = "0x5af78e";
|
||||
yellow = "0xf3f99d";
|
||||
blue = "0x57c7ff";
|
||||
magenta = "0xff6ac1";
|
||||
cyan = "0x9aedfe";
|
||||
white = "0xf1f1f0";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
29
programs/beets.nix
Normal file
29
programs/beets.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
programs.beets = {
|
||||
enable = true;
|
||||
settings = {
|
||||
directory = "~/Music/dj/Library";
|
||||
library = "~/Music/dj/library.db";
|
||||
plugins = "spotify acousticbrainz badfiles duplicates fetchart";
|
||||
import = {
|
||||
write = "yes";
|
||||
copy = "yes";
|
||||
resume = "no";
|
||||
duplicate_action = "ask";
|
||||
default_action = "apply";
|
||||
};
|
||||
badfiles = {
|
||||
check_on_import = "yes";
|
||||
};
|
||||
match = {
|
||||
max_rec = {
|
||||
track_length = "strong";
|
||||
track_title = "strong";
|
||||
track_artist = "strong";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
8
programs/direnv.nix
Normal file
8
programs/direnv.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
}
|
29
programs/git.nix
Normal file
29
programs/git.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
||||
userEmail = "thilo.billerbeck@officerent.de";
|
||||
userName = "Thilo Billerbeck";
|
||||
extraConfig = {
|
||||
color = {
|
||||
diff = "auto";
|
||||
status = "auto";
|
||||
branch = "auto";
|
||||
interactive = "auto";
|
||||
ui = true;
|
||||
pager = true;
|
||||
};
|
||||
log = { date = "short"; };
|
||||
rerere = { enabled = "1"; };
|
||||
core = {
|
||||
whitespace = "fix,-indent-with-non-tab,trailing-space,cr-at-eol";
|
||||
excludesfile = "~/.gitignore-rab";
|
||||
autocrlf = "input";
|
||||
};
|
||||
apply = { whitespace = "nowarn"; };
|
||||
branch = { autosetuprebase = "always"; };
|
||||
};
|
||||
};
|
||||
}
|
46
programs/htop.nix
Normal file
46
programs/htop.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
programs.htop = {
|
||||
enable = true;
|
||||
settings = {
|
||||
fields="0 48 17 18 38 39 40 2 46 47 49 1";
|
||||
sort_key="46";
|
||||
sort_direction="1";
|
||||
tree_sort_key="0";
|
||||
tree_sort_direction="1";
|
||||
hide_kernel_threads="1";
|
||||
hide_userland_threads="0";
|
||||
shadow_other_users="0";
|
||||
show_thread_names="0";
|
||||
show_program_path="1";
|
||||
highlight_base_name="0";
|
||||
highlight_megabytes="1";
|
||||
highlight_threads="1";
|
||||
highlight_changes="0";
|
||||
highlight_changes_delay_secs="5";
|
||||
find_comm_in_cmdline="1";
|
||||
strip_exe_from_cmdline="1";
|
||||
show_merged_command="0";
|
||||
tree_view="1";
|
||||
tree_view_always_by_pid="0";
|
||||
header_margin="1";
|
||||
detailed_cpu_time="0";
|
||||
cpu_count_from_one="0";
|
||||
show_cpu_usage="1";
|
||||
show_cpu_frequency="0";
|
||||
show_cpu_temperature="0";
|
||||
degree_fahrenheit="0";
|
||||
update_process_names="0";
|
||||
account_guest_in_cpu_meter="0";
|
||||
color_scheme="0";
|
||||
enable_mouse="1";
|
||||
delay="15";
|
||||
left_meters="LeftCPUs2 CPU Memory DiskIO NetworkIO";
|
||||
left_meter_modes="1 1 1 2 2";
|
||||
right_meters="RightCPUs2 Tasks LoadAverage Uptime Battery";
|
||||
right_meter_modes="1 2 2 2 2";
|
||||
hide_function_bar="0";
|
||||
};
|
||||
};
|
||||
}
|
33
programs/neovim.nix
Normal file
33
programs/neovim.nix
Normal file
|
@ -0,0 +1,33 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
programs.neovim = {
|
||||
defaultEditor = true;
|
||||
enable = true;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
vimdiffAlias = true;
|
||||
coc = { enable = true; };
|
||||
extraConfig = ''
|
||||
set title
|
||||
set number
|
||||
set relativenumber
|
||||
set cursorline
|
||||
set mouse=a
|
||||
syntax enable
|
||||
let g:NERDTreeShowHidden = 1
|
||||
let g:NERDTreeMinimalUI = 1
|
||||
let g:NERDTreeIgnore = [ '.git/' ]
|
||||
let g:NERDTreeStatusline = ""
|
||||
let g:NERDTreeMouseMode = 2
|
||||
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
|
||||
nnoremap <silent> <C-b> :NERDTreeToggle<CR>
|
||||
'';
|
||||
plugins = with pkgs.vimPlugins; [
|
||||
nerdtree
|
||||
vim-devicons
|
||||
# fzf
|
||||
ale
|
||||
];
|
||||
};
|
||||
}
|
12
programs/starship.nix
Normal file
12
programs/starship.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
add_newline = false;
|
||||
character = { success_symbol = "[❯](bold white)"; };
|
||||
package = { disabled = true; };
|
||||
};
|
||||
};
|
||||
}
|
16
programs/topgrade.nix
Normal file
16
programs/topgrade.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
programs.topgrade = {
|
||||
enable = true;
|
||||
settings = {
|
||||
assume_yes = true;
|
||||
ignore_failures = [ "git_repos" ];
|
||||
no_retry = true;
|
||||
pre_sudo = false;
|
||||
cleanup = true;
|
||||
skip_notify = true;
|
||||
firmware = { upgrade = true; };
|
||||
};
|
||||
};
|
||||
}
|
26
programs/vscode.nix
Normal file
26
programs/vscode.nix
Normal file
|
@ -0,0 +1,26 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
nixgl = import <nixgl> { };
|
||||
nixGLWrap = pkg:
|
||||
pkgs.runCommand "${pkg.name}-nixgl-wrapper" { } ''
|
||||
mkdir $out
|
||||
ln -s ${pkg}/* $out
|
||||
rm $out/bin
|
||||
mkdir $out/bin
|
||||
for bin in ${pkg}/bin/*; do
|
||||
wrapped_bin=$out/bin/$(basename $bin)
|
||||
echo -e "#!/bin/bash\nexec ${lib.getExe nixgl.auto.nixGLDefault} $bin \$@" > $wrapped_bin
|
||||
chmod +x $wrapped_bin
|
||||
done
|
||||
'';
|
||||
in {
|
||||
programs = {
|
||||
vscode = {
|
||||
enable = true;
|
||||
package = (nixGLWrap (pkgs.vscode.override {
|
||||
commandLineArgs =
|
||||
"--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --gtk-version=4";
|
||||
}));
|
||||
};
|
||||
};
|
||||
}
|
9
programs/yt-dlp.nix
Normal file
9
programs/yt-dlp.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
programs.yt-dlp = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
|
42
programs/zsh.nix
Normal file
42
programs/zsh.nix
Normal file
|
@ -0,0 +1,42 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableAutosuggestions = true;
|
||||
enableCompletion = true;
|
||||
enableSyntaxHighlighting = true;
|
||||
enableVteIntegration = true;
|
||||
shellAliases = {
|
||||
pub-ipv4 = "curl ip4.clerie.de";
|
||||
serve = "python -m SimpleHTTPServer 8080";
|
||||
week = "date +%V";
|
||||
path = "echo -e \${PATH//:/\\n}";
|
||||
distro = "cat /etc/*-release";
|
||||
reload = "source ~/.zshrc";
|
||||
undo-git-reset-head = "git reset 'HEAD@{1}'";
|
||||
update-local = "bash $HOME/.dotfiles/install";
|
||||
};
|
||||
zplug = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
{
|
||||
name = "plugins/git";
|
||||
tags = [ from:oh-my-zsh ];
|
||||
}
|
||||
{
|
||||
name = "plugins/archlinux";
|
||||
tags = [ from:oh-my-zsh ];
|
||||
}
|
||||
{
|
||||
name = "plugins/composer";
|
||||
tags = [ from:oh-my-zsh ];
|
||||
}
|
||||
{
|
||||
name = "plugins/colored-man-pages";
|
||||
tags = [ from:oh-my-zsh ];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue