all recent config changes
This commit is contained in:
108
hosts/main/alacritty.toml
Normal file
108
hosts/main/alacritty.toml
Normal file
@@ -0,0 +1,108 @@
|
||||
[colors.bright]
|
||||
black = "#6272a4"
|
||||
blue = "#d6acff"
|
||||
cyan = "#a4ffff"
|
||||
green = "#69ff94"
|
||||
magenta = "#ff92df"
|
||||
red = "#ff6e6e"
|
||||
white = "#ffffff"
|
||||
yellow = "#ffffa5"
|
||||
|
||||
[colors.cursor]
|
||||
cursor = "CellForeground"
|
||||
text = "CellBackground"
|
||||
|
||||
[colors.footer_bar]
|
||||
background = "#282a36"
|
||||
foreground = "#f8f8f2"
|
||||
|
||||
[colors.hints.end]
|
||||
background = "#282a36"
|
||||
foreground = "#f1fa8c"
|
||||
|
||||
[colors.hints.start]
|
||||
background = "#f1fa8c"
|
||||
foreground = "#282a36"
|
||||
|
||||
[colors.line_indicator]
|
||||
background = "None"
|
||||
foreground = "None"
|
||||
|
||||
[colors.normal]
|
||||
black = "#21222c"
|
||||
blue = "#bd93f9"
|
||||
cyan = "#8be9fd"
|
||||
green = "#50fa7b"
|
||||
magenta = "#ff79c6"
|
||||
red = "#ff5555"
|
||||
white = "#f8f8f2"
|
||||
yellow = "#f1fa8c"
|
||||
|
||||
[colors.primary]
|
||||
background = "#282a36"
|
||||
bright_foreground = "#ffffff"
|
||||
foreground = "#f8f8f2"
|
||||
|
||||
[colors.search.focused_match]
|
||||
background = "#ffb86c"
|
||||
foreground = "#44475a"
|
||||
|
||||
[colors.search.matches]
|
||||
background = "#50fa7b"
|
||||
foreground = "#44475a"
|
||||
|
||||
[colors.selection]
|
||||
background = "#44475a"
|
||||
text = "CellForeground"
|
||||
|
||||
[colors.vi_mode_cursor]
|
||||
cursor = "CellForeground"
|
||||
text = "CellBackground"
|
||||
|
||||
[font]
|
||||
size = 22
|
||||
#[font.bold]
|
||||
#family = "Hack"
|
||||
#style = "Bold"
|
||||
|
||||
#[font.bold_italic]
|
||||
#family = "Hack"
|
||||
#style = "Bold Italic"
|
||||
|
||||
#[font.italic]
|
||||
#family = "Hack"
|
||||
#style = "Italic"
|
||||
|
||||
#[font.normal]
|
||||
#family = "Hack"
|
||||
#style = "Regular"
|
||||
|
||||
[[keyboard.bindings]]
|
||||
action = "Paste"
|
||||
key = "V"
|
||||
mods = "Control|Shift"
|
||||
|
||||
[[keyboard.bindings]]
|
||||
action = "Copy"
|
||||
key = "C"
|
||||
mods = "Control|Shift"
|
||||
|
||||
[[keyboard.bindings]]
|
||||
chars = "\u001b\u005b\u0042"
|
||||
key = "J"
|
||||
mods = "Control"
|
||||
|
||||
[[keyboard.bindings]]
|
||||
chars = "\u001b\u005b\u0041"
|
||||
key = "K"
|
||||
mods = "Control"
|
||||
|
||||
[[keyboard.bindings]]
|
||||
chars = "\u001b\u005b\u0044"
|
||||
key = "H"
|
||||
mods = "Control"
|
||||
|
||||
[[keyboard.bindings]]
|
||||
chars = "\u001b\u005b\u0043"
|
||||
key = "L"
|
||||
mods = "Control"
|
||||
100
hosts/main/bashrc
Normal file
100
hosts/main/bashrc
Normal file
@@ -0,0 +1,100 @@
|
||||
export CONFIG_DIR=/home/me/work/config
|
||||
export DATA_DIR=/home/me/work/app-data
|
||||
export HERE_DIR=/home/me/here
|
||||
export LOG_DIR=/tmp/mlog
|
||||
export SVDIR=$CONFIG_DIR/hosts/main/services
|
||||
export BASH_ENV=$CONFIG_DIR/hosts/main/bashrc
|
||||
export HOSTNAME=main
|
||||
mkdir -p $LOG_DIR
|
||||
|
||||
# arch path
|
||||
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||
export PATH=$PATH:$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin # nix path
|
||||
|
||||
# main stuff
|
||||
export PATH=$CONFIG_DIR/hosts/main/bin:$PATH
|
||||
export SECRETS_DIR=/home/me/secrets
|
||||
|
||||
# nix lock
|
||||
export NIXPKGS_REV=04e1ec9c5dbf94ab78b6b755b5ec28c1d6dd5392 # nix eval ${CONFIG_DIR}#inputs.nixpkgs.rev
|
||||
export NIXPKGS_UNSTABLE_REV=ac6b2166e7a9375683b8e98f860f273222337b16 # nix eval ${CONFIG_DIR}#inputs.nixpkgs.rev
|
||||
export NIX_PATH=nixpkgs=/nix/store/jpf38g508p4njqzbfkvdfjj7v3s795k9-source # nix flake prefetch nixpkgs/$(nix eval $CONFIG_DIR#inputs.nixpkgs.rev --raw) --json | jq '.storePath' -r
|
||||
|
||||
# bin paths
|
||||
if [ -d /run/current-system ]; then # in case of nixos
|
||||
export BIN_ZED=~/work/path-extra/zed
|
||||
else
|
||||
export BIN_ZED=/usr/sbin/zeditor
|
||||
fi
|
||||
|
||||
## #### detect distro
|
||||
detect_distro() {
|
||||
local -n reply_distro=$1
|
||||
local line key value
|
||||
|
||||
reply_distro="unknown"
|
||||
|
||||
# Read file line by line without spawning external commands
|
||||
if [[ -f /etc/os-release ]]; then
|
||||
while IFS='=' read -r key value; do
|
||||
# Clean up the key name
|
||||
key="${key##*([[:space:]])}"
|
||||
key="${key%%*([[:space:]])}"
|
||||
|
||||
if [[ "$key" == "ID" ]]; then
|
||||
# Strip potential surrounding quotes from the value
|
||||
value="${value#\"}"
|
||||
value="${value%\"}"
|
||||
value="${value#\'}"
|
||||
value="${value%\'}"
|
||||
|
||||
reply_distro="$value"
|
||||
return 0
|
||||
fi
|
||||
done < /etc/os-release
|
||||
fi
|
||||
}
|
||||
|
||||
# get_config
|
||||
function get_config() {
|
||||
if [[ "$2" == "" ]]; then
|
||||
local -n reply_config=OUT
|
||||
else
|
||||
local -n reply_config=$2
|
||||
fi
|
||||
|
||||
declare -A myconfig
|
||||
detect_distro DISTRO
|
||||
|
||||
myconfig["hyprland.bin"]="~/work/src/hyprland/build/Hyprland"
|
||||
myconfig["prismlauncher.bin"]="/usr/sbin/prismlauncher"
|
||||
myconfig["hyprland.configFile"]="$CONFIG_DIR/hosts/main/hyprland.lua"
|
||||
myconfig["steam.homeDir"]="$HERE_DIR/steam-home"
|
||||
myconfig["steam.bin"]="/home/me/.nix-profile/bin/steam"
|
||||
myconfig["git.bin"]="/bin/git"
|
||||
myconfig["ssh.bin"]="/bin/ssh"
|
||||
myconfig["mize.configFile"]="$CONFIG_DIR/hosts/main/"
|
||||
myconfig["mize.secretsFile"]="~/secrets/mize-config.toml"
|
||||
|
||||
# nixos case
|
||||
if [[ "$DISTRO" == "nixos" ]]; then
|
||||
myconfig["zed.bin"]="~/work/path-extra/zed"
|
||||
fi
|
||||
|
||||
# arch case
|
||||
if [[ "$DISTRO" == "arch" ]]; then
|
||||
myconfig["zed.bin"]="/usr/sbin/zeditor"
|
||||
fi
|
||||
|
||||
reply_config=${myconfig["$1"]}
|
||||
}
|
||||
|
||||
# auto start hyprland in tty
|
||||
if [[ $TERM == "linux" ]]; then
|
||||
sudo loadkeys de
|
||||
fi
|
||||
|
||||
|
||||
if [[ $- == *i* ]]; then
|
||||
source $CONFIG_DIR/mods/bashrc-common
|
||||
fi
|
||||
3
hosts/main/bin/alacritty
Executable file
3
hosts/main/bin/alacritty
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec /usr/sbin/alacritty --config-file $CONFIG_DIR/hosts/main/alacritty.toml
|
||||
7
hosts/main/bin/config-zed
Executable file
7
hosts/main/bin/config-zed
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
#export RA_LOG_FILE="/home/me/rust-analyzer.log"
|
||||
export XDG_DATA_HOME=~/work/app-data/config-zed
|
||||
export WAYLAND_DISPLAY=
|
||||
sudo renice -n -5 -p $$
|
||||
exec $BIN_ZED ~/work/config ~/work/things
|
||||
#zed "$@"
|
||||
3
hosts/main/bin/dms
Executable file
3
hosts/main/bin/dms
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
/usr/bin/dms -c /home/me/work/config/hosts/main/ "$@"
|
||||
8
hosts/main/bin/elephant
Executable file
8
hosts/main/bin/elephant
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [[ -v IS_RUNIT ]]; then
|
||||
exec 2>$LOG_DIR/elephant
|
||||
exec 1>$LOG_DIR/elephant
|
||||
fi
|
||||
|
||||
exec /usr/sbin/elephant -c $CONFIG_DIR/hosts/main/elephant "$@"
|
||||
5
hosts/main/bin/git
Executable file
5
hosts/main/bin/git
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
export GIT_CONFIG_GLOBAL=$CONFIG_DIR/hosts/main/git_config
|
||||
get_config git.bin BIN
|
||||
exec $BIN "$@"
|
||||
19
hosts/main/bin/hyprland
Executable file
19
hosts/main/bin/hyprland
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ -v IS_RUNIT ]]; then
|
||||
exec 2>$LOG_DIR/hyprland
|
||||
exec 1>$LOG_DIR/hyprland
|
||||
sudo renice -n -10 -p $$
|
||||
fi
|
||||
|
||||
export XDG_CURRENT_DESKTOP=hyprland
|
||||
export XDG_SESSION_TYPE=wayland
|
||||
export XDG_SESSION_DESKTOP=hyprland
|
||||
|
||||
|
||||
systemctl --user import-environment XDG_CURRENT_DESKTOP XDG_SESSION_TYPE XDG_SESSION_DESKTOP PATH
|
||||
dbus-update-activation-environment --systemd XDG_CURRENT_DESKTOP XDG_SESSION_TYPE XDG_SESSION_DESKTOP PATH
|
||||
|
||||
get_config hyprland.bin BIN
|
||||
get_config hyprland.configFile CONFIG
|
||||
exec $BIN --config $CONFIG "$@"
|
||||
3
hosts/main/bin/lan-mouse
Executable file
3
hosts/main/bin/lan-mouse
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec $HOME/.nix-profile/bin/lan-mouse --config $CONFIG_DIR/hosts/main/lan-mouse.toml "$@"
|
||||
10
hosts/main/bin/mize
Executable file
10
hosts/main/bin/mize
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ -v IS_RUNIT ]]; then
|
||||
exec 2>$LOG_DIR/mize
|
||||
exec 1>$LOG_DIR/mize
|
||||
exec /home/me/work/config/mize/target/debug/mize --config $CONFIG_DIR/hosts/main/mize.toml --secrets $SECRETS_DIR/mize-secrets.toml run
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exec /home/me/work/config/mize/target/debug/mize --config $CONFIG_DIR/hosts/main/mize.toml --secrets $SECRETS_DIR/mize-secrets.toml "$@"
|
||||
4
hosts/main/bin/msession
Executable file
4
hosts/main/bin/msession
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
export IS_RUNIT=1
|
||||
|
||||
exec runsvdir $CONFIG_DIR/hosts/main/services
|
||||
3
hosts/main/bin/nix
Executable file
3
hosts/main/bin/nix
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec /nix/var/nix/profiles/default/bin/nix --option experimental-features "nix-command flakes" "$@" --option flake-registry $CONFIG_DIR/hosts/main/flake-registry.json
|
||||
3
hosts/main/bin/nwg-displays
Executable file
3
hosts/main/bin/nwg-displays
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec /usr/sbin/nwg-displays -m $CONFIG_DIR/hosts/main/hypr-monitors.lua
|
||||
3
hosts/main/bin/pacman
Executable file
3
hosts/main/bin/pacman
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec sudo /usr/sbin/pacman "$@"
|
||||
4
hosts/main/bin/prismlauncher
Executable file
4
hosts/main/bin/prismlauncher
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
get_config prismlauncher.bin BIN
|
||||
exec nixGL $BIN -d ~/work/app-data/prism-launcher "$@"
|
||||
3
hosts/main/bin/scp
Executable file
3
hosts/main/bin/scp
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
exec /bin/scp -F $CONFIG_DIR/hosts/main/ssh_config "$@"
|
||||
4
hosts/main/bin/ssh
Executable file
4
hosts/main/bin/ssh
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
get_config ssh.bin BIN
|
||||
exec $BIN -F $CONFIG_DIR/hosts/main/ssh_config "$@"
|
||||
7
hosts/main/bin/steam
Executable file
7
hosts/main/bin/steam
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
get_config steam.homeDir HOME
|
||||
export HOME
|
||||
|
||||
get_config steam.bin BIN
|
||||
exec $BIN
|
||||
1
hosts/main/bin/wireshark
Symbolic link
1
hosts/main/bin/wireshark
Symbolic link
@@ -0,0 +1 @@
|
||||
../../../apps/wireshark
|
||||
24
hosts/main/bin/zmk
Executable file
24
hosts/main/bin/zmk
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
export ZMK_CLI_CONFIG=$CONFIG_DIR/hosts/main/zmk-config
|
||||
|
||||
if [[ "$1" == "docker" ]] || [[ "$1" == "d" ]];
|
||||
then
|
||||
if [ ! $(docker ps -a -q -f name=my-zmk-builder) ]; then
|
||||
docker build -t my-zmk-builder $CONFIG_DIR/zmk-config
|
||||
fi
|
||||
docker run -v $CONFIG_DIR:/config -it --rm my-zmk-builder
|
||||
# build cmd: west build -- -DBOARD=nice_nano_v2 -DSHIELD=charybdis_left -DZMK_CONFIG=/config/zmk-config/config/ -DZMK_EXTRA_MODULES=/config/zmk-config
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ "$1" == "flash" ]] || [[ "$1" == "f" ]];
|
||||
then
|
||||
if [ ! $(docker ps -a -q -f name=my-zmk-builder) ]; then
|
||||
docker build -t my-zmk-builder $CONFIG_DIR/zmk-config
|
||||
fi
|
||||
docker run -v $CONFIG_DIR:/config --workdir /config/src/zmk/app -it --rm my-zmk-builder --entrypoint /bin/bash -c 'west build -- -DBOARD=nice_nano_v2 -DSHIELD=charybdis_left -DZMK_CONFIG=/config/zmk-config/config/ -DZMK_EXTRA_MODULES=/config/zmk-config'
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exec /home/me/work/src/zmk-cli/.venv/bin/zmk "$@"
|
||||
1
hosts/main/bw-keyring.json
Normal file
1
hosts/main/bw-keyring.json
Normal file
@@ -0,0 +1 @@
|
||||
[{"socket":"/path/to/bw.socket","contents":[],"aliases":["default"]}]
|
||||
1078
hosts/main/default.nix
Normal file
1078
hosts/main/default.nix
Normal file
File diff suppressed because it is too large
Load Diff
9
hosts/main/elephant/elephant.toml
Normal file
9
hosts/main/elephant/elephant.toml
Normal file
@@ -0,0 +1,9 @@
|
||||
auto_detect_launch_prefix = true
|
||||
before_load = []
|
||||
git_on_demand = true
|
||||
ignored_providers = []
|
||||
launch_prefix = ''
|
||||
overload_local_env = false
|
||||
terminal_cmd = ''
|
||||
|
||||
[provider_hosts]
|
||||
10
hosts/main/elephant/runner.toml
Normal file
10
hosts/main/elephant/runner.toml
Normal file
@@ -0,0 +1,10 @@
|
||||
explicits = []
|
||||
generic_text = 'run: '
|
||||
history = true
|
||||
history_when_empty = false
|
||||
|
||||
[Config]
|
||||
hide_from_providerlist = false
|
||||
icon = 'utilities-terminal'
|
||||
min_score = 50
|
||||
name_pretty = ''
|
||||
519
hosts/main/flake-registry.json
Normal file
519
hosts/main/flake-registry.json
Normal file
@@ -0,0 +1,519 @@
|
||||
{
|
||||
"flakes": [
|
||||
{
|
||||
"from": {
|
||||
"id": "agda",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "agda",
|
||||
"repo": "agda",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "agenix",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "arion",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "arion",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "blender-bin",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"dir": "blender",
|
||||
"owner": "edolstra",
|
||||
"repo": "nix-warez",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "bundlers",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "NixOS",
|
||||
"repo": "bundlers",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "cachix",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "cachix",
|
||||
"repo": "cachix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "composable",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "ComposableFi",
|
||||
"repo": "composable",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "disko",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "dreampkgs",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "nix-community",
|
||||
"repo": "dreampkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "dwarffs",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "edolstra",
|
||||
"repo": "dwarffs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "emacs-overlay",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "nix-community",
|
||||
"repo": "emacs-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "fenix",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "flake-parts",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "flake-utils",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "helix",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "helix-editor",
|
||||
"repo": "helix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "hercules-ci-agent",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "hercules-ci-agent",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "hercules-ci-effects",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "hercules-ci-effects",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "home-manager",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "hydra",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "NixOS",
|
||||
"repo": "hydra",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "mach-nix",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "DavHau",
|
||||
"repo": "mach-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "ngipkgs",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "ngi-nix",
|
||||
"repo": "ngipkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nickel",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "tweag",
|
||||
"repo": "nickel",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nix",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nix-darwin",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "nix-darwin",
|
||||
"repo": "nix-darwin",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nix-serve",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "edolstra",
|
||||
"repo": "nix-serve",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nixops",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nixops",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nixos-anywhere",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixos-anywhere",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nixos-hardware",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nixos-homepage",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-homepage",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nixos-search",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-search",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
},
|
||||
"exact": true,
|
||||
"to": {
|
||||
"type": "tarball",
|
||||
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect",
|
||||
"ref": "nixpkgs-unstable"
|
||||
},
|
||||
"exact": true,
|
||||
"to": {
|
||||
"type": "tarball",
|
||||
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect",
|
||||
"ref": "nixos-unstable"
|
||||
},
|
||||
"exact": true,
|
||||
"to": {
|
||||
"type": "tarball",
|
||||
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect",
|
||||
"ref": "nixos-unstable-small"
|
||||
},
|
||||
"exact": true,
|
||||
"to": {
|
||||
"type": "tarball",
|
||||
"url": "https://channels.nixos.org/nixos-unstable-small/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect",
|
||||
"ref": "nixos-26.05"
|
||||
},
|
||||
"exact": true,
|
||||
"to": {
|
||||
"type": "tarball",
|
||||
"url": "https://channels.nixos.org/nixos-26.05/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect",
|
||||
"ref": "nixos-26.05-small"
|
||||
},
|
||||
"exact": true,
|
||||
"to": {
|
||||
"type": "tarball",
|
||||
"url": "https://channels.nixos.org/nixos-26.05-small/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect",
|
||||
"ref": "nixpkgs-26.05-darwin"
|
||||
},
|
||||
"exact": true,
|
||||
"to": {
|
||||
"type": "tarball",
|
||||
"url": "https://channels.nixos.org/nixpkgs-26.05-darwin/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nixvim",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "nur",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "patchelf",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "NixOS",
|
||||
"repo": "patchelf",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "poetry2nix",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "nix-community",
|
||||
"repo": "poetry2nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "pridefetch",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "SpyHoodle",
|
||||
"repo": "pridefetch",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "sops-nix",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "systems",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"id": "templates",
|
||||
"type": "indirect"
|
||||
},
|
||||
"to": {
|
||||
"owner": "NixOS",
|
||||
"repo": "templates",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
],
|
||||
"version": 2
|
||||
}
|
||||
20
hosts/main/git_config
Normal file
20
hosts/main/git_config
Normal file
@@ -0,0 +1,20 @@
|
||||
[core]
|
||||
editor = "nvim"
|
||||
pager = "delta"
|
||||
|
||||
[core "color"]
|
||||
ui = true
|
||||
|
||||
[credential]
|
||||
credentialStore = "cache"
|
||||
helper = "manager"
|
||||
|
||||
[gpg]
|
||||
format = "openpgp"
|
||||
|
||||
[gpg "openpgp"]
|
||||
program = "gpg"
|
||||
|
||||
[user]
|
||||
email = "me@c2vi.dev"
|
||||
name = "Sebastian Moser"
|
||||
18
hosts/main/hosts
Normal file
18
hosts/main/hosts
Normal file
@@ -0,0 +1,18 @@
|
||||
127.0.0.1 localhost
|
||||
192.168.3.1 gw.c2vi.dev
|
||||
|
||||
192.168.0.3 gw
|
||||
192.168.0.3 gw.c2vi.dev
|
||||
|
||||
# netbird
|
||||
100.88.137.49 te
|
||||
100.93.225.52 fasu
|
||||
100.88.42.194 fwin
|
||||
100.88.28.123 fe
|
||||
100.88.79.207 fusu
|
||||
100.88.79.207 files
|
||||
100.88.164.39 lush
|
||||
100.88.112.181 mac
|
||||
100.88.116.225 nico
|
||||
100.88.245.227 phone
|
||||
100.88.69.32 ti
|
||||
3
hosts/main/hypr-monitors.lua
Normal file
3
hosts/main/hypr-monitors.lua
Normal file
@@ -0,0 +1,3 @@
|
||||
# Generated by nwg-displays on 2026-08-28 at 16:00:58. Do not edit manually.
|
||||
|
||||
monitor=eDP-1,1920x1080@60.0,0x0,0.9999999999999997
|
||||
243
hosts/main/hyprland.lua
Normal file
243
hosts/main/hyprland.lua
Normal file
@@ -0,0 +1,243 @@
|
||||
--#### vars
|
||||
local mod = "SUPER"
|
||||
|
||||
--### idk
|
||||
--hl.bind(mod .. "+p", hl.dsp.exec_cmd("nc -U /run/user/1000/walker/walker.sock"))
|
||||
hl.bind(mod .. "+p", hl.dsp.exec_cmd("rofi -show run"))
|
||||
hl.bind(mod .. "+space", hl.dsp.window.fullscreen_state({ internal=2, client=0, action="toggle", layout_aware=false, }))
|
||||
|
||||
hl.bind(mod .. "+SHIFT+c", hl.dsp.window.close())
|
||||
|
||||
|
||||
hl.bind(mod .. "+ SHIFT + Return", hl.dsp.exec_cmd("alacritty"))
|
||||
|
||||
hl.config({
|
||||
dwindle = {
|
||||
preserve_split = true,
|
||||
},
|
||||
misc = {
|
||||
},
|
||||
input = {
|
||||
touchpad = {
|
||||
tap_to_click = false,
|
||||
disable_while_typing = true, -- Highly recommended to prevent palm jumps
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
hl.config({
|
||||
general = {
|
||||
layout = "dwindle",
|
||||
border_size = 2,
|
||||
gaps_in = 0,
|
||||
gaps_out = 0,
|
||||
col = {
|
||||
active_border = { colors = {"rgba(33ccffee)", "rgba(00ff99ee)"}, angle = 45 },
|
||||
inactive_border = "rgba(595959aa)",
|
||||
},
|
||||
},
|
||||
decoration = {
|
||||
-- Change transparency of focused and unfocused windows
|
||||
active_opacity = 1.0,
|
||||
inactive_opacity = 1.0,
|
||||
},
|
||||
})
|
||||
|
||||
--#### focus movement
|
||||
-- refullscreens window when the old window was fullscreen
|
||||
hl.on("window.active", function (new_window, reason)
|
||||
if REDO_FULLSCREEN then
|
||||
REDO_FULLSCREEN = false
|
||||
hl.dispatch(hl.dsp.window.fullscreen_state({ action="set", internal=2, client=0 }))
|
||||
end
|
||||
end)
|
||||
|
||||
function my_move_focus(direction)
|
||||
return function()
|
||||
local window = hl.get_active_window()
|
||||
if window == nil then return end
|
||||
REDO_FULLSCREEN = window.fullscreen ~= 0
|
||||
if REDO_FULLSCREEN then
|
||||
hl.dispatch(hl.dsp.window.fullscreen_state({ action="unset", internal=2, client=0 }))
|
||||
end
|
||||
|
||||
return hl.dispatch(hl.dsp.focus({ direction = direction }))
|
||||
end
|
||||
end
|
||||
|
||||
hl.bind(mod .. " + h", my_move_focus("left"))
|
||||
hl.bind(mod .. " + l", my_move_focus("right"))
|
||||
hl.bind(mod .. " + j", my_move_focus("down"))
|
||||
hl.bind(mod .. " + k", my_move_focus("up"))
|
||||
|
||||
--#### brightnes controls
|
||||
hl.bind("F1", hl.dsp.exec_cmd("brightnessctl set 5%-"), { repeating = true })
|
||||
hl.bind("F2", hl.dsp.exec_cmd("brightnessctl set +5%"), { repeating = true })
|
||||
|
||||
--#### volume controls
|
||||
hl.bind("F3", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-"), { repeating = true })
|
||||
hl.bind("F4", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+ -l 1.0"), { repeating = true })
|
||||
|
||||
--#### playback controls
|
||||
hl.bind("F5", hl.dsp.exec_cmd("playerctl previous"), { locked = true })
|
||||
hl.bind("F6", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
|
||||
hl.bind("F7", hl.dsp.exec_cmd("playerctl next"), { locked = true })
|
||||
|
||||
|
||||
--#### disable background
|
||||
hl.config({
|
||||
misc = {
|
||||
force_default_wallpaper = 0,
|
||||
disable_hyprland_logo = false,
|
||||
disable_splash_rendering = true,
|
||||
},
|
||||
})
|
||||
|
||||
--#### workspaces
|
||||
-- Workspaces (1,7,8,9,0)
|
||||
--for _, i in ipairs({1, 7, 8, 9, 0}) do
|
||||
for _, i in ipairs({1,2, 3, 4, 5, 6, 7, 8, 9, 0}) do
|
||||
hl.bind(mod .. "+" .. tostring(i), hl.dsp.focus({ workspace = i, }))
|
||||
hl.bind(mod .. "+SHIFT+" .. tostring(i), hl.dsp.window.move({ workspace = i, }))
|
||||
end
|
||||
|
||||
hl.workspace_rule({ workspace = "0", monitor = "eDP-1"})
|
||||
--hl.workspace_rule({ workspace = "1", monitor = "eDP-1"})
|
||||
hl.workspace_rule({ workspace = "1", monitor = "HDMI-A-1"})
|
||||
hl.workspace_rule({ workspace = "7", monitor = "eDP-1", default = true, layout = "scrolling"})
|
||||
hl.workspace_rule({ workspace = "9", monitor = "DP-1"})
|
||||
|
||||
hl.workspace_rule({ workspace = "2", monitor = "DP-1", default = true})
|
||||
hl.workspace_rule({ workspace = "3", monitor = "DP-1"})
|
||||
hl.workspace_rule({ workspace = "4", monitor = "DP-1"})
|
||||
hl.workspace_rule({ workspace = "5", monitor = "DP-1"})
|
||||
hl.workspace_rule({ workspace = "6", monitor = "DP-1"})
|
||||
hl.workspace_rule({ workspace = "8", monitor = "DP-1"})
|
||||
hl.workspace_rule({ workspace = "2", monitor = "HDMI-A-1", default = true})
|
||||
hl.workspace_rule({ workspace = "3", monitor = "HDMI-A-1"})
|
||||
hl.workspace_rule({ workspace = "4", monitor = "HDMI-A-1"})
|
||||
hl.workspace_rule({ workspace = "5", monitor = "HDMI-A-1"})
|
||||
hl.workspace_rule({ workspace = "6", monitor = "HDMI-A-1"})
|
||||
hl.workspace_rule({ workspace = "8", monitor = "HDMI-A-1"})
|
||||
|
||||
hl.workspace_rule({
|
||||
workspace = "7",
|
||||
layout = "scrolling",
|
||||
layout_opts = {
|
||||
direction = "down",
|
||||
fullscreen_on_one_column = true,
|
||||
column_width = 1,
|
||||
},
|
||||
})
|
||||
hl.config({
|
||||
scrolling = {
|
||||
column_width = 1;
|
||||
fullscreen_on_one_column = true,
|
||||
},
|
||||
binds = {
|
||||
movefocus_cycles_fullscreen = false,
|
||||
},
|
||||
misc = {
|
||||
on_focus_under_fullscreen = 1,
|
||||
},
|
||||
render = {
|
||||
direct_scanout = false,
|
||||
},
|
||||
})
|
||||
|
||||
-- Workrooms (2–6 on d, m, a, b, c)
|
||||
--[[
|
||||
local workrooms = {"d", "m", "a", "b", "c"}
|
||||
for _, prefix in ipairs(workrooms) do
|
||||
for i = 2, 6 do
|
||||
local ws = prefix .. tostring(i)
|
||||
hl.bind(mod .. "+" .. tostring(i), function()
|
||||
hl.dsp.workspace.change_id(ws)
|
||||
end)
|
||||
hl.bind(mod .. "+SHIFT+" .. tostring(i), function()
|
||||
hl.dsp.window.move(ws)
|
||||
end)
|
||||
end
|
||||
end
|
||||
]]
|
||||
|
||||
--#### keyboard layout
|
||||
hl.config({ input = {
|
||||
kb_layout = "de",
|
||||
}})
|
||||
|
||||
--#### keyboard repeat
|
||||
hl.config({ input = {
|
||||
repeat_delay = 130,
|
||||
repeat_rate = 90,
|
||||
}})
|
||||
|
||||
--#### disable all animations
|
||||
hl.config({
|
||||
animations = {
|
||||
enabled = false,
|
||||
},
|
||||
})
|
||||
|
||||
--#### autostart dms
|
||||
hl.on("hyprland.start", function ()
|
||||
hl.exec_cmd("dms run")
|
||||
end)
|
||||
|
||||
--#### move windows
|
||||
hl.bind(mod .. " + SHIFT + H", hl.dsp.window.move({ direction = "left" }))
|
||||
hl.bind(mod .. " + SHIFT + J", hl.dsp.window.move({ direction = "down" }))
|
||||
hl.bind(mod .. " + SHIFT + K", hl.dsp.window.move({ direction = "up" }))
|
||||
hl.bind(mod .. " + SHIFT + L", hl.dsp.window.move({ direction = "right" }))
|
||||
|
||||
-- resize
|
||||
hl.bind(mod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
|
||||
hl.bind(mod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
|
||||
|
||||
--#### animation settings
|
||||
hl.curve("easeOutQuint", { type = "bezier", points = { {0.23, 1}, {0.32, 1} } })
|
||||
hl.curve("easeInOutCubic", { type = "bezier", points = { {0.65, 0.05}, {0.36, 1} } })
|
||||
hl.curve("linear", { type = "bezier", points = { {0, 0}, {1, 1} } })
|
||||
hl.curve("almostLinear", { type = "bezier", points = { {0.5, 0.5}, {0.75, 1} } })
|
||||
hl.curve("quick", { type = "bezier", points = { {0.15, 0}, {0.1, 1} } })
|
||||
|
||||
-- Default springs
|
||||
hl.curve("easy", { type = "spring", mass = 1, stiffness = 238.1191, dampening = 24.21279333 })
|
||||
|
||||
--#### end stuff
|
||||
--require("hypr-monitors")
|
||||
hl.monitor({
|
||||
output = "eDP-1",
|
||||
scale = 1,
|
||||
})
|
||||
|
||||
-- ppc ne
|
||||
hl.bind("F12", hl.dsp.exec_cmd("ppc ne"))
|
||||
hl.bind("F11", hl.dsp.exec_cmd("ppc ne -b"))
|
||||
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("ppc ne"))
|
||||
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("ppc ne -b"))
|
||||
|
||||
-- Layout toggles
|
||||
-- hl.bind(mod .. "+comma", hl.dsp.layout)
|
||||
-- hl.bind(mod .. "+period", hl.dsp.layout.toggle_split)
|
||||
|
||||
-- scratchpad
|
||||
--hl.bind(mod .. "+SHIFT+tab", hl.dsp.window.)
|
||||
--hl.bind(mod .. "+tab", hl.dsp.scratchpad.show)
|
||||
|
||||
-- ### Scratchpad terminal (super+f)
|
||||
--[[
|
||||
hl.on("hyprland.start", function()
|
||||
hl.exec_cmd("alacritty --class scratchterm")
|
||||
end)
|
||||
hl.window_rule({
|
||||
match = { class = "scratchterm" },
|
||||
float = true,
|
||||
move = "center",
|
||||
size = "2400 1400",
|
||||
workspace = "special:scratch",
|
||||
})
|
||||
hl.bind(mod .. "+f", function()
|
||||
hl.dsp.workspace.toggle_special("scratch")
|
||||
end)
|
||||
]]
|
||||
48
hosts/main/installing.sh
Normal file
48
hosts/main/installing.sh
Normal file
@@ -0,0 +1,48 @@
|
||||
|
||||
# empty nix based chroot... install variant
|
||||
|
||||
function inst_create_dir() {
|
||||
mkdir -p /cachy
|
||||
}
|
||||
|
||||
function inst_mount() {
|
||||
if findmnt /cachy/nix; then
|
||||
return
|
||||
fi
|
||||
|
||||
mkdir -p /cachy/nix
|
||||
mkdir -p /cachy/proc
|
||||
mkdir -p /cachy/sys
|
||||
mkdir -p /cachy/out
|
||||
mkdir -p /cachy/dev
|
||||
mount -o bind /nix /cachy/nix
|
||||
mount -o bind /proc /cachy/proc
|
||||
mount -o bind /sys /cachy/sys
|
||||
mount -o bind /dev /cachy/dev
|
||||
mount -o bind / /cachy/out
|
||||
}
|
||||
|
||||
function inst_enter() {
|
||||
NIX=$(realpath $(which nix))
|
||||
SHELL=$(realpath $(which bash))
|
||||
CHROOT=$(which chroot)
|
||||
ENV=$(dirname $(realpath $(which env)))/env
|
||||
PATH=$(nix eval --impure --raw --expr 'let pkgs = import <nixpkgs> {}; in with pkgs; lib.makeBinPath [ vim nix pacman busybox curl bash gawk ]')
|
||||
echo -en 'source /to-source; echo hooooooo; rm /rcfile' > /cachy/rcfile
|
||||
$CHROOT /cachy $ENV -i PATH="$PATH" $SHELL --rcfile /rcfile
|
||||
# export SSL_CERT_FILE=/out/etc/static/ssl/certs/ca-certificates.crt
|
||||
mkdir -p /etc
|
||||
echo "nameserver 1.1.1.1" > /etc/resolv.conf
|
||||
|
||||
}
|
||||
|
||||
function inst_setup() {
|
||||
curl https://mirror.cachyos.org/cachyos-repo.tar.xz -o cachyos-repo.tar.xz
|
||||
tar -xf cachyos-repo.tar.xz
|
||||
touch /etc/pacman.conf
|
||||
pacman-key --init
|
||||
mkdir -p /var/lib/pacman
|
||||
bash ./cachyos-repo/cachyos-repo.sh
|
||||
mkdir -p /lib
|
||||
ln -fs $(nix eval --extra-experimental-features nix-command --extra-experimental-features flakes nixpkgs#glibc.out --raw)/lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2
|
||||
}
|
||||
15
hosts/main/keyring.service
Normal file
15
hosts/main/keyring.service
Normal file
@@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=Bitwarden keyring daemon
|
||||
After=graphical-session.target
|
||||
PartOf=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
# initialize the default working directory
|
||||
ExecStartPre=mkdir -p %h/snap/bw/common/bw-keyring-daemon/
|
||||
ExecStartPre=chmod 700 %h/snap/bw/common/bw-keyring-daemon/
|
||||
# start the keyring
|
||||
ExecStart=%h/work/src/bw-keyring-daemon/target/release/bw-keyring-daemon -c %h/work/config/hosts/main/bw-keyring.json -d
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
||||
10
hosts/main/lan-mouse.service
Normal file
10
hosts/main/lan-mouse.service
Normal file
@@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Systemd service for Lan Mouse
|
||||
|
||||
[Service]
|
||||
Environment=PATH=/bin:/home/me/work/config/hosts/main/bin
|
||||
ExecStart=lan-mouse daemon
|
||||
Type=simple
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
||||
7
hosts/main/lan-mouse.toml
Normal file
7
hosts/main/lan-mouse.toml
Normal file
@@ -0,0 +1,7 @@
|
||||
port = 4410
|
||||
|
||||
[[clients]]
|
||||
position = "right"
|
||||
hostname = "mac"
|
||||
activate_on_startup = true
|
||||
ips = ["192.168.4.3"]
|
||||
22
hosts/main/run
Executable file
22
hosts/main/run
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/bin/sh
|
||||
|
||||
qemu-system-x86_64 \
|
||||
-enable-kvm \
|
||||
-kernel /cachy/boot/vmlinuz-linux-cachyos \
|
||||
-initrd /cachy/boot/initramfs-linux-cachyos.img \
|
||||
-fsdev local,id=rootfs,path=/cachy,security_model=none \
|
||||
-device virtio-9p-pci,fsdev=rootfs,mount_tag=rootfstype \
|
||||
-append "rootfstype=9p root=arch_root rootflags=trans=virtio,version=9p2000.L,msize=1048576 rw console=ttyS0 console=tty loglevel=7 " \
|
||||
-device virtio-9p-pci,fsdev=rootfs,mount_tag=arch_root \
|
||||
-fsdev local,id=workfs,path=/home/me/work,security_model=none \
|
||||
-device virtio-9p-pci,fsdev=workfs,mount_tag=work_share \
|
||||
-netdev user,id=vmnat,hostfwd=tcp::2222-:22 -device e1000,netdev=vmnat \
|
||||
-m 4G -cpu host "$@"\
|
||||
|
||||
#-append "console=ttyS0 console=tty rootflags=subvol=cachy rw rd.luks.name=f93d0e0c-c620-4d39-bd6a-a7c0c90fb850=root root=/dev/mapper/root systemd.setenv=SYSTEMD_SULOGIN_FORCE=1" \
|
||||
#-append "init=/bin/bash systemd.setenv=SYSTEMD_SULOGIN_FORCE=1 rootfstype=9p root=arch_root rootflags=trans=virtio,version=9p2000.L,msize=1048576 rw console=ttyS0 loglevel=7" \
|
||||
#-nographic \
|
||||
|
||||
#-device virtio-scsi-pci,id=scsi0 \
|
||||
#-drive file=/dev/disk/by-id/nvme-CT2000T500SSD8_240446CB0BC2,format=raw,if=none,id=hd0,cache=none,aio=native \
|
||||
#-device scsi-hd,drive=hd0,bus=scsi0.0 \
|
||||
1
hosts/main/services/elephant/run
Symbolic link
1
hosts/main/services/elephant/run
Symbolic link
@@ -0,0 +1 @@
|
||||
../../bin/elephant
|
||||
0
hosts/main/services/elephant/supervise/lock
Normal file
0
hosts/main/services/elephant/supervise/lock
Normal file
1
hosts/main/services/elephant/supervise/pid
Normal file
1
hosts/main/services/elephant/supervise/pid
Normal file
@@ -0,0 +1 @@
|
||||
949
|
||||
1
hosts/main/services/elephant/supervise/stat
Normal file
1
hosts/main/services/elephant/supervise/stat
Normal file
@@ -0,0 +1 @@
|
||||
run
|
||||
BIN
hosts/main/services/elephant/supervise/status
Normal file
BIN
hosts/main/services/elephant/supervise/status
Normal file
Binary file not shown.
1
hosts/main/services/hyprland/run
Symbolic link
1
hosts/main/services/hyprland/run
Symbolic link
@@ -0,0 +1 @@
|
||||
../../bin/hyprland
|
||||
0
hosts/main/services/hyprland/supervise/lock
Normal file
0
hosts/main/services/hyprland/supervise/lock
Normal file
1
hosts/main/services/hyprland/supervise/pid
Normal file
1
hosts/main/services/hyprland/supervise/pid
Normal file
@@ -0,0 +1 @@
|
||||
950
|
||||
1
hosts/main/services/hyprland/supervise/stat
Normal file
1
hosts/main/services/hyprland/supervise/stat
Normal file
@@ -0,0 +1 @@
|
||||
run
|
||||
BIN
hosts/main/services/hyprland/supervise/status
Normal file
BIN
hosts/main/services/hyprland/supervise/status
Normal file
Binary file not shown.
148
hosts/main/setup.md
Normal file
148
hosts/main/setup.md
Normal file
@@ -0,0 +1,148 @@
|
||||
|
||||
## chroot on host
|
||||
```bash
|
||||
btrfs subvolume create /cachy
|
||||
|
||||
mkdir -p /cachy/nix
|
||||
mkdir -p /cachy/proc
|
||||
mkdir -p /cachy/sys
|
||||
mkdir -p /cachy/dev
|
||||
mkdir -p /cachy/out
|
||||
mkdir -p /cachy/home/me/work
|
||||
mount -o bind /proc /cachy/proc
|
||||
mount -o bind /sys /cachy/sys
|
||||
mount -o bind /dev /cachy/dev
|
||||
mount -o bind /nix /cachy/nix
|
||||
mount -o bind / /cachy/out
|
||||
mount -o bind /home/me/work /cachy/home/me/work
|
||||
mount -o bind /run/user/1000 /cachy/run/user/1000
|
||||
mount -t devpts -o gid=5,mode=620 devpts /cachy/dev/pts
|
||||
|
||||
docker run -it -v /cachy:/cachy -v /:/out --privileged cachyos/cachyos /bin/bash
|
||||
```
|
||||
|
||||
## in container:
|
||||
```bash
|
||||
pacstrap -K /cachy base base-devel vim nix less direnv nvim
|
||||
pacstrap -K /cachy wayland firefox alacritty dms-shell git cmake paru
|
||||
|
||||
pacstrap -K /cachy freerdp remmina
|
||||
pacstrap -K /cachy brightnessctl playerctl nm-connection-editor ttf-hack zenity prismlauncher docker inetutils
|
||||
```
|
||||
|
||||
## chroot
|
||||
```bash
|
||||
SHELL=/bin/bash chroot /cachy
|
||||
unset XDG_CONFIG_DIR XDG_DATA_DIRS
|
||||
export WAYLAND_DISPLAY=wayland-1
|
||||
```
|
||||
|
||||
## in chroot
|
||||
```bash
|
||||
# you sometimes need to .... so that df -h can find /
|
||||
mount /
|
||||
|
||||
ln -sf /proc/self/mounts /etc/mtab
|
||||
```
|
||||
|
||||
## link and copy stuff
|
||||
```bash
|
||||
echo "export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" > /root/.bashrc
|
||||
echo "me ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers
|
||||
echo "experimental-features = nix-command flakes" >> /etc/nix/nix.conf
|
||||
|
||||
ln -sf /home/me/work/config/hosts/main/bashrc /home/me/.bashrc
|
||||
ln -sf /home/me/work/config/hosts/main/bashrc /root/.bashrc
|
||||
|
||||
ln -fs ~/work/app-data/firefox-data/places.sqlite ~/.mozilla/firefox/me/places.sqlite
|
||||
ln -fs ~/work/app-data/firefox-data/places.sqlite-wal ~/.mozilla/firefox/me/places.sqlite-wal
|
||||
ln -fs ~/work/app-data/firefox-data/onetab-folder ~/.mozilla/firefox/me/storage/default/moz-extension+++e2297551-90b4-4da0-92c8-1d00cda2d080^userContextId=4294967295
|
||||
ln -fs $CONFIG_DIR/hosts/main/firefox-user.js ~/.mozilla/firefox/me/user.js
|
||||
sd ln -fs $CONFIG_DIR/hosts/main/lan-mouse.service /lib/systemd/user/lan-mouse.service
|
||||
sd ln -fs $CONFIG_DIR/hosts/main/elephant.service /lib/systemd/user/elephant.service
|
||||
mkdir -p ~/.config/walker
|
||||
sd ln -fs $CONFIG_DIR/hosts/main/walker.toml ~/.config/walker/config.toml
|
||||
sudo ln -sf /home/me/work/app-data/network-manager /etc/NetworkManager
|
||||
sudo ln -sf $HERE_DIR/waydroid-lib /var/lib/waydroid
|
||||
sudo ln -sf $HERE_DIR/waydroid-data $HOME/.local/share/waydroid
|
||||
ln -s ~/work/app-data/thunderbird ~/.mozilla/thunderbird
|
||||
|
||||
sudo ln -sf $CONFIG_DIR/hosts/main/hosts /etc/hosts
|
||||
|
||||
# docker
|
||||
sudo pacman -S docker
|
||||
sudo systemctl enable --now docker
|
||||
sudo usermod -a -G docker me
|
||||
|
||||
# screencast
|
||||
pacman -S xdg-desktop-portal-hyprland pipewire wireplumber qt6-wayland
|
||||
|
||||
# netbird
|
||||
curl -fsSL https://pkgs.netbird.io/install.sh | sh
|
||||
# move over /var/lib/netbird
|
||||
|
||||
# nixpkgs
|
||||
nix profile add ni#rustdesk ni#yt-dlp ni#delta
|
||||
```
|
||||
|
||||
## fstab
|
||||
```
|
||||
# Static information about the filesystems.
|
||||
# See fstab(5) for details.
|
||||
|
||||
# <file system> <dir> <type> <options> <dump> <pass>
|
||||
#arch_root / 9p trans=virtio,version=9p2000.L,msize=1048576,rw 0 0
|
||||
#work_share /home/me/work 9p trans=virtio,version=9p2000.L,msize=1048576,rw 0 0
|
||||
|
||||
/dev/mapper/root / btrfs rw,relatime,ssd,discard=async,space_cache=v2,compress=zstd:3,subvol=cachy 0 0
|
||||
/dev/mapper/root /home/me/work btrfs rw,relatime,ssd,discard=async,space_cache=v2,compress=zstd:3,subvol=work 0 0
|
||||
/dev/mapper/root /home/me/secrets btrfs rw,relatime,ssd,discard=async,space_cache=v2,compress=zstd:3,subvol=secrets 0 0
|
||||
/dev/mapper/root /home/me/here btrfs rw,relatime,ssd,discard=async,space_cache=v2,compress=zstd:3,subvol=here 0 0
|
||||
/dev/mapper/root /out btrfs rw,relatime,ssd,discard=async,space_cache=v2,compress=zstd:3,subvol=nixos 0 0
|
||||
/dev/mapper/root /nix btrfs rw,relatime,ssd,discard=async,space_cache=v2,compress=zstd:3,subvol=nix 0 0
|
||||
/dev/mapper/root /swap btrfs rw,relatime,ssd,discard=async,space_cache=v2,compress=zstd:3,subvol=swap 0 0
|
||||
|
||||
LABEL=MAIN-BOOT /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 2
|
||||
|
||||
/swapfile none swap defaults 0 0
|
||||
/home/me/work/app-data/network-manager /etc/NetworkManager none bind 0 0
|
||||
|
||||
```
|
||||
|
||||
# VM
|
||||
```bash
|
||||
sudo systemctl edit getty@tty1 # and put the following in the correct place (read comments)
|
||||
#[Service]
|
||||
#ExecStart=
|
||||
#ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --autologin your_username %I $TERM
|
||||
|
||||
```
|
||||
|
||||
## parts
|
||||
- mounts/disk setup
|
||||
- keyd
|
||||
- lan-mouse
|
||||
- keyring service
|
||||
```
|
||||
sudo ln -fs $CONFIG_DIR/hosts/main/bw.service /lib/systemd/user/bw.service
|
||||
sudo ln -fs $CONFIG_DIR/hosts/main/keyring.service /lib/systemd/user/keyring.service
|
||||
systemctl --user enable --now bw
|
||||
systemctl --user enable --now keyring
|
||||
sudo ln -fs $CONFIG_DIR/zed ~/.config/
|
||||
```
|
||||
|
||||
## log
|
||||
- first tried to run the pacman from nixpkgs (problems)
|
||||
|
||||
- then a nixpkgs basic chroot see ./install.sh (problems)
|
||||
|
||||
- then had the idea to use the cachyos docker container (worked)
|
||||
|
||||
- there are some finicky things with chroot
|
||||
- you need to mount / from in the chroot again... so that df -h can diaplay usage of / (required by pacman)
|
||||
- you need to mount /dev/pts for sudo to work
|
||||
- and this: ln -sf /proc/self/mounts /etc/mtab
|
||||
|
||||
- hyprland can not run in the chroot as it wants the xdg shell wayland proto v6 and the sway outside only has 5
|
||||
|
||||
- so let's go VM
|
||||
30
hosts/main/shell.qml
Normal file
30
hosts/main/shell.qml
Normal file
@@ -0,0 +1,30 @@
|
||||
import Quickshell
|
||||
import QtQuick
|
||||
|
||||
ShellRoot {
|
||||
Variants {
|
||||
model: Quickshell.screens
|
||||
|
||||
PanelWindow {
|
||||
required property var modelData
|
||||
|
||||
screen: modelData
|
||||
anchors {
|
||||
top: true
|
||||
left: true
|
||||
right: true
|
||||
}
|
||||
|
||||
implicitHeight: 32
|
||||
|
||||
color: "#202020"
|
||||
|
||||
Text {
|
||||
anchors.centerIn: parent
|
||||
|
||||
text: "DMS test shell"
|
||||
color: "white"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
119
hosts/main/ssh_config
Normal file
119
hosts/main/ssh_config
Normal file
@@ -0,0 +1,119 @@
|
||||
Host *
|
||||
IdentityFile /home/me/secrets/private-key
|
||||
Host gw
|
||||
User root
|
||||
Host acern
|
||||
Port 2222
|
||||
User me
|
||||
Host fasu
|
||||
User me
|
||||
HostName fasu
|
||||
Host fasus
|
||||
User server
|
||||
HostName fasu
|
||||
Host fe
|
||||
Port 22
|
||||
User me
|
||||
HostName fe
|
||||
Host feh
|
||||
Port 9000
|
||||
User root
|
||||
HostName 100.88.93.24
|
||||
Host fes
|
||||
Port 22
|
||||
User server
|
||||
HostName fe
|
||||
Host files
|
||||
Port 49388
|
||||
User files
|
||||
Host fusu
|
||||
Port 49388
|
||||
User me
|
||||
HostName fusu
|
||||
Host fusus
|
||||
Port 49388
|
||||
User server
|
||||
HostName fusu
|
||||
Host fwin
|
||||
User me
|
||||
HostName fwin
|
||||
Host github.com
|
||||
HostName github.com
|
||||
Host hec-builder
|
||||
User root
|
||||
HostName 10.5.5.72
|
||||
Host here
|
||||
Port 8888
|
||||
User me
|
||||
HostName 127.0.0.1
|
||||
Host hetzner2
|
||||
Port 2222
|
||||
User c2vi
|
||||
HostName hetzner2.ecbb.cc
|
||||
Host hpm
|
||||
User me
|
||||
Host ligai
|
||||
User s_01j7xkk335kbnr7r19zhssxn29
|
||||
HostName ssh.lightning.ai
|
||||
IdentityFile ~/secrets/lightning-ai-key
|
||||
Host mac
|
||||
Port 22
|
||||
User me
|
||||
Host mandroid
|
||||
Port 4401
|
||||
User u0_a77
|
||||
HostName mac
|
||||
Host mosatop
|
||||
Port 2222
|
||||
User me
|
||||
Host nico
|
||||
User root
|
||||
Host ocib
|
||||
User ubuntu
|
||||
HostName 140.238.213.48
|
||||
Host ocih
|
||||
User ubuntu
|
||||
HostName 152.67.70.13
|
||||
Host old-hec-builder
|
||||
User root
|
||||
HostName 10.5.5.56
|
||||
Host ouranos
|
||||
User root
|
||||
HostName 195.201.148.94
|
||||
Host pcmc
|
||||
Port 9000
|
||||
User root
|
||||
HostName 100.88.33.187
|
||||
Host phone
|
||||
Port 8022
|
||||
User u0_a345
|
||||
Host ppc-hosting
|
||||
Port 9000
|
||||
User root
|
||||
HostName 100.88.46.87
|
||||
Host rpis
|
||||
Port 49388
|
||||
User server
|
||||
HostName rpi
|
||||
Host storage
|
||||
User root
|
||||
HostName 10.5.5.50
|
||||
Host tab
|
||||
Port 8022
|
||||
User nix-on-droid
|
||||
Host ti
|
||||
Port 2222
|
||||
User root
|
||||
HostName localhost
|
||||
|
||||
Host *
|
||||
ForwardAgent no
|
||||
AddKeysToAgent no
|
||||
Compression no
|
||||
ServerAliveInterval 0
|
||||
ServerAliveCountMax 3
|
||||
HashKnownHosts no
|
||||
UserKnownHostsFile ~/.ssh/known_hosts
|
||||
ControlMaster no
|
||||
ControlPath ~/.ssh/master-%r@%n:%p
|
||||
ControlPersist no
|
||||
63
hosts/main/user.js
Normal file
63
hosts/main/user.js
Normal file
@@ -0,0 +1,63 @@
|
||||
// Generated by Home Manager.
|
||||
|
||||
|
||||
|
||||
user_pref("browser.aboutConfig.showWarning", false);
|
||||
user_pref("browser.cache.check_doc_frequency", 2);
|
||||
user_pref("browser.cache.disk.capacity", 4560000);
|
||||
user_pref("browser.cache.disk.smart_size.enabled", false);
|
||||
user_pref("browser.download.autohideButton", false);
|
||||
user_pref("browser.download.dir", "/home/me/work/downloads");
|
||||
user_pref("browser.download.folderList", 1);
|
||||
user_pref("browser.eme.ui.firstContentShown", true);
|
||||
user_pref("browser.engagement.ctrlTab.has-used", true);
|
||||
user_pref("browser.engagement.downloads-button.has-used", true);
|
||||
user_pref("browser.engagement.fxa-toolbar-menu-button.has-used", true);
|
||||
user_pref("browser.engagement.home-button.has-used", true);
|
||||
user_pref("browser.engagement.library-button.has-used", true);
|
||||
user_pref("browser.engagement.sidebar-button.has-used", true);
|
||||
user_pref("browser.firefox-view.feature-tour", "{\"message\":\"FIREFOX_VIEW_FEATURE_TOUR\",\"screen\":\"\",\"complete\":true}");
|
||||
user_pref("browser.low_commit_space_threshold_mb", 3000);
|
||||
user_pref("browser.search.region", "AT");
|
||||
user_pref("browser.shell.checkDefaultBrowser", false);
|
||||
user_pref("browser.startup.couldRestoreSession.count", 5);
|
||||
user_pref("browser.tabs.inTitlebar", 0);
|
||||
user_pref("browser.tabs.insertAfterCurrent", true);
|
||||
user_pref("browser.tabs.unloadOnLowMemory", true);
|
||||
user_pref("browser.theme.content-theme", 0);
|
||||
user_pref("browser.theme.toolbar-theme", 0);
|
||||
user_pref("browser.toolbars.bookmarks.visibility", "never");
|
||||
user_pref("browser.uiCustomization.state", "{\"placements\":{\"widget-overflow-fixed-list\":[\"sync-button\"],\"unified-extensions-area\":[\"jid1-93cwpmrbvpjrqa_jetpack-browser-action\",\"_react-devtools-browser-action\",\"grepper_codegrepper_com-browser-action\",\"simple-translate_sienori-browser-action\",\"_d04b0b40-3dab-4f0b-97a6-04ec3eddbfb0_-browser-action\",\"_b0721213-dc0b-4ae0-8436-8c14f0022a37_-browser-action\"],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"home-button\",\"customizableui-special-spring1\",\"urlbar-container\",\"zoom-controls\",\"customizableui-special-spring7\",\"screenshot-button\",\"fullscreen-button\",\"developer-button\",\"bookmarks-menu-button\",\"downloads-button\",\"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action\",\"adguardadblocker_adguard_com-browser-action\",\"extension_one-tab_com-browser-action\",\"side-view_mozilla_org-browser-action\",\"unified-extensions-button\",\"reset-pbm-toolbar-button\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"PersonalToolbar\":[\"preferences-button\",\"personal-bookmarks\"]},\"seen\":[\"developer-button\",\"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action\",\"extension_one-tab_com-browser-action\",\"_d04b0b40-3dab-4f0b-97a6-04ec3eddbfb0_-browser-action\",\"grepper_codegrepper_com-browser-action\",\"save-to-pocket-button\",\"_react-devtools-browser-action\",\"jid1-93cwpmrbvpjrqa_jetpack-browser-action\",\"adguardadblocker_adguard_com-browser-action\",\"side-view_mozilla_org-browser-action\",\"simple-translate_sienori-browser-action\",\"profiler-button\",\"reset-pbm-toolbar-button\",\"_b0721213-dc0b-4ae0-8436-8c14f0022a37_-browser-action\"],\"dirtyAreaCache\":[\"nav-bar\",\"PersonalToolbar\",\"toolbar-menubar\",\"TabsToolbar\",\"widget-overflow-fixed-list\",\"unified-extensions-area\"],\"currentVersion\":20,\"newElementCount\":26}");
|
||||
user_pref("devtools.chrome.enabled", true);
|
||||
user_pref("devtools.everOpened", true);
|
||||
user_pref("distribution.archlinux.bookmarksProcessed", true);
|
||||
user_pref("distribution.canonical.bookmarksProcessed", true);
|
||||
user_pref("distribution.iniFile.exists.appversion", "122.0a1");
|
||||
user_pref("distribution.iniFile.exists.value", false);
|
||||
user_pref("distribution.nixos.bookmarksProcessed", true);
|
||||
user_pref("extensions.activeThemeID", "{8d38d24a-dd1b-4142-8873-bbaa32e4e44f}");
|
||||
user_pref("extensions.autoDisableScopes", 0);
|
||||
user_pref("extensions.enabledScopes", 15);
|
||||
user_pref("extensions.langpacks.signatures.required", false);
|
||||
user_pref("extensions.webextensions.ExtensionStorageIDB.migrated.adguardadblocker@adguard.com", true);
|
||||
user_pref("extensions.webextensions.ExtensionStorageIDB.migrated.extension@one-tab.com", true);
|
||||
user_pref("extensions.webextensions.ExtensionStorageIDB.migrated.grepper@codegrepper.com", true);
|
||||
user_pref("extensions.webextensions.ExtensionStorageIDB.migrated.screenshots@mozilla.org", true);
|
||||
user_pref("extensions.webextensions.ExtensionStorageIDB.migrated.{446900e4-71c2-419f-a6a7-df9c091e268b}", true);
|
||||
user_pref("extensions.webextensions.uuids", "{\"adguardadblocker@adguard.com\":\"b73239bf-cb93-4985-8f3b-71b32a3b3527\",\"extension@one-tab.com\":\"e2297551-90b4-4da0-92c8-1d00cda2d080\",\"grepper@codegrepper.com\":\"7cfa9e68-fba7-4eb9-8f3b-d4562a31b476\",\"{446900e4-71c2-419f-a6a7-df9c091e268b}\":\"e563a533-4e66-4b75-bbec-176bb803d96c\"}");
|
||||
user_pref("javascript.options.mem.gc_parallel_marking", true);
|
||||
user_pref("middlemouse.paste", false);
|
||||
user_pref("network.dnsCacheExpiration", 0);
|
||||
user_pref("services.sync.prefs.sync.extensions.activeThemeID", false);
|
||||
user_pref("signon.autofillForms", false);
|
||||
user_pref("signon.firefoxRelay.feature", "offered");
|
||||
user_pref("signon.generation.enabled", false);
|
||||
user_pref("signon.management.page.breach-alerts.enabled", false);
|
||||
user_pref("signon.rememberSignons", false);
|
||||
user_pref("trailhead.firstrun.didSeeAboutWelcome", true);
|
||||
user_pref("xpinstall.signatures.required", false);
|
||||
user_pref("xpinstall.whitelist.required", true);
|
||||
|
||||
|
||||
lockPref("browser.theme.content-theme", 0)
|
||||
|
||||
298
hosts/main/walker.toml
Normal file
298
hosts/main/walker.toml
Normal file
@@ -0,0 +1,298 @@
|
||||
force_keyboard_focus = false # forces keyboard forcus to stay in Walker
|
||||
close_when_open = true # close walker when invoking while already opened
|
||||
click_to_close = true # closes walker if clicking outside of the main content area
|
||||
as_window = false # launch walker as a regular window instead of layer shell application
|
||||
single_click_activation = true # activate items with a single click opposed to a double click
|
||||
selection_wrap = false # wrap list if at bottom or top
|
||||
global_argument_delimiter = "#" # query: firefox#https://benz.dev => part after delimiter will be ignored when querying. this should be the same as in the elephant config
|
||||
exact_search_prefix = "'" # disable fuzzy searching
|
||||
theme = "default" # theme to use
|
||||
disable_mouse = false # disable mouse (on input and list only)
|
||||
debug = false # enables debug printing for some stuff, f.e. keybinds
|
||||
page_jump_items = 10 # number of items to skip with Page Up/Down
|
||||
hide_quick_activation = false # globally hide the quick activation buttons
|
||||
hide_action_hints = false # globally hide the action hints
|
||||
hide_action_hints_dmenu = true # hide the actions hints for dmenu
|
||||
hide_return_action = false # hide actions that are bound to Return
|
||||
keybind_symbols = true # render keybind hints with key symbols (e.g. ⌃+⏎) instead of plain text ("ctrl Return")
|
||||
resume_last_query = false # open walker with the last query in place
|
||||
actions_as_menu = false # display all possible actions in a submenu
|
||||
autoplay_videos = false # auto-play video previews
|
||||
ext_background_effect_blur = false # request the compositor to blur behind the box-wrapper via ext-background-effect-v1 (compositor must support it)
|
||||
|
||||
[shell]
|
||||
exclusive_zone = -1
|
||||
layer = "overlay"
|
||||
anchor_top = true
|
||||
anchor_bottom = true
|
||||
anchor_left = true
|
||||
anchor_right = true
|
||||
|
||||
[columns]
|
||||
"symbols" = 3
|
||||
|
||||
[placeholders]
|
||||
"default" = { input = "hi", list = "No Results" } # placeholders for input and empty list, key is the providers name, so f.e. "desktopapplications" or "menus:other"
|
||||
|
||||
[keybinds]
|
||||
close = ["Escape"]
|
||||
next = ["Down"]
|
||||
previous = ["Up"]
|
||||
left = ["Left"]
|
||||
right = ["Right"]
|
||||
down = ["Down"]
|
||||
up = ["Up"]
|
||||
toggle_exact = ["ctrl e"]
|
||||
resume_last_query = ["ctrl r"]
|
||||
quick_activate = ["F1", "F2", "F3", "F4"]
|
||||
page_down = ["Page_Down"]
|
||||
page_up = ["Page_Up"]
|
||||
show_actions = ["alt j"]
|
||||
|
||||
[providers]
|
||||
default = [
|
||||
"desktopapplications",
|
||||
"calc",
|
||||
"runner",
|
||||
"websearch",
|
||||
] # providers to be queried by default
|
||||
empty = ["runner"] # providers to be queried when query is empty
|
||||
ignore_preview = [] # providers that should not show previews
|
||||
max_results = 50 # global max results
|
||||
|
||||
[providers.argument_delimiter] # define the argument delimiter per provider
|
||||
# runner = " "
|
||||
|
||||
[providers.sets] # define your own defaults/empty sets of providers
|
||||
[providers.max_results_provider] # define max results per provider in here
|
||||
|
||||
[[providers.prefixes]]
|
||||
prefix = ";"
|
||||
provider = "providerlist"
|
||||
|
||||
#[[providers.prefixes]]
|
||||
#prefix = ">"
|
||||
#provider = "runner"
|
||||
|
||||
[[providers.prefixes]]
|
||||
prefix = "/"
|
||||
provider = "files"
|
||||
|
||||
[[providers.prefixes]]
|
||||
prefix = "."
|
||||
provider = "symbols"
|
||||
|
||||
[[providers.prefixes]]
|
||||
prefix = "!"
|
||||
provider = "todo"
|
||||
|
||||
[[providers.prefixes]]
|
||||
prefix = "%"
|
||||
provider = "bookmarks"
|
||||
|
||||
[[providers.prefixes]]
|
||||
prefix = "="
|
||||
provider = "calc"
|
||||
|
||||
[[providers.prefixes]]
|
||||
prefix = "@"
|
||||
provider = "websearch"
|
||||
|
||||
[[providers.prefixes]]
|
||||
prefix = ":"
|
||||
provider = "clipboard"
|
||||
|
||||
[[providers.prefixes]]
|
||||
prefix = "$"
|
||||
provider = "windows"
|
||||
|
||||
[providers.clipboard]
|
||||
time_format = "relative" # format for the clipboard item date
|
||||
|
||||
[providers.actions] # This will be MERGED/OVERWRITTEN with what the user specifies
|
||||
fallback = [
|
||||
{ action = "menus:open", label = "open", after = "Nothing" },
|
||||
{ action = "menus:default", label = "run", after = "Close" },
|
||||
{ action = "menus:parent", label = "back", bind = "Escape", after = "Nothing" },
|
||||
{ action = "erase_history", label = "clear hist", bind = "ctrl h", after = "AsyncReload" },
|
||||
]
|
||||
|
||||
dmenu = [{ action = "select", default = true, bind = "Return" }]
|
||||
|
||||
providerlist = [
|
||||
{ action = "activate", default = true, bind = "Return", after = "ClearReload" },
|
||||
]
|
||||
|
||||
bluetooth = [
|
||||
{ action = "find", bind = "ctrl f", after = "AsyncClearReload" },
|
||||
{ action = "remove", bind = "ctrl d", after = "AsyncReload" },
|
||||
{ action = "trust", bind = "ctrl t", after = "AsyncReload" },
|
||||
{ action = "untrust", bind = "ctrl t", after = "AsyncReload" },
|
||||
{ action = "pair", bind = "Return", after = "AsyncReload" },
|
||||
{ action = "connect", default = true, bind = "Return", after = "AsyncReload" },
|
||||
{ action = "disconnect", default = true, bind = "Return", after = "AsyncReload" },
|
||||
{ action = "power_on", label = "Power On", bind = "ctrl e", after = "AsyncReload" },
|
||||
{ action = "power_off", label = "Power Off", bind = "ctrl e", after = "AsyncReload" },
|
||||
]
|
||||
|
||||
archlinuxpkgs = [
|
||||
{ action = "install", bind = "Return", default = true },
|
||||
{ action = "remove", bind = "Return", default = true },
|
||||
{ action = "show_all", label = "show all", bind = "ctrl i", after = "AsyncClearReload" },
|
||||
{ action = "refresh", label = "refresh", bind = "ctrl r", after = "AsyncReload" },
|
||||
{ action = "visit_url", label = "open URL", bind = "ctrl o" },
|
||||
{ action = "show_installed", label = "show installed", bind = "ctrl i", after = "AsyncClearReload" },
|
||||
]
|
||||
|
||||
calc = [
|
||||
{ action = "copy", default = true, bind = "Return" },
|
||||
{ action = "delete", bind = "ctrl d", after = "AsyncReload" },
|
||||
{ action = "delete_all", bind = "ctrl shift d", after = "AsyncReload" },
|
||||
{ action = "save", bind = "ctrl s", after = "AsyncClearReload" },
|
||||
]
|
||||
|
||||
websearch = [
|
||||
{ action = "search", default = true, bind = "Return" },
|
||||
{ action = "open_url", label = "open url", default = true, bind = "Return" },
|
||||
]
|
||||
|
||||
desktopapplications = [
|
||||
{ action = "start", default = true, bind = "Return" },
|
||||
{ action = "start:keep", label = "open+next", bind = "shift Return", after = "KeepOpen" },
|
||||
{ action = "new_instance", label = "new instance", bind = "ctrl Return" },
|
||||
{ action = "new_instance:keep", label = "new+next", bind = "ctrl alt Return", after = "KeepOpen" },
|
||||
{ action = "pin", bind = "ctrl p", after = "AsyncReload" },
|
||||
{ action = "unpin", bind = "ctrl p", after = "AsyncReload" },
|
||||
{ action = "pinup", bind = "ctrl n", after = "AsyncReload" },
|
||||
{ action = "pindown", bind = "ctrl m", after = "AsyncReload" },
|
||||
]
|
||||
|
||||
dnfpackages = [
|
||||
{ action = "install", label = "Install Package", bind = "Return", default = true },
|
||||
{ action = "remove", label = "Remove Package", bind = "Return", default = true },
|
||||
{ action = "show_all", label = "Show All", bind = "ctrl i", after = "AsyncClearReload" },
|
||||
{ action = "show_installed", label = "Show Installed", bind = "ctrl i", after = "AsyncClearReload" },
|
||||
{ action = "refresh", label = "Refresh", bind = "ctrl r", after = "AsyncClearReload" },
|
||||
{ action = "visit_url", label = "Open URL", bind = "ctrl o" },
|
||||
]
|
||||
|
||||
files = [
|
||||
{ action = "open", default = true, bind = "Return" },
|
||||
{ action = "opendir", label = "open dir", bind = "ctrl Return" },
|
||||
{ action = "copypath", label = "copy path", bind = "ctrl shift c" },
|
||||
{ action = "copyfile", label = "copy file", bind = "ctrl c" },
|
||||
{ action = "localsend", label = "localsend", bind = "ctrl l" },
|
||||
{ action = "refresh_index", label = "reload", bind = "ctrl r", after = "AsyncReload" },
|
||||
]
|
||||
|
||||
1password = [
|
||||
{ action = "copy_password", label = "copy password", default = true, bind = "Return" },
|
||||
{ action = "copy_username", label = "copy username", bind = "shift Return" },
|
||||
{ action = "copy_2fa", label = "copy 2fa", bind = "ctrl Return" },
|
||||
]
|
||||
|
||||
protonpass = [
|
||||
{ action = "copy_password", label = "copy password", default = true, bind = "Return" },
|
||||
{ action = "copy_username", label = "copy username", bind = "shift Return" },
|
||||
{ action = "copy_2fa", label = "copy 2fa", bind = "ctrl Return" },
|
||||
]
|
||||
|
||||
bitwarden = [
|
||||
{ action = "copypassword", label = "copy password", default = true, bind = "Return" },
|
||||
{ action = "typepassword", label = "type password", default = true, bind = "ctrl p" },
|
||||
{ action = "copyusername", label = "copy username", bind = "shift Return" },
|
||||
{ action = "typeusername", label = "type username", bind = "ctrl u" },
|
||||
{ action = "copytotp", label = "copy 2fa", bind = "ctrl Return" },
|
||||
{ action = "typetotp", label = "type 2fa", bind = "ctrl t" },
|
||||
{ action = "syncvault", label = "sync", bind = "ctrl s" },
|
||||
]
|
||||
|
||||
todo = [
|
||||
{ action = "save", default = true, bind = "Return", after = "AsyncClearReload" },
|
||||
{ action = "save_next", label = "save & new", bind = "shift Return", after = "AsyncClearReload" },
|
||||
{ action = "delete", bind = "ctrl d", after = "AsyncClearReload" },
|
||||
{ action = "active", default = true, bind = "Return", after = "Nothing" },
|
||||
{ action = "inactive", default = true, bind = "Return", after = "Nothing" },
|
||||
{ action = "done", bind = "ctrl f", after = "Nothing" },
|
||||
{ action = "change_category", bind = "ctrl y", label = "change category", after = "Nothing" },
|
||||
{ action = "clear", bind = "ctrl x", after = "AsyncClearReload" },
|
||||
{ action = "create", bind = "ctrl a", after = "AsyncClearReload" },
|
||||
{ action = "search", bind = "ctrl a", after = "AsyncClearReload" },
|
||||
]
|
||||
|
||||
runner = [
|
||||
{ action = "run", default = true, bind = "Return" },
|
||||
{ action = "runterminal", label = "run in terminal", bind = "shift Return" },
|
||||
]
|
||||
|
||||
symbols = [
|
||||
{ action = "run_cmd", label = "select", default = true, bind = "Return" },
|
||||
]
|
||||
|
||||
unicode = [
|
||||
{ action = "run_cmd", label = "select", default = true, bind = "Return" },
|
||||
]
|
||||
|
||||
nirisessions = [
|
||||
{ action = "start", label = "start", default = true, bind = "Return" },
|
||||
{ action = "start_new", label = "start blank", bind = "ctrl Return" },
|
||||
]
|
||||
|
||||
clipboard = [
|
||||
{ action = "copy", default = true, bind = "Return" },
|
||||
{ action = "remove", bind = "ctrl d", after = "AsyncClearReload" },
|
||||
{ action = "remove_all", label = "clear", bind = "ctrl shift d", after = "AsyncClearReload" },
|
||||
{ action = "show_images_only", label = "only images", bind = "ctrl i", after = "AsyncClearReload" },
|
||||
{ action = "show_pinned_only", label = "only pinned", bind = "ctrl i", after = "AsyncClearReload" },
|
||||
{ action = "show_text_only", label = "only text", bind = "ctrl i", after = "AsyncClearReload" },
|
||||
{ action = "show_combined", label = "show all", bind = "ctrl i", after = "AsyncClearReload" },
|
||||
{ action = "pause", bind = "ctrl shift p" },
|
||||
{ action = "unpause", bind = "ctrl shift p" },
|
||||
{ action = "unpin", bind = "ctrl p", after = "AsyncClearReload" },
|
||||
{ action = "pin", bind = "ctrl p", after = "AsyncClearReload" },
|
||||
{ action = "edit", bind = "ctrl o" },
|
||||
{ action = "localsend", bind = "ctrl l" },
|
||||
]
|
||||
|
||||
bookmarks = [
|
||||
{ action = "save", bind = "Return", after = "AsyncClearReload" },
|
||||
{ action = "open", default = true, bind = "Return" },
|
||||
{ action = "delete", bind = "ctrl d", after = "AsyncClearReload" },
|
||||
{ action = "change_category", label = "Change category", bind = "ctrl y", after = "Nothing" },
|
||||
{ action = "change_browser", label = "Change browser", bind = "ctrl b", after = "Nothing" },
|
||||
{ action = "import", label = "Import", bind = "ctrl i", after = "AsyncClearReload" },
|
||||
{ action = "create", bind = "ctrl a", after = "AsyncClearReload" },
|
||||
{ action = "search", bind = "ctrl a", after = "AsyncClearReload" },
|
||||
]
|
||||
|
||||
wireplumber = [
|
||||
{ action = "increase_volume", label = "+volume", bind = "ctrl y", after = "Nothing" },
|
||||
{ action = "decrease_volume", label = "-volume", bind = "ctrl n", after = "Nothing" },
|
||||
{ action = "mute", bind = "ctrl m", after = "Nothing" },
|
||||
{ action = "unmute", bind = "ctrl m", after = "Nothing" },
|
||||
{ action = "set_default_device", label = "set default", bind = "ctrl d", after = "Nothing" },
|
||||
]
|
||||
|
||||
playerctl = [
|
||||
{ action = "pause", label = "pause", bind = "Return", after = "Nothing", default = true },
|
||||
{ action = "play", label = "play", bind = "Return", after = "Nothing", default = true },
|
||||
{ action = "prev", label = "prev", bind = "ctrl p", after = "Nothing" },
|
||||
{ action = "next", label = "next", bind = "ctrl n", after = "Nothing" },
|
||||
{ action = "vol_up", label = "vol+", bind = "ctrl y", after = "Nothing" },
|
||||
{ action = "vol_down", label = "vol-", bind = "ctrl h", after = "Nothing" },
|
||||
{ action = "mute", label = "mute", bind = "ctrl m", after = "Nothing" },
|
||||
{ action = "unmute", label = "unmute", bind = "ctrl m", after = "Nothing" },
|
||||
{ action = "seek_back", label = "backward", bind = "ctrl b", after = "Nothing" },
|
||||
{ action = "seek_forward", label = "forward", bind = "ctrl f", after = "Nothing" },
|
||||
]
|
||||
|
||||
niriactions = [{ action = "execute", bind = "Return" }]
|
||||
|
||||
aptpackages = [
|
||||
{ action = "install", label = "Install Package", bind = "Return", default = true },
|
||||
{ action = "remove", label = "Remove Package", bind = "Return", default = true },
|
||||
{ action = "show_all", label = "Show All", bind = "ctrl i", after = "AsyncClearReload" },
|
||||
{ action = "show_installed", label = "Show Installed", bind = "ctrl i", after = "AsyncClearReload" },
|
||||
{ action = "refresh", label = "Refresh", bind = "ctrl r", after = "AsyncClearReload" },
|
||||
{ action = "visit_url", label = "Open URL", bind = "ctrl o" },
|
||||
]
|
||||
3
hosts/main/zmk-config
Normal file
3
hosts/main/zmk-config
Normal file
@@ -0,0 +1,3 @@
|
||||
[user]
|
||||
home = /home/me/work/config/zmk-config
|
||||
|
||||
Reference in New Issue
Block a user