mirror of
https://github.com/morten-olsen/nixos-config.git
synced 2026-02-08 00:36:27 +01:00
init
This commit is contained in:
21
user/default.nix
Normal file
21
user/default.nix
Normal file
@@ -0,0 +1,21 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.zsh.enable = true;
|
||||
|
||||
users.users.alice = {
|
||||
isNormalUser = true;
|
||||
description = "Alice";
|
||||
extraGroups = [ "networkmanager" "wheel" "docker" ];
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
||||
};
|
||||
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.users.alice = import ./home.nix;
|
||||
}
|
||||
9
user/files/bash/config
Normal file
9
user/files/bash/config
Normal file
@@ -0,0 +1,9 @@
|
||||
# Load all files from .shell/rc.d directory
|
||||
if [ -d $HOME/.shellrc/rc.d ]; then
|
||||
for file in $HOME/.shellrc/rc.d/*.sh; do
|
||||
source $file
|
||||
done
|
||||
fi
|
||||
|
||||
[ -f ~/.fzf.bash ] && source ~/.fzf.bash
|
||||
|
||||
247
user/files/eww/eww.scss
Normal file
247
user/files/eww/eww.scss
Normal file
@@ -0,0 +1,247 @@
|
||||
/* Created by https://github.com/rxyhn
|
||||
Designed by https://github.com/rxyhn
|
||||
Maintaned by https://github.com/rxyhn
|
||||
*/
|
||||
|
||||
// Global
|
||||
*{
|
||||
all: unset;
|
||||
}
|
||||
|
||||
// Variable Color's
|
||||
$background: #1A1B26;
|
||||
$foreground: #A9B1D6;
|
||||
|
||||
$black: #24283B;
|
||||
$gray: #565F89;
|
||||
$red: #F7768E;
|
||||
$green: #73DACA;
|
||||
$yellow: #E0AF68;
|
||||
$blue: #7AA2F7;
|
||||
$magenta: #BB9AF7;
|
||||
$cyan: #7DCFFF;
|
||||
$white: $foreground;
|
||||
|
||||
// EWW BAR
|
||||
.eww_bar{
|
||||
background-color: $background;
|
||||
padding: .3rem;
|
||||
}
|
||||
|
||||
// Launcher
|
||||
.launcher_icon{
|
||||
color: $cyan;
|
||||
font-family: "Font Awesome 6";
|
||||
font-size: 1.7em;
|
||||
padding: 1rem 0 1rem 0;
|
||||
}
|
||||
|
||||
// Workspaces
|
||||
.works {
|
||||
font-family: "Font Awesome 6";
|
||||
padding: .2rem .7rem .2rem .7rem;
|
||||
background-color: $black;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.0 , .01, .02, .03, .04, .05, .06,
|
||||
.011, .022, .033, .044, .055, .066{
|
||||
margin: .55rem 0 .55rem 0;
|
||||
}
|
||||
|
||||
/* Unoccupied */
|
||||
.0 {
|
||||
color: $gray;
|
||||
}
|
||||
|
||||
/* Occupied */
|
||||
.01, .02, .03, .04, .05, .06 {
|
||||
color: $gray;
|
||||
}
|
||||
|
||||
/* Focused */
|
||||
.011,
|
||||
.022,
|
||||
.033,
|
||||
.044,
|
||||
.055,
|
||||
.066 {
|
||||
color: $foreground;
|
||||
}
|
||||
|
||||
.0:nth-child(1),
|
||||
.0:nth-child(3){
|
||||
font-size: 1.5em;
|
||||
}
|
||||
.0:nth-child(2){
|
||||
font-size: 1.4em;
|
||||
}
|
||||
.0:nth-child(4),
|
||||
.0:nth-child(5){
|
||||
font-size: 1.6em;
|
||||
}
|
||||
.0:nth-child(6){
|
||||
font-size: 1.7em;
|
||||
}
|
||||
.01,
|
||||
.011,
|
||||
.03,
|
||||
.033{
|
||||
font-size: 1.5em;
|
||||
}
|
||||
.02,
|
||||
.022{
|
||||
font-size: 1.4em;
|
||||
}
|
||||
.04,
|
||||
.05,
|
||||
.044,
|
||||
.055{
|
||||
font-size: 1.6em;
|
||||
}
|
||||
.06,
|
||||
.066{
|
||||
font-size: 1.7em;
|
||||
}
|
||||
|
||||
// Control Panel
|
||||
.control {
|
||||
padding: .5rem;
|
||||
font-family: Material Icons;
|
||||
font-size: 1.6em;
|
||||
background-color: $black;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.bat{
|
||||
font-family: JetBrainsMono Nerd Font;
|
||||
font-size: 1.2em;
|
||||
padding-right: .5rem;
|
||||
color: $blue;
|
||||
}
|
||||
.wifi-icon{
|
||||
margin-bottom: .2rem;
|
||||
color: $magenta;
|
||||
}
|
||||
.brightness-icon{
|
||||
margin: .2rem 0 .2rem 0;
|
||||
color: $yellow;
|
||||
}
|
||||
.volume-icon{
|
||||
font-family: "Fira Code Nerd Font";
|
||||
margin: 0rem .0rem 0rem -.6rem;
|
||||
color: $green;
|
||||
}
|
||||
scale trough {
|
||||
all: unset;
|
||||
background-color: $background;
|
||||
border-radius: 5px;
|
||||
min-height: 80px;
|
||||
min-width: 10px;
|
||||
margin: .3rem 0 .3rem 0;
|
||||
}
|
||||
.bribar trough highlight {
|
||||
background-color: $yellow;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.volbar trough highlight {
|
||||
background-color: $green;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
// Clock
|
||||
.time {
|
||||
font-family: Comic Mono;
|
||||
font-weight: bold;
|
||||
font-size: 1.2em;
|
||||
background-color: $black;
|
||||
color: $white;
|
||||
border-radius: 5px;
|
||||
padding: .7rem 0 .5rem 0;
|
||||
margin: .5rem 0 .5rem 0;
|
||||
}
|
||||
|
||||
.workspace-entry {
|
||||
margin: 5px;
|
||||
border-radius: 5px;
|
||||
padding: .1rem .2rem;
|
||||
border: solid 3px transparent;
|
||||
|
||||
&.occupied {
|
||||
background-color: $black;
|
||||
}
|
||||
|
||||
&.current {
|
||||
border: solid 3px transparent;
|
||||
background: #e67e22;
|
||||
}
|
||||
}
|
||||
|
||||
// Calendar
|
||||
.cal-box {
|
||||
background-color: $black;
|
||||
font-family: Comic Mono;
|
||||
font-size: 1em;
|
||||
font-weight: bold;
|
||||
|
||||
.cal-inner-box {
|
||||
padding: 1rem 1rem .2rem;
|
||||
|
||||
.cal {
|
||||
&.highlight {
|
||||
padding: 10rem;
|
||||
}
|
||||
|
||||
padding: .8rem .25rem 0rem;
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
calendar:selected {
|
||||
color: $blue;
|
||||
}
|
||||
|
||||
calendar.header {
|
||||
color: $blue;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
calendar.button {
|
||||
color: $magenta;
|
||||
}
|
||||
|
||||
calendar.highlight {
|
||||
color: $magenta;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
calendar:indeterminate {
|
||||
color: $background;
|
||||
}
|
||||
|
||||
// Powermenu
|
||||
.powermenu {
|
||||
font-family: feather;
|
||||
font-size: 1.4em;
|
||||
font-weight: bold;
|
||||
}
|
||||
.button-bspres, .button-reb, .button-lock,
|
||||
.button-quit, .button-off{
|
||||
padding: .5rem .2rem .3rem .2rem;
|
||||
}
|
||||
.button-off{
|
||||
margin-bottom: .5rem;
|
||||
color: $red;
|
||||
}
|
||||
.button-bspres{
|
||||
color: $green;
|
||||
}
|
||||
.button-reb{
|
||||
color: $yellow
|
||||
}
|
||||
.button-quit{
|
||||
color: $magenta;
|
||||
}
|
||||
.button-lock{
|
||||
color: $blue;
|
||||
}
|
||||
222
user/files/eww/eww.yuck
Normal file
222
user/files/eww/eww.yuck
Normal file
@@ -0,0 +1,222 @@
|
||||
(deflisten workspaces :initial "[]" "bash ~/.config/eww/scripts/get-workspaces")
|
||||
(deflisten current_workspace :initial "1" "bash ~/.config/eww/scripts/get-active-workspace")
|
||||
(defwidget workspaces []
|
||||
(eventbox :onscroll "bash ~/.config/eww/scripts/change-active-workspace {} ${current_workspace}" :class "workspaces-widget"
|
||||
(box :space-evenly true :orientation "v"
|
||||
(for workspace in workspaces
|
||||
(eventbox :onclick "hyprctl dispatch workspace ${workspace.id}"
|
||||
(box :orientation "v" :class "workspace-entry ${workspace.id == current_workspace ? "current" : ""} ${workspace.windows > 0 ? "occupied" : "empty"}"
|
||||
(label :text "${workspace.id}")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
;; Created by https://github.com/rxyhn
|
||||
;; Designed by https://github.com/rxyhn
|
||||
;; Maintaned by https://github.com/rxyhn
|
||||
|
||||
;; put path to aesthetic bar config files here ;;
|
||||
(defvar eww "/usr/bin/eww -c $HOME/.config/eww")
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Widget Section's ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Launcher Widgets ;;
|
||||
(defwidget launcher []
|
||||
(box :orientation "v"
|
||||
:space-evenly "false"
|
||||
:spacing -15
|
||||
(button :class "launcher_icon"
|
||||
:onclick "scripts/popup launcher" "")))
|
||||
|
||||
;; Volume Widgets ;;
|
||||
(defwidget volum []
|
||||
(eventbox :onhover "${eww} update volum=true"
|
||||
:onhoverlost "${eww} update volum=false"
|
||||
(box :orientation "v"
|
||||
:space-evenly "false"
|
||||
:spacing "2"
|
||||
(revealer :transition "slideup"
|
||||
:reveal volum
|
||||
:duration "150ms"
|
||||
(scale :class "volbar"
|
||||
:value current-volume
|
||||
:orientation "v"
|
||||
:flipped true
|
||||
:tooltip "Volume: ${current-volume}%"
|
||||
:max 101
|
||||
:min 0
|
||||
:onchange "amixer sset Master {}%" ))
|
||||
(button :onclick "pavucontrol" :class "volume-icon" ""))))
|
||||
(defpoll current-volume :interval "1s" "~/.config/eww/scripts/getvol")
|
||||
(defvar volum false)
|
||||
|
||||
|
||||
;; Wifi Widgets ;;
|
||||
(defwidget wifi []
|
||||
(box :orientation "v"
|
||||
:tooltip wifi-name
|
||||
(button :onclick "scripts/popup wifi"
|
||||
:class "wifi-icon" wifi-icon)))
|
||||
(defpoll wifi-icon :interval "1s" "scripts/wifi icon")
|
||||
(defpoll wifi-name :interval "1s" "scripts/wifi name")
|
||||
|
||||
;; Brightness Widgets ;;
|
||||
(defwidget bright []
|
||||
(eventbox :onhover "${eww} update bright=true"
|
||||
:onhoverlost "${eww} update bright=false"
|
||||
(box :orientation "v"
|
||||
:space-evenly "false"
|
||||
:spacing 2
|
||||
(revealer :transition "slideup"
|
||||
:reveal bright
|
||||
:duration "550ms"
|
||||
(scale :class "bribar"
|
||||
:value current-brightness
|
||||
:tooltip "Brightness: ${current-brightness}%"
|
||||
:onchange "brightnessctl set {}%"
|
||||
:orientation "v"
|
||||
:flipped true
|
||||
:max 101
|
||||
:min 0))
|
||||
(label :class "brightness-icon"
|
||||
:text ""))))
|
||||
(defpoll current-brightness :interval "1s" "brightnessctl -m | awk -F, '{print substr($4, 0, length($4)-1)}' | tr -d '%'")
|
||||
(defvar bright false)
|
||||
|
||||
;; Control Panel Widgets ;;
|
||||
(defwidget control []
|
||||
(box :orientation "v"
|
||||
:space-evenly false
|
||||
:class "control"
|
||||
(volum)(bright)(wifi)))
|
||||
|
||||
;; Clock Widgets ;;
|
||||
(defwidget time []
|
||||
(box :orientation "v"
|
||||
:class "time"
|
||||
:valign "end"
|
||||
(button :onclick "scripts/popup calendar"
|
||||
:class "time-hour" hour)
|
||||
(button :onclick "scripts/popup calendar"
|
||||
:class "time-min" min)))
|
||||
(defpoll hour :interval "1s" "date '+%H'")
|
||||
(defpoll min :interval "1s" "date '+%M'")
|
||||
|
||||
;; Calendar Widgets ;;
|
||||
(defwidget cal []
|
||||
(box :class "cal-box"
|
||||
:orientation "v"
|
||||
(box :class "cal-inner-box"
|
||||
(calendar :class "cal"
|
||||
:day calendar_day
|
||||
:month calendar_month
|
||||
:year calendar_year))))
|
||||
(defpoll calendar_day :interval "10h"
|
||||
"date '+%d'")
|
||||
(defpoll calendar_month :interval "10h"
|
||||
"scripts/calendar")
|
||||
(defpoll calendar_year :interval "10h"
|
||||
"date '+%Y'")
|
||||
|
||||
;; Powermenu Widgets ;;
|
||||
(defwidget power []
|
||||
(eventbox :onhover "${eww} update power=true"
|
||||
:onhoverlost "${eww} update power=false"
|
||||
(box :orientation "v"
|
||||
:space-evenly "false"
|
||||
:vexpand "false"
|
||||
:class "powermenu"
|
||||
(revealer :transition "slideup"
|
||||
:reveal power
|
||||
:duration "550ms"
|
||||
(box :orientation "v"
|
||||
:space-evenly "false"
|
||||
|
||||
(button :class "button-bspres"
|
||||
:tooltip "BSPWM Restart"
|
||||
:onclick "bspc wm -r" "" )
|
||||
|
||||
(button :class "button-reb"
|
||||
:tooltip "Reboot"
|
||||
:onclick "reboot" "")
|
||||
|
||||
(button :class "button-quit"
|
||||
:tooltip "Logout"
|
||||
:onclick "killall bspwm" "")
|
||||
|
||||
(button :class "button-lock"
|
||||
:tooltip "Lock Screen"
|
||||
:onclick "betterlockscreen -l" "")))
|
||||
|
||||
(button :class "button-off"
|
||||
:tooltip "Shutdown"
|
||||
:onclick "shutdown now" ""))))
|
||||
(defvar power false)
|
||||
|
||||
;; Top Widgets ;;
|
||||
(defwidget top []
|
||||
(box :orientation "v"
|
||||
:space-evenly "false"
|
||||
:valign "start"
|
||||
(launcher)
|
||||
(workspaces)))
|
||||
|
||||
;; Bottom Widgets ;;
|
||||
(defwidget bottom []
|
||||
(box :orientation "v"
|
||||
:space-evenly false
|
||||
(time)
|
||||
(power)))
|
||||
|
||||
;; End Widgets ;;
|
||||
(defwidget end []
|
||||
(box :orientation "v"
|
||||
:space-evenly "false"
|
||||
:valign "end"
|
||||
:spacing 5
|
||||
(control)
|
||||
(bottom)))
|
||||
|
||||
;; Bar Widgets ;;
|
||||
(defwidget bar []
|
||||
(box :class "eww_bar"
|
||||
:orientation "v"
|
||||
:vexpand "false"
|
||||
:hexpand "false"
|
||||
(top)
|
||||
(end)))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Window Section's ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Bar Windows ;;
|
||||
(defwindow bar
|
||||
:geometry (geometry :x "0"
|
||||
:y "0"
|
||||
:height "100%"
|
||||
:width "47px")
|
||||
:monitor 0
|
||||
:reserve (struts :distance "35px"
|
||||
:side "left")
|
||||
:wm-ignore false
|
||||
:hexpand "false"
|
||||
:vexpand "false"
|
||||
(bar))
|
||||
|
||||
;; Calendar Windows ;;
|
||||
(defwindow calendar
|
||||
:geometry (geometry :x "70px"
|
||||
:y "65%"
|
||||
:width "270px"
|
||||
:height "60px")
|
||||
(cal))
|
||||
|
||||
|
||||
|
||||
44
user/files/eww/scripts/battery
Executable file
44
user/files/eww/scripts/battery
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/bin/sh
|
||||
|
||||
bat=/sys/class/power_supply/BAT0/
|
||||
per="$(cat "$bat/capacity")"
|
||||
|
||||
icon() {
|
||||
|
||||
[ $(cat "$bat/status") = Charging ] && echo "" && exit
|
||||
|
||||
if [ "$per" -gt "90" ]; then
|
||||
icon=""
|
||||
elif [ "$per" -gt "80" ]; then
|
||||
icon=""
|
||||
elif [ "$per" -gt "70" ]; then
|
||||
icon=""
|
||||
elif [ "$per" -gt "60" ]; then
|
||||
icon=""
|
||||
elif [ "$per" -gt "50" ]; then
|
||||
icon=""
|
||||
elif [ "$per" -gt "40" ]; then
|
||||
icon=""
|
||||
elif [ "$per" -gt "30" ]; then
|
||||
icon=""
|
||||
elif [ "$per" -gt "20" ]; then
|
||||
icon=""
|
||||
elif [ "$per" -gt "10" ]; then
|
||||
icon=""
|
||||
notify-send -u critical "Battery Low" "Connect Charger"
|
||||
elif [ "$per" -gt "0" ]; then
|
||||
icon=""
|
||||
notify-send -u critical "Battery Low" "Connect Charger"
|
||||
else
|
||||
echo && exit
|
||||
fi
|
||||
echo "$icon"
|
||||
}
|
||||
|
||||
percent() {
|
||||
echo $per
|
||||
}
|
||||
|
||||
[ "$1" = "icon" ] && icon && exit
|
||||
[ "$1" = "percent" ] && percent && exit
|
||||
exit
|
||||
21
user/files/eww/scripts/change-active-workspace
Executable file
21
user/files/eww/scripts/change-active-workspace
Executable file
@@ -0,0 +1,21 @@
|
||||
#! /bin/bash
|
||||
function clamp {
|
||||
min=$1
|
||||
max=$2
|
||||
val=$3
|
||||
python -c "print(max($min, min($val, $max)))"
|
||||
}
|
||||
|
||||
direction=$1
|
||||
current=$2
|
||||
if test "$direction" = "down"
|
||||
then
|
||||
target=$(clamp 1 10 $(($current+1)))
|
||||
echo "jumping to $target"
|
||||
hyprctl dispatch workspace $target
|
||||
elif test "$direction" = "up"
|
||||
then
|
||||
target=$(clamp 1 10 $(($current-1)))
|
||||
echo "jumping to $target"
|
||||
hyprctl dispatch workspace $target
|
||||
fi
|
||||
3
user/files/eww/scripts/get-active-workspace
Executable file
3
user/files/eww/scripts/get-active-workspace
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
hyprctl monitors -j | jq --raw-output .[0].activeWorkspace.id
|
||||
socat -u UNIX-CONNECT:/tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock - | stdbuf -o0 grep '^workspace>>' | stdbuf -o0 awk -F '>>|,' '{print $2}'
|
||||
11
user/files/eww/scripts/get-workspaces
Executable file
11
user/files/eww/scripts/get-workspaces
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
spaces (){
|
||||
WORKSPACE_WINDOWS=$(hyprctl workspaces -j | jq 'map({key: .id | tostring, value: .windows}) | from_entries')
|
||||
seq 1 10 | jq --argjson windows "${WORKSPACE_WINDOWS}" --slurp -Mc 'map(tostring) | map({id: ., windows: ($windows[.]//0)})'
|
||||
}
|
||||
|
||||
spaces
|
||||
socat -u UNIX-CONNECT:/tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock - | while read -r line; do
|
||||
spaces
|
||||
done
|
||||
2
user/files/eww/scripts/getram
Executable file
2
user/files/eww/scripts/getram
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
printf "%.0f\n" $(free -m | grep Mem | awk '{print ($3/$2)*100}')
|
||||
2
user/files/eww/scripts/getvol
Executable file
2
user/files/eww/scripts/getvol
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
amixer sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }' | tr -d '%' | head -1
|
||||
13
user/files/eww/scripts/wifi
Executable file
13
user/files/eww/scripts/wifi
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
symbol() {
|
||||
[ $(cat /sys/class/net/w*/operstate) = down ] && echo && exit
|
||||
echo
|
||||
}
|
||||
|
||||
name() {
|
||||
nmcli | grep "^wlp" | sed 's/\ connected\ to\ /Connected to /g' | cut -d ':' -f2
|
||||
}
|
||||
|
||||
[ "$1" = "icon" ] && symbol && exit
|
||||
[ "$1" = "name" ] && name && exit
|
||||
44
user/files/git/config
Normal file
44
user/files/git/config
Normal file
@@ -0,0 +1,44 @@
|
||||
[user]
|
||||
email = fbtijfdq@void.black
|
||||
name = Morten Olsen
|
||||
signingkey = 0x4269430A8C3D09A8
|
||||
|
||||
[alias]
|
||||
graph = log --graph --color --pretty=format:"%C(yellow)%H%C(green)%d%C(reset)%n%x20%cd%n%x20%cn%C(blue)%x20(%ce)%x20%C(cyan)[gpg:%GK%x20%G?]%C(reset)%n%x20%s%n"
|
||||
ll = log --oneline
|
||||
st = status -sb
|
||||
cm = commit -m
|
||||
append = commit --amend --no-edit
|
||||
sobmodules = submodule update --init --recursive
|
||||
df = difftool -t nvimdiff -y
|
||||
last = log -1 --stat
|
||||
br = branch --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(contents:subject) %(color:green)(%(committerdate:relative)) [%(authorname)]' --sort=-committerdate
|
||||
brr = branch --remote --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(contents:subject) %(color:green)(%(committerdate:relative)) [%(authorname)]' --sort=-committerdate
|
||||
undo = reset HEAD~1 --mixed
|
||||
unstage = reset HEAD --
|
||||
|
||||
[difftool "nvimdiff"]
|
||||
cmd = "nvim -d \"$LOCAL\" \"$REMOTE\""
|
||||
[commit]
|
||||
gpgsign = true
|
||||
[url "git@gitlab.com:maersktankers/"]
|
||||
insteadOf = https://gitlab.com/maersktankers/
|
||||
[url "git@github.com:morten-olsen/"]
|
||||
insteadOf = https://github.com/morten-olsen/
|
||||
[url "git@github.com:0north/"]
|
||||
insteadOf = https://github.com/0north/
|
||||
[url "https://"]
|
||||
insteadOf = git://
|
||||
|
||||
[core]
|
||||
pager = delta
|
||||
hooksPath = /dev/null
|
||||
|
||||
[interactive]
|
||||
diffFilter = delta --color-only
|
||||
|
||||
[pull]
|
||||
ff = only
|
||||
[init]
|
||||
defaultBranch = main
|
||||
|
||||
10
user/files/gpg/gpg-agent.conf
Normal file
10
user/files/gpg/gpg-agent.conf
Normal file
@@ -0,0 +1,10 @@
|
||||
# https://github.com/drduh/config/blob/master/gpg-agent.conf
|
||||
# https://www.gnupg.org/documentation/manuals/gnupg/Agent-Options.html
|
||||
enable-ssh-support
|
||||
default-cache-ttl 60
|
||||
max-cache-ttl 120
|
||||
#pinentry-program /usr/bin/pinentry-curses
|
||||
#pinentry-program /usr/bin/pinentry-curses
|
||||
#pinentry-program /usr/local/bin/pinentry-curses
|
||||
pinentry-program /run/current-system/sw/bin/pinentry-gnome3
|
||||
|
||||
54
user/files/gpg/gpg.conf
Normal file
54
user/files/gpg/gpg.conf
Normal file
@@ -0,0 +1,54 @@
|
||||
# https://github.com/drduh/config/blob/master/gpg.conf
|
||||
# https://www.gnupg.org/documentation/manuals/gnupg/GPG-Configuration-Options.html
|
||||
# https://www.gnupg.org/documentation/manuals/gnupg/GPG-Esoteric-Options.html
|
||||
# Use AES256, 192, or 128 as cipher
|
||||
personal-cipher-preferences AES256 AES192 AES
|
||||
# Use SHA512, 384, or 256 as digest
|
||||
personal-digest-preferences SHA512 SHA384 SHA256
|
||||
# Use ZLIB, BZIP2, ZIP, or no compression
|
||||
personal-compress-preferences ZLIB BZIP2 ZIP Uncompressed
|
||||
# Default preferences for new keys
|
||||
default-preference-list SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed
|
||||
# SHA512 as digest to sign keys
|
||||
cert-digest-algo SHA512
|
||||
# SHA512 as digest for symmetric ops
|
||||
s2k-digest-algo SHA512
|
||||
# AES256 as cipher for symmetric ops
|
||||
s2k-cipher-algo AES256
|
||||
# UTF-8 support for compatibility
|
||||
charset utf-8
|
||||
# Show Unix timestamps
|
||||
fixed-list-mode
|
||||
# No comments in signature
|
||||
no-comments
|
||||
# No version in signature
|
||||
no-emit-version
|
||||
# Long hexidecimal key format
|
||||
keyid-format 0xlong
|
||||
# Display UID validity
|
||||
list-options show-uid-validity
|
||||
verify-options show-uid-validity
|
||||
# Display all keys and their fingerprints
|
||||
with-fingerprint
|
||||
# Display key origins and updates
|
||||
#with-key-origin
|
||||
# Cross-certify subkeys are present and valid
|
||||
require-cross-certification
|
||||
# Disable caching of passphrase for symmetrical ops
|
||||
no-symkey-cache
|
||||
# Enable smartcard
|
||||
use-agent
|
||||
# Disable recipient key ID in messages
|
||||
throw-keyids
|
||||
# Default/trusted key ID to use (helpful with throw-keyids)
|
||||
default-key 0xE38E38DDAF34677F
|
||||
#trusted-key 0xFF3E7D88647EBCDB
|
||||
# Keyserver URL
|
||||
#keyserver hkps://pgp.mit.edu
|
||||
#keyserver hkps://hkps.pool.sks-keyservers.net
|
||||
#keyserver hkps://keys.openpgp.org
|
||||
keyserver hkps://keyserver.ubuntu.com:443
|
||||
#keyserver hkps://pgp.ocf.berkeley.edu
|
||||
# Proxy to use for keyservers
|
||||
#keyserver-options http-proxy=socks5-hostname://127.0.0.1:9050
|
||||
|
||||
62
user/files/hyprland/binds.conf
Normal file
62
user/files/hyprland/binds.conf
Normal file
@@ -0,0 +1,62 @@
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
$mainMod = SUPER
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = $mainMod SHIFT, escape, exec, systemctl suspend
|
||||
bind = $mainMod, return, exec, kitty
|
||||
bind = $mainMod, d, exec, wofi --show drun
|
||||
bind = $mainMod, v, exec, pavucontrol
|
||||
bind=SUPER,Q,killactive,
|
||||
bind=SUPERCONTROL,Q,exec,hyprctl kill
|
||||
bind=SUPER,F,fullscreen
|
||||
bind = $mainMod, M, exit,
|
||||
bind = $mainMod SHIFT, return, exec, flatpak run org.mozilla.firefox
|
||||
bind = $mainMod, t, togglefloating,
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, h, movefocus, l
|
||||
bind = $mainMod, l, movefocus, r
|
||||
bind = $mainMod, k, movefocus, u
|
||||
bind = $mainMod, j, movefocus, d
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
# Audio controls
|
||||
bind=,XF86AudioMute,exec,~/.config/hypr/scripts/volume.sh mute
|
||||
bind=,XF86AudioLowerVolume,exec,~/.config/hypr/scripts/volume.sh down
|
||||
bind=,XF86AudioRaiseVolume,exec,~/.config/hypr/scripts/volume.sh up
|
||||
bind=,XF86AudioMicMute,exec,pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
||||
|
||||
# Display brightness
|
||||
bindle=,XF86MonBrightnessUp,exec,~/.config/hypr/scripts/brightness.sh up # increase screen brightness
|
||||
bindle=,XF86MonBrightnessDown,exec,~/.config/hypr/scripts/brightness.sh down # decrease screen brightnes
|
||||
11
user/files/hyprland/exec.conf
Normal file
11
user/files/hyprland/exec.conf
Normal file
@@ -0,0 +1,11 @@
|
||||
exec=mako
|
||||
exec-once=avizo-service
|
||||
exec-once=redshift -c ~/.config/redshift/config
|
||||
exec-once=kanshi
|
||||
exec-once=libinput-gestures
|
||||
exec-once=hyprpaper
|
||||
exec-once=~/.config/hypr/scripts/screensharing.sh
|
||||
exec-once=~/.config/hypr/scripts/idle.sh
|
||||
exec-once=~/.config/hypr/scripts/eww.sh
|
||||
exec-once /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
|
||||
74
user/files/hyprland/general.conf
Normal file
74
user/files/hyprland/general.conf
Normal file
@@ -0,0 +1,74 @@
|
||||
general {
|
||||
sensitivity=1.00
|
||||
apply_sens_to_raw=1
|
||||
cursor_inactive_timeout=5
|
||||
layout=dwindle
|
||||
border_size=0
|
||||
col.active_border=0xffc0392b
|
||||
col.inactive_border=0x00292a37
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding=4
|
||||
#blur=1
|
||||
inactive_opacity = 0.8
|
||||
drop_shadow=0
|
||||
shadow_range=20
|
||||
col.shadow=0xffb072d1
|
||||
dim_inactive=1
|
||||
dim_strength=0.6
|
||||
}
|
||||
|
||||
gestures {
|
||||
workspace_swipe=1
|
||||
workspace_swipe_distance=400
|
||||
workspace_swipe_invert=1
|
||||
workspace_swipe_min_speed_to_force=30
|
||||
workspace_swipe_cancel_ratio=0.5
|
||||
workspace_swipe_create_new=0
|
||||
workspace_swipe_forever=1
|
||||
}
|
||||
|
||||
#Decoration section in theme file
|
||||
blurls=lockscreen
|
||||
|
||||
bezier=slow,0,0.85,0.3,1
|
||||
bezier=overshot,0.7,0.6,0.1,1.1
|
||||
bezier=bounce,1,1.6,0.1,0.85
|
||||
bezier=slingshot,1,-1,0.15,1.25
|
||||
bezier=nice,0,6.9,0.5,-4.20
|
||||
|
||||
animations {
|
||||
enabled=1
|
||||
animation=windows,1,4,overshot,slide
|
||||
animation=border,1,20,default
|
||||
animation=fade,1,5,overshot
|
||||
animation=workspaces,1,3,overshot,slidevert
|
||||
}
|
||||
|
||||
dwindle {
|
||||
pseudotile=0 # enable pseudotiling on dwindle
|
||||
}
|
||||
|
||||
master {
|
||||
new_is_master=0
|
||||
new_on_top=0
|
||||
}
|
||||
|
||||
binds {
|
||||
workspace_back_and_forth=1
|
||||
allow_workspace_cycles=1
|
||||
pass_mouse_when_bound=0
|
||||
}
|
||||
|
||||
misc {
|
||||
#no_vfr=0
|
||||
enable_swallow=1
|
||||
swallow_regex=^(foot:kitty:Alacritty)$
|
||||
no_direct_scanout=1
|
||||
}
|
||||
|
||||
windowrule=float,pavucontrol
|
||||
windowrule=float,title:^(Firefox — Sharing Indicator)$
|
||||
windowrule=move 95% 95%,title:^(Firefox — Sharing Indicator)$
|
||||
windowrule=nofullscreenrequest,title:^(Firefox — Sharing Indicator)$
|
||||
18
user/files/hyprland/hyprland.conf
Normal file
18
user/files/hyprland/hyprland.conf
Normal file
@@ -0,0 +1,18 @@
|
||||
monitor=,preferred,auto,auto
|
||||
monitor=DP-2,addreserved,0,0,50,0
|
||||
monitor=eDP-1,addreserved,0,0,50,0
|
||||
monitor=DP-2,preferred,auto,1
|
||||
monitor=DP-2,preferred,auto,1
|
||||
|
||||
#55a75e044c80
|
||||
|
||||
bindl=,switch:on:Lid Switch,exec,hyprctl keyword monitor "eDP-1, disable"
|
||||
bindl=,switch:off:Lid Switch,exec,hyprctl keyword monitor "eDP-1, prefered, auto, 1"
|
||||
|
||||
workspace=eDP-1,1
|
||||
workspace=DP-2,9
|
||||
|
||||
source=~/.config/hypr/general.conf
|
||||
source=~/.config/hypr/input.conf
|
||||
source=~/.config/hypr/exec.conf
|
||||
source=~/.config/hypr/binds.conf
|
||||
3
user/files/hyprland/hyprpaper.conf
Normal file
3
user/files/hyprland/hyprpaper.conf
Normal file
@@ -0,0 +1,3 @@
|
||||
preload = ~/wallpaper.jpg
|
||||
|
||||
wallpaper = ,~/wallpaper.jpg
|
||||
24
user/files/hyprland/input.conf
Normal file
24
user/files/hyprland/input.conf
Normal file
@@ -0,0 +1,24 @@
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options = caps:swapescape
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
touchpad {
|
||||
disable_while_typing=1
|
||||
natural_scroll=1
|
||||
clickfinger_behavior=1
|
||||
middle_button_emulation=0
|
||||
tap-to-click=1
|
||||
}
|
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
}
|
||||
|
||||
device:at-translated-set-2-keyboard {
|
||||
kb_layout = dk
|
||||
kb_variant = nodeadkeys
|
||||
}
|
||||
14
user/files/hyprland/scripts/brightness.sh
Executable file
14
user/files/hyprland/scripts/brightness.sh
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
down() {
|
||||
brightnessctl s '10%-'
|
||||
}
|
||||
|
||||
up() {
|
||||
brightnessctl s +10%
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
up) up;;
|
||||
down) down;;
|
||||
esac
|
||||
4
user/files/hyprland/scripts/eww.sh
Executable file
4
user/files/hyprland/scripts/eww.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
eww daemon
|
||||
eww open bar
|
||||
5
user/files/hyprland/scripts/idle.sh
Executable file
5
user/files/hyprland/scripts/idle.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
swayidle -w \
|
||||
before-sleep 'loginctl lock-session $XDG_SESSION_ID' \
|
||||
lock '~/.config/hypr/scripts/lock.sh'
|
||||
16
user/files/hyprland/scripts/lock.sh
Executable file
16
user/files/hyprland/scripts/lock.sh
Executable file
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
swaylock \
|
||||
--screenshots \
|
||||
--clock \
|
||||
--indicator-radius 200 \
|
||||
--indicator-thickness 8 \
|
||||
--datestr "%a %e.%m.%Y" --timestr "%k:%M" \
|
||||
--effect-scale 1 \
|
||||
--effect-blur 7x7 \
|
||||
--ring-color 000000 \
|
||||
--key-hl-color 880033 \
|
||||
--line-color 00000000 \
|
||||
--inside-color 00000066 \
|
||||
--separator-color 00000000 \
|
||||
--fade-in 0.6
|
||||
#--effect-vignette 0.5:0.5 \
|
||||
8
user/files/hyprland/scripts/screensharing.sh
Executable file
8
user/files/hyprland/scripts/screensharing.sh
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
sleep 1
|
||||
killall xdg-desktop-portal-hyprland
|
||||
killall xdg-desktop-portal-wlr
|
||||
killall xdg-desktop-portal
|
||||
/usr/libexec/xdg-desktop-portal-hyprland &
|
||||
sleep 2
|
||||
/usr/lib/xdg-desktop-portal &
|
||||
36
user/files/hyprland/scripts/volume.sh
Executable file
36
user/files/hyprland/scripts/volume.sh
Executable file
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
down() {
|
||||
pamixer -u
|
||||
pamixer -d 5
|
||||
volume=$(pamixer --get-volume)
|
||||
[ $volume -gt 0 ] && volume=`expr $volume`
|
||||
prec=`echo "scale=2; $volume / 100" | bc`
|
||||
avizo-client --progress=$prec --time=0.5 --background="#222" --foreground="#f39c12"
|
||||
}
|
||||
|
||||
up() {
|
||||
pamixer -u
|
||||
pamixer -i 5
|
||||
volume=$(pamixer --get-volume)
|
||||
[ $volume -lt 100 ] && volume=`expr $volume`
|
||||
prec=`echo "scale=2; $volume / 100" | bc`
|
||||
avizo-client --progress=$prec --time=1
|
||||
}
|
||||
|
||||
mute() {
|
||||
muted="$(pamixer --get-mute)"
|
||||
if $muted; then
|
||||
pamixer -u
|
||||
notify-send "Unmuted"
|
||||
else
|
||||
pamixer -m
|
||||
notify-send "Muted"
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
up) up;;
|
||||
down) down;;
|
||||
mute) mute;;
|
||||
esac
|
||||
8
user/files/kitty/kitty.conf
Normal file
8
user/files/kitty/kitty.conf
Normal file
@@ -0,0 +1,8 @@
|
||||
font_family FiraCode Nerd Font Reg
|
||||
bold_font FiraCode Nerd Font Bold
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
disable_ligatures cursor
|
||||
enable_audio_bell no
|
||||
bell_on_tab no
|
||||
background_opacity 0.8
|
||||
0
user/files/shell/rc.d/00-vars.sh
Normal file
0
user/files/shell/rc.d/00-vars.sh
Normal file
2
user/files/shell/rc.d/01-scripts.sh
Normal file
2
user/files/shell/rc.d/01-scripts.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
export PATH="$PATH:$HOME/.local/bin"
|
||||
|
||||
34
user/files/shell/rc.d/02-alias.sh
Normal file
34
user/files/shell/rc.d/02-alias.sh
Normal file
@@ -0,0 +1,34 @@
|
||||
alias ..="cd .."
|
||||
|
||||
alias g="git"
|
||||
alias ls="eza"
|
||||
alias mutt="neomutt"
|
||||
|
||||
alias gr="cd \`git rev-parse --show-toplevel\`"
|
||||
|
||||
# Enable aliases to be sudo’ed
|
||||
alias sudo='sudo '
|
||||
|
||||
# Get week number
|
||||
alias week='date +%V'
|
||||
|
||||
# macOS has no `md5sum`, so use `md5` as a fallback
|
||||
command -v md5sum > /dev/null || alias md5sum="md5"
|
||||
|
||||
# macOS has no `sha1sum`, so use `shasum` as a fallback
|
||||
command -v sha1sum > /dev/null || alias sha1sum="shasum"
|
||||
|
||||
# Print each PATH entry on a separate line
|
||||
alias path='echo -e ${PATH//:/\\n}'
|
||||
|
||||
# Enable tab completion for `g` by marking it as an alias for `git`
|
||||
command -v _git > /dev/null && command -v complete > /dev/null && complete -o default -o nospace -F _git g
|
||||
|
||||
command -v xsel > /dev/null || alias copy='xsel -ib'
|
||||
command -v urxvt > /dev/null || alias n="setsid urxvt &>/dev/null"
|
||||
|
||||
alias sc="sudo systemctl"
|
||||
alias usermount="sudo mount -o gid=users,fmask=113,dmask=002"
|
||||
alias fzf="fzf --preview 'bat {} --line-range 0:100 --color always'"
|
||||
alias stmux="tmux a -t base || tmux new -s base"
|
||||
|
||||
6
user/files/shell/rc.d/02-bat.sh
Normal file
6
user/files/shell/rc.d/02-bat.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
if hash bat &> /dev/null; then
|
||||
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
|
||||
export BAT_THEME="MonokaiExtended"
|
||||
alias cat="bat"
|
||||
fi
|
||||
|
||||
8
user/files/shell/rc.d/03-ssh.sh
Normal file
8
user/files/shell/rc.d/03-ssh.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
export TMPDIR=${TMPDIR:-/tmp}
|
||||
|
||||
if ! pgrep -U "$UID" ssh-agent > /dev/null; then
|
||||
ssh-agent > "$XDG_RUNTIME_DIR/ssh-agent.env"
|
||||
fi
|
||||
if [[ ! "$SSH_AUTH_SOCK" ]]; then
|
||||
eval "$(<"$XDG_RUNTIME_DIR/ssh-agent.env")"
|
||||
fi
|
||||
7
user/files/shell/rc.d/05-npm.sh
Normal file
7
user/files/shell/rc.d/05-npm.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
export GH_TOKEN=${GH_TOKEN:-unset}
|
||||
export NPM_GH_TOKEN=${GH_TOKEN:-unset}
|
||||
export NPM_NPM_TOKEN=${NPM_NPM_TOKEN:-unset}
|
||||
export PUBLISH_NPM_GITLAB_TOKEN=${NPM_NPM_TOKEN:-unset}
|
||||
export NPM_PRIVATE_TOKEN=${NPM_PRIVATE_TOKEN:-unset}
|
||||
npm set prefix ~/.npm-global
|
||||
|
||||
1
user/files/shell/rc.d/07-fzf.sh
Normal file
1
user/files/shell/rc.d/07-fzf.sh
Normal file
@@ -0,0 +1 @@
|
||||
export FZF_DEFAULT_COMMAND='ag -g ""'
|
||||
5
user/files/shell/rc.d/10-gpg-agent.sh
Normal file
5
user/files/shell/rc.d/10-gpg-agent.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
export GPG_TTY="$(tty)"
|
||||
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
|
||||
gpgconf --launch gpg-agent
|
||||
gpg-connect-agent updatestartuptty /bye > /dev/null
|
||||
|
||||
3
user/files/shell/rc.d/10-nvim.sh
Normal file
3
user/files/shell/rc.d/10-nvim.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
export EDITOR=nvim
|
||||
alias vim=nvim
|
||||
|
||||
4
user/files/ssh/authorized_keys
Normal file
4
user/files/ssh/authorized_keys
Normal file
@@ -0,0 +1,4 @@
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCoklnJCZ77Pr9Vd89Wi5jlmRzRGAbGF63lxsRW46C0jwf3BT0B1rFDPr0Opi0uFG5dMbIN9YbXHnh2rVFjxhBqifkWU0zOTRcRNZUI4p28RR0H7wCPohMCOvalkf8NGbNSkBi47nVMUauJ2CASlgyGeSg6kvAtB8y4i/jF0pBsFaOdu2J088itPqoHjqFIlQ3p8lefGm2Fsj5V5g7xtPuhPmR8tvU+K1iPauptLMLbfeqNVlHoMZq0LoGnMkgx0gwFatt3Pyhe91HFJBX+Kd/yN8nkokkEd/abkbiJ2OkeHfF94NMyco9VlgRTXpkxnAldHp7a4OJGdiVh0d+k0B7EEXMQgq9M2+kBBjOBN4f3nw6ftZyJ3hYsK0K9eL/gVV14jDyt1d07xedfkBauLV1HObYd1mSily8nJZkHAQHvpjToktwwfmoNvhHBdIZm11NxoRTz4T6Pn98TCksR4UtT2jOcdlb/agSYoGMLEyw1yvSSu8Q8I3FrjPh/qfA4Ssjk2DD9HqUu1G9EMB3p/3C6LblBK1KJmpjpPFNRw7Qc/ntJ9gtb3xUlDQi7AcOitjNVVR1prvC4dQ0l2O5bXw6wInLXz2JJiyhwTtSl+Du+Ng1JnAL4EXCPrXcPTV5Jqz9h3l/crULEctFZUGQbVSyhjQbb9WxfedQVE+aEetNC2Q==
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDZob/qPQN/9Fb+wVF4pcGtQiho5sVkSgr9V6ISSA5MrOTX0C7H6CHZY+2imEyu0wa14UTte03gwXuHR3ibwwHdGWFd6oMmu9C1MpNIdHn7HIT/Z7vFCO0ra/cErKpDRSrkPkqk6VkTZtpj+3xAEhjHIANfA2U0Uedzq9+p7CdO6HIH0z9jxgCb1pyJP0B6XAqiRphwS1h1DIZIfvp2Ffsx4cG7lcn8v4w7RaDVJ2HPnxeUeR9Y0TvBq+JQdwIEFL8vRdKNktzc1wPyLL0/u6qplWEF+t2V3WmTc6VS6TeFsnClEH/voiM5edQy9oZPxuV3OurCE8j8i8ciR2UlgRdy28Rt0b4NGkvlKDVt08aLmWVuLCmdWRctD7M8YqmDB/9TX/wN5Hj03sdF2duQarQMOheBtsL6OvNT1yHn0FveNZfvuxDP1GliOy5lPqp9izPkvGSFEnxiiPUzMpVVZfrI6DucqLms7EAF6RjKPbWE5xELcj+I412eTp56hUy1bXUH2Gx91tGnTNlxaRDDVXN2S+wB0TgAbFwmNfK4J9Th6TakXoyZHmoaTsTmpMRnj40rtp88ZvT8I8gMosXVqben8jccX5ZUWlTSMvaUjpBEMTmvuaHBv7qrH2itF/3ODqA8g2uXmcIkdW6PA9kxWG5IXRMCqmLuDBqhRpgw2jJP6w==
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCz43+8OPbXxTdWOvIzLKTZmXQzTvoE/Nu3K0+HA80m4HmILz9Ypv4G7HYZocw4WqhveWPUVJnjXbMNrQ1K00CeMqlEqUZj0CXfnDYyd2qDEj+eKmoL8tAFyDdEFmUvn9XfM45yanZ3Rhi1tnVMzsfkK+JQTf7jU5br1bC2XU62J/rymC4M13IDcxhqjrc+TlYafRdlSgt1NeZh/cgxMdesTvHCAIoVVqPcTxrOSK8X9lJGBc2+rnllXFBRxokur34DWuKpd4rVqbENzyuCqVvEASZQGoy9m1NEi+FJRoJy98YQXEDyna6/BCrIQ58wMOYCg1gtD5Cih9ht6bmb9iiZcmj6R25vaeqnhGdbMmWcQuv4DPpf2xV1yrY7FebazSHSZQgsc50ReO2jCnMNhun562gPq7q8Ge+xQzLdDICKyQxG1NSnuq+azxzPuXmx/y/hMEOcu4WcrTGgRtKIIMFcqKF0OIw2YGpoYuqOp1yyjp+RDdnXEDNSYR6o9ZiYvXUdqRoWEQlYIqM42M6tLwKMXIPyAwmoq5PruhU/HAppCx3UoMDUE5I+L2BEVglL3iXw+eDgoiltfKKiTul7C9D2aGEi+FRRiKjQUvT6aBnXIit+iU6i4m0WJKvFE4oAX0e7/t3GQW1ycsDj15F5RpcNX8p+pbH0e9B1Uye7TFySSQ==
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCj8wspkAnOpEmipwB/xd8vpEx9aqNbyjD2xzv0msDJvYMn26ZO3cbtbWbMI9Uns55aHcL0bStdbaJQIcL8ZVzvQtKq+spdZYQpN4cFlN16HXKR/UjBYtJEdHVxb2cwb2DM04aLDuAlCAJGChEAqpIQFpvlByyAaxSPwor5Cy5JHmm5fMkvcJEvPtxQOo4yovY8qW9scWlOCrzNSAYtBwTGG8REcRuTaEW9EJlmn8QZA+T+cE7nFdZOlmm752jW9wBCAIKlg6W5gX0rysSxy+MkKB/2ohpLI+0SeWAM8+CEtZjO7GP6xRPXZgrZJssytzQsJoiMTs6rJM5ovHUMVNPGDLCB6+8lWM7Jk4hh0lIQTOC5AMucH2jRJSyQb2AA3kbPuWOwHDDIlSUnNFsI/xUVs1lfx3ikIZEb9oZcKwWBB2PeL/KT6ca7dsI3PyFL+hC5Wi7ll0Aj5w+dBZOxwW1agSo4ujPKO9oIVwqEA+PqoK/GZtIHAx6t/m3DK8T4HAo2GZMqyzRgcqk1bttaCFzX2h074yW1du8+l4yIqWrooqD474V3MT05HUxkA1+9S5ldEwK4J50WfKlhNuZn5YeiHLngisu8WyIGREYDGlkM+1qxwHiJGohigS20kpmTUkKvyLRXItAcvQYBknCV3qb8B1Kj1bvbN3sCaqQAeVWxDw==
|
||||
7
user/files/ssh/config
Normal file
7
user/files/ssh/config
Normal file
@@ -0,0 +1,7 @@
|
||||
Include ~/.ssh/config.d/*
|
||||
|
||||
Host *
|
||||
Controlmaster auto
|
||||
Controlpath ${TMPDIR}/ssh-%r@%h:%p
|
||||
|
||||
|
||||
1
user/files/ssh/config.d
Symbolic link
1
user/files/ssh/config.d
Symbolic link
@@ -0,0 +1 @@
|
||||
../.dotfiles/git/.ssh/config.d
|
||||
0
user/files/ssh/known_hosts
Normal file
0
user/files/ssh/known_hosts
Normal file
112
user/files/tmux/config
Normal file
112
user/files/tmux/config
Normal file
@@ -0,0 +1,112 @@
|
||||
set -g mouse on
|
||||
set -g default-terminal "screen-256color-bce"
|
||||
set -g status-justify centre
|
||||
|
||||
#set -ga terminal-overrides ',xterm-256color:Tc'
|
||||
|
||||
|
||||
set -g base-index 1
|
||||
set -g renumber-windows on
|
||||
set -g lock-command physlock
|
||||
bind q lock-client
|
||||
|
||||
# use C-a
|
||||
# unbind C-b
|
||||
# set-option -g prefix C-a
|
||||
# bind-key C-a send-prefix
|
||||
|
||||
# split with | and -
|
||||
#bind | split-window -h
|
||||
#bind - split-window -v
|
||||
unbind '"'
|
||||
unbind %
|
||||
|
||||
bind h select-pane -L
|
||||
bind j select-pane -D
|
||||
bind k select-pane -U
|
||||
bind l select-pane -R
|
||||
|
||||
bind -r H resize-pane -L 10
|
||||
bind -r J resize-pane -D 10
|
||||
bind -r K resize-pane -U 10
|
||||
bind -r L resize-pane -R 10
|
||||
|
||||
# switch panes using Alt-arrow without prefix
|
||||
bind -n M-Left select-pane -L
|
||||
bind -n M-Right select-pane -R
|
||||
bind -n M-Up select-pane -U
|
||||
bind -n M-Down select-pane -D
|
||||
|
||||
bind o attach -c "#{pane_current_path}"
|
||||
|
||||
# don't rename windows automatically
|
||||
set-option -g allow-rename off
|
||||
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
|
||||
run -b '~/.tmux/plugins/tpm/tpm'
|
||||
if "test ! -d ~/.tmux/plugins/tpm" \
|
||||
"run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'"
|
||||
|
||||
# set -g @plugin "arcticicestudio/nord-tmux"
|
||||
# set -g @plugin 'dracula/tmux'
|
||||
# set -g @dracula-show-powerline true
|
||||
set -g @plugin 'wfxr/tmux-power'
|
||||
# open pane in vim
|
||||
bind-key / capture-pane -S -102400 -J \; new-window 'vim -c ":read !tmux save-buffer - ; tmux delete-buffer;" -c ":normal gg" -c ":set buftype=nofile" -c ":silent! ChompWhitespace"'
|
||||
|
||||
# clear history
|
||||
# bind k send-keys -R \; clear-history
|
||||
|
||||
# copy mode
|
||||
setw -g mode-keys vi
|
||||
bind Escape copy-mode
|
||||
unbind [
|
||||
unbind p
|
||||
bind p paste-buffer
|
||||
bind -Tcopy-mode-vi v send -X begin-selection
|
||||
bind -Tcopy-mode-vi y send -X copy-selection
|
||||
bind -Tcopy-mode-vi Escape send -X cancel
|
||||
|
||||
# panes
|
||||
bind - split-window -v -c "#{pane_current_path}"
|
||||
bind | split-window -h -c "#{pane_current_path}"
|
||||
bind C-z resize-pane -Z
|
||||
bind g swap-pane -U
|
||||
bind æ swap-pane -D
|
||||
|
||||
# panes
|
||||
#set -g window-active-style 'bg=colour236'
|
||||
#set -g window-style 'bg=black'
|
||||
|
||||
|
||||
# Smart pane switching with awareness of Vim splits.
|
||||
# See: https://github.com/christoomey/vim-tmux-navigator
|
||||
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
|
||||
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
|
||||
bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L'
|
||||
bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D'
|
||||
bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U'
|
||||
bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R'
|
||||
|
||||
bind -n 'M-h' if-shell "$is_vim" 'send-keys M-h' 'resize-pane -L 1'
|
||||
bind -n 'M-j' if-shell "$is_vim" 'send-keys M-j' 'resize-pane -D 1'
|
||||
bind -n 'M-k' if-shell "$is_vim" 'send-keys M-k' 'resize-pane -U 1'
|
||||
bind -n 'M-l' if-shell "$is_vim" 'send-keys M-l' 'resize-pane -R 1'
|
||||
|
||||
tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")'
|
||||
if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \
|
||||
"bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\' 'select-pane -l'"
|
||||
if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \
|
||||
"bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\\\' 'select-pane -l'"
|
||||
|
||||
|
||||
bind-key -T copy-mode-vi 'C-h' select-pane -L
|
||||
bind-key -T copy-mode-vi 'C-j' select-pane -D
|
||||
bind-key -T copy-mode-vi 'C-k' select-pane -U
|
||||
bind-key -T copy-mode-vi 'C-l' select-pane -R
|
||||
bind-key -T copy-mode-vi 'C-\' select-pane -l
|
||||
|
||||
# Utils
|
||||
bind -r g display-popup -d '#{pane_current_path}' -w80% -h80% -E lazygit
|
||||
|
||||
13
user/files/wofi/INSTALL.md
Normal file
13
user/files/wofi/INSTALL.md
Normal file
@@ -0,0 +1,13 @@
|
||||
### [wofi](https://hg.sr.ht/~scoopta/wofi)
|
||||
|
||||
#### Install using Git
|
||||
|
||||
If you are a git user, you can install the theme and keep up to date by cloning the repo:
|
||||
|
||||
$ git clone https://github.com/dracula/wofi.git
|
||||
|
||||
#### Install manually
|
||||
|
||||
Download using the [GitHub .zip download](https://github.com/dracula/wofi/archive/master.zip) option and unzip them.
|
||||
Place `style.css` in your `~/.config/wofi` directory.
|
||||
|
||||
21
user/files/wofi/LICENSE
Normal file
21
user/files/wofi/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2020 Dracula Theme
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
27
user/files/wofi/README.md
Normal file
27
user/files/wofi/README.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Dracula for [wofi](https://hg.sr.ht/~scoopta/wofi)
|
||||
|
||||
> A dark theme for [wofi](https://hg.sr.ht/~scoopta/wofi).
|
||||
|
||||

|
||||
|
||||
## Install
|
||||
|
||||
All instructions can be found at [draculatheme.com/wofi](https://draculatheme.com/wofi).
|
||||
|
||||
## Team
|
||||
|
||||
This theme is maintained by the following person(s) and a bunch of [awesome contributors](https://github.com/dracula/wofi/graphs/contributors).
|
||||
|
||||
| [](https://github.com/elumbella) |
|
||||
| ------------------------------------------------------------------------------------------------------- |
|
||||
| [elumbella](https://github.com/elumbella) |
|
||||
|
||||
## Community
|
||||
|
||||
- [Twitter](https://twitter.com/draculatheme) - Best for getting updates about themes and new stuff.
|
||||
- [GitHub](https://github.com/dracula/dracula-theme/discussions) - Best for asking questions and discussing issues.
|
||||
- [Discord](https://draculatheme.com/discord-invite) - Best for hanging out with the community.
|
||||
|
||||
## License
|
||||
|
||||
[MIT License](./LICENSE)
|
||||
BIN
user/files/wofi/screenshot.png
Normal file
BIN
user/files/wofi/screenshot.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
39
user/files/wofi/style.css
Normal file
39
user/files/wofi/style.css
Normal file
@@ -0,0 +1,39 @@
|
||||
window {
|
||||
margin: 0px;
|
||||
border: 1px solid #bd93f9;
|
||||
background-color: #282a36;
|
||||
}
|
||||
|
||||
#input {
|
||||
margin: 5px;
|
||||
border: none;
|
||||
color: #f8f8f2;
|
||||
background-color: #44475a;
|
||||
}
|
||||
|
||||
#inner-box {
|
||||
margin: 5px;
|
||||
border: none;
|
||||
background-color: #282a36;
|
||||
}
|
||||
|
||||
#outer-box {
|
||||
margin: 5px;
|
||||
border: none;
|
||||
background-color: #282a36;
|
||||
}
|
||||
|
||||
#scroll {
|
||||
margin: 0px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#text {
|
||||
margin: 5px;
|
||||
border: none;
|
||||
color: #f8f8f2;
|
||||
}
|
||||
|
||||
#entry:selected {
|
||||
background-color: #44475a;
|
||||
}
|
||||
108
user/files/zsh/config
Normal file
108
user/files/zsh/config
Normal file
@@ -0,0 +1,108 @@
|
||||
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
||||
# Initialization code that may require console input (password prompts, [y/n]
|
||||
# confirmations, etc.) must go above this block; everything else may go below.
|
||||
# if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||||
# source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||
# fi
|
||||
# POWERLEVEL9K_DISABLE_CONFIGURATION_WIZARD=true
|
||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||
# [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||
|
||||
export XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR:-$HOME/.cache}
|
||||
export ZSH="$HOME/.oh-my-zsh"
|
||||
export ZSH_CUSTOM="$HOME/.config/zsh/custom"
|
||||
|
||||
#ZSH_THEME="powerlevel10k/powerlevel10k"
|
||||
#ZSH_THEME="spaceship"
|
||||
ZSH_THEME="robbyrussell"
|
||||
|
||||
plugins=(
|
||||
git
|
||||
zsh-autosuggestions
|
||||
copypath
|
||||
copyfile
|
||||
copybuffer
|
||||
dirhistory
|
||||
history
|
||||
z
|
||||
bgnotify
|
||||
zsh-syntax-highlighting
|
||||
)
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
export LANG=en_US.UTF-8
|
||||
|
||||
plugins+=(zsh-vi-mode)
|
||||
source $ZSH_CUSTOM/zsh-vi-mode/zsh-vi-mode.plugin.zsh
|
||||
|
||||
zvm_after_init() {
|
||||
FZF_SHARE=/usr/share/fzf
|
||||
[ -f $FZF_SHARE/completion.zsh ] && . "$FZF_SHARE/completion.zsh"
|
||||
[ -f $FZF_SHARE/key-bindings.zsh ] && . "$FZF_SHARE/key-bindings.zsh"
|
||||
}
|
||||
|
||||
# Load all files from .shell/rc.d directory
|
||||
if [ -d $HOME/.shellrc/rc.d ]; then
|
||||
for file in $HOME/.shellrc/rc.d/*.sh; do
|
||||
source $file
|
||||
done
|
||||
fi
|
||||
|
||||
# Load all files from .shell/zshrc.d directory
|
||||
if [ -d $HOME/.shellrc/zshrc.d ]; then
|
||||
for file in $HOME/.shellrc/zshrc.d/*.zsh; do
|
||||
source $file
|
||||
done
|
||||
fi
|
||||
export GPG_TTY=$(tty)
|
||||
if [[ -n "$SSH_CONNECTION" ]] ;then
|
||||
export PINENTRY_USER_DATA="USE_CURSES=1"
|
||||
fi
|
||||
|
||||
|
||||
[ -f ~/.env ] && source ~/.env
|
||||
|
||||
alias luamake=~/.config/lua-language-server/3rd/luamake/luamake
|
||||
|
||||
if [ `tput cols` -gt "70" ]; then
|
||||
function PRINT_CENTER {
|
||||
COLS=`tput cols`
|
||||
OFFSET=$(( ($COLS - $1) / 2 ))
|
||||
PRE=""
|
||||
for i in `seq $OFFSET`; do
|
||||
PRE="$PRE "
|
||||
done
|
||||
while IFS= read -r line; do
|
||||
echo "$PRE$line"
|
||||
done <<< "$2"
|
||||
}
|
||||
PRINT_CENTER 60 "
|
||||
|
||||
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
|
||||
█░▄▄▀█▀▄▄▀█░▄▄░█▄░▄█▀▄▀██░▄░██░██░█░▄▄█░▄▄░█
|
||||
█░▀▀▄█░██░█░▀▄░██░██░█▀█░▀▀░▀█░██░█▄▄▀███▄██
|
||||
█▄█▄▄██▄▄██░▀▀░██▄███▄█████░███▄▄▄█▄▄▄█░▀▀░█
|
||||
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
|
||||
|
||||
⣴⣶⣤⡤⠦⣤⣀⣤⠆ ⣈⣭⣿⣶⣿⣦⣼⣆
|
||||
⠉⠻⢿⣿⠿⣿⣿⣶⣦⠤⠄⡠⢾⣿⣿⡿⠋⠉⠉⠻⣿⣿⡛⣦
|
||||
⠈⢿⣿⣟⠦ ⣾⣿⣿⣷ ⠻⠿⢿⣿⣧⣄
|
||||
⣸⣿⣿⢧ ⢻⠻⣿⣿⣷⣄⣀⠄⠢⣀⡀⠈⠙⠿⠄
|
||||
⢠⣿⣿⣿⠈ ⣻⣿⣿⣿⣿⣿⣿⣿⣛⣳⣤⣀⣀
|
||||
⢠⣧⣶⣥⡤⢄ ⣸⣿⣿⠘ ⢀⣴⣿⣿⡿⠛⣿⣿⣧⠈⢿⠿⠟⠛⠻⠿⠄
|
||||
⣰⣿⣿⠛⠻⣿⣿⡦⢹⣿⣷ ⢊⣿⣿⡏ ⢸⣿⣿⡇ ⢀⣠⣄⣾⠄
|
||||
⣠⣿⠿⠛ ⢀⣿⣿⣷⠘⢿⣿⣦⡀ ⢸⢿⣿⣿⣄ ⣸⣿⣿⡇⣪⣿⡿⠿⣿⣷⡄
|
||||
⠙⠃ ⣼⣿⡟ ⠈⠻⣿⣿⣦⣌⡇⠻⣿⣿⣷⣿⣿⣿ ⣿⣿⡇ ⠛⠻⢷⣄
|
||||
⢻⣿⣿⣄ ⠈⠻⣿⣿⣿⣷⣿⣿⣿⣿⣿⡟ ⠫⢿⣿⡆
|
||||
⠻⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⡟⢀⣀⣤⣾⡿⠃
|
||||
▄▄▄ . ▌ ▐·▪ ▄▄▌ ▄▄▌ ▐ ▄▌▪ ▄▄▄▄▄ ▄ .▄ ▄• ▄▌▄▄▄▄▄
|
||||
▀▄.▀·▪█·█▌██ ██• ██· █▌▐███ •██ ██▪▐█ ▄█▀▄ █▪██▌•██
|
||||
▐▀▀▪▄▐█▐█•▐█·██ ▪ ██▪▐█▐▐▌▐█· ▐█.▪██▀▀█▐█▌.▐▌█▌▐█▌ ▐█.▪
|
||||
▐█▄▄▌ ███ ▐█▌▐█▌ ▄ ▐█▌██▐█▌▐█▌ ▐█▌·██▌▐▀▐█▌.▐▌▐█▄█▌ ▐█▌·
|
||||
▀▀▀ . ▀ ▀▀▀.▀▀▀ ▀▀▀▀ ▀▪▀▀▀ ▀▀▀ ▀▀▀ · ▀█▄▀▪ ▀▀▀ ▀▀▀
|
||||
|
||||
> welcome x_x
|
||||
"
|
||||
fi
|
||||
|
||||
which wrk > /dev/null && eval `wrk tools bash`
|
||||
|
||||
142
user/home.nix
Normal file
142
user/home.nix
Normal file
@@ -0,0 +1,142 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
astronvim = builtins.fetchGit {
|
||||
url = "https://github.com/AstroNvim/AstroNvim";
|
||||
rev = "dad0bec1fef2833561d04ea446a544fbfde92539";
|
||||
};
|
||||
astronvimUser = builtins.fetchGit {
|
||||
url = "https://foo:foo@github.com/morten-olsen/astrovim";
|
||||
rev = "44b38567fe3adedd972b5b07f5883d47600a9078";
|
||||
};
|
||||
in {
|
||||
home.username = "alice";
|
||||
home.homeDirectory = "/home/alice";
|
||||
|
||||
home.stateVersion = "23.11";
|
||||
home.packages = [
|
||||
pkgs.kitty
|
||||
pkgs.eza
|
||||
pkgs.bat
|
||||
pkgs.fzf
|
||||
pkgs.fd
|
||||
pkgs.curl
|
||||
pkgs.jq
|
||||
pkgs.spotify
|
||||
pkgs.slack
|
||||
pkgs.rustup
|
||||
pkgs.silver-searcher
|
||||
pkgs.ncspot
|
||||
pkgs.ripgrep
|
||||
pkgs.thefuck
|
||||
pkgs.unzip
|
||||
pkgs.nodejs
|
||||
pkgs.gnumake
|
||||
pkgs.gcc
|
||||
pkgs.terraform
|
||||
pkgs.signal-desktop
|
||||
pkgs.nodePackages.pnpm
|
||||
pkgs.nodePackages.yarn
|
||||
pkgs.steam-run
|
||||
pkgs.python3
|
||||
pkgs.gimp
|
||||
pkgs.blender
|
||||
pkgs.gh
|
||||
pkgs.discord
|
||||
pkgs.binutils
|
||||
pkgs.pkg-config
|
||||
];
|
||||
|
||||
programs.firefox.enable = true;
|
||||
programs.zsh.enable = true;
|
||||
programs.neovim.enable = true;
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
extraConfig = builtins.readFile ./files/tmux/config;
|
||||
};
|
||||
programs.git.enable = true;
|
||||
|
||||
home.file = {
|
||||
".gitconfig".source = ./files/git/config;
|
||||
".tmux.conf".source = ./files/tmux/config;
|
||||
".zshrc".source = ./files/zsh/config;
|
||||
".bashrc".source = ./files/bash/config;
|
||||
|
||||
".shellrc/rc.d" = {
|
||||
source = ./files/shell/rc.d;
|
||||
};
|
||||
|
||||
".gnupg" = {
|
||||
source = ./files/gpg;
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
".oh-my-zsh" = {
|
||||
source = builtins.fetchGit {
|
||||
url = "https://github.com/ohmyzsh/ohmyzsh";
|
||||
rev = "b07c8cfe692bc6c7702f0aef5d493b12dfb43392";
|
||||
};
|
||||
};
|
||||
".config/zsh/custom/plugins/zsh-autosuggestions" = {
|
||||
source = builtins.fetchGit {
|
||||
url = "https://github.com/zsh-users/zsh-autosuggestions";
|
||||
rev = "c3d4e576c9c86eac62884bd47c01f6faed043fc5";
|
||||
};
|
||||
};
|
||||
".config/zsh/custom/plugins/zsh-syntax-highlighting" = {
|
||||
source = builtins.fetchGit {
|
||||
url = "https://github.com/zsh-users/zsh-syntax-highlighting";
|
||||
rev = "143b25eb98aa3227af63bd7f04413e1b3e7888ec";
|
||||
};
|
||||
};
|
||||
|
||||
".config/zsh/custom/zsh-vi-mode" = {
|
||||
source = builtins.fetchGit {
|
||||
url = "https://github.com/jeffreytse/zsh-vi-mode";
|
||||
rev = "1f28e1886dc8e49f41b817634d5c7695b6abb145";
|
||||
};
|
||||
};
|
||||
|
||||
".config/ssh" = {
|
||||
source = ./files/ssh;
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
".config/hypr" = {
|
||||
source = ./files/hyprland;
|
||||
recursive = true;
|
||||
};
|
||||
".config/kitty" = {
|
||||
source = ./files/kitty;
|
||||
recursive = true;
|
||||
};
|
||||
".config/eww" = {
|
||||
source = ./files/eww;
|
||||
recursive = true;
|
||||
};
|
||||
".config/wofi" = {
|
||||
source = ./files/wofi;
|
||||
recursive = true;
|
||||
};
|
||||
".config/nvim" = {
|
||||
source = astronvim;
|
||||
recursive = true;
|
||||
};
|
||||
".config/nvim/lua/user" = {
|
||||
source = astronvimUser;
|
||||
};
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
# EDITOR = "emacs";
|
||||
};
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
nixpkgs = {
|
||||
overlays = [
|
||||
(import ./overlays/steam.nix)
|
||||
];
|
||||
|
||||
};
|
||||
}
|
||||
19
user/overlays/steam.nix
Normal file
19
user/overlays/steam.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
self: super:
|
||||
{
|
||||
steam = super.steam.override {
|
||||
extraPkgs = p: [
|
||||
self.gtk3
|
||||
self.atk
|
||||
self.at-spi2-atk
|
||||
self.zlib
|
||||
self.glib
|
||||
self.fontconfig
|
||||
self.freetype
|
||||
self.dbus
|
||||
self.cairo
|
||||
self.gdk-pixbuf
|
||||
self.pango
|
||||
self.xorg.libxcb
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user