all recent config changes
This commit is contained in:
@@ -1 +1 @@
|
||||
flake-profile-16-link
|
||||
flake-profile-21-link
|
||||
@@ -1 +0,0 @@
|
||||
/nix/store/3yjs9x851rdcql4lrlhb77075l1a8zn4-nix-shell-env
|
||||
1
.direnv/flake-profile-21-link
Symbolic link
1
.direnv/flake-profile-21-link
Symbolic link
@@ -0,0 +1 @@
|
||||
/nix/store/kksnrclzwlp7avsk09x40gp26g989fsc-nix-shell-env
|
||||
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -13,3 +13,6 @@
|
||||
[submodule "forked-zed"]
|
||||
path = forked-zed
|
||||
url = git@github.com:c2vi/zed.git
|
||||
[submodule "src/zmk"]
|
||||
path = src/zmk
|
||||
url = https://github.com/zmkfirmware/zmk.git
|
||||
|
||||
24
.zed/settings.json
Normal file
24
.zed/settings.json
Normal file
@@ -0,0 +1,24 @@
|
||||
// Folder-specific settings
|
||||
//
|
||||
// For a full list of overridable settings, and general information on folder-specific settings,
|
||||
// see the documentation: https://zed.dev/docs/configuring-zed#settings-files
|
||||
{
|
||||
"lsp": {
|
||||
"rust-analyzer": {
|
||||
"initialization_options": {
|
||||
"linkedProjects": [
|
||||
//"mize/Cargo.toml",
|
||||
//"forked-zed/Cargo.toml",
|
||||
],
|
||||
"cargo": {
|
||||
"features": [ "target-js", "target-obsidian" ]
|
||||
//"features": "all"
|
||||
},
|
||||
"check": {
|
||||
"features": [ "target-js", "target-obsidian" ]
|
||||
//"features": "all"
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
8683
Cargo.lock
generated
8683
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
10
Cargo.toml
10
Cargo.toml
@@ -1,10 +0,0 @@
|
||||
[workspace]
|
||||
members = [
|
||||
"mize/mize",
|
||||
"mize/marts",
|
||||
"mize/macros",
|
||||
"generated",
|
||||
"dev-part",
|
||||
"mize/marts/spacetime",
|
||||
]
|
||||
resolver = "2"
|
||||
3
apps/wireshark
Executable file
3
apps/wireshark
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
exec sudo -E /usr/sbin/wireshark -P "persconf:$CONFIG_DIR/apps/wireshark-config" -P "persdata:$DATA_DIR/wireshark" "$@"
|
||||
10
apps/wireshark-config/init.lua
Normal file
10
apps/wireshark-config/init.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
|
||||
local config_dir = os.getenv("CONFIG_DIR")
|
||||
|
||||
critical("This is a critical issue message!")
|
||||
print("hello world!")
|
||||
|
||||
global run_user_scripts_when_superuser=true
|
||||
|
||||
-- qmi plugin
|
||||
dofile(config_dir .. "/apps/wireshark-config/qmi.lua")
|
||||
6679
apps/wireshark-config/preferences
Normal file
6679
apps/wireshark-config/preferences
Normal file
File diff suppressed because it is too large
Load Diff
1232
apps/wireshark-config/qmi.lua
Normal file
1232
apps/wireshark-config/qmi.lua
Normal file
File diff suppressed because one or more lines are too long
155
apps/wireshark-config/recent
Normal file
155
apps/wireshark-config/recent
Normal file
@@ -0,0 +1,155 @@
|
||||
# Recent settings file for Wireshark 4.7.3.
|
||||
#
|
||||
# This file is regenerated each time Wireshark is quit
|
||||
# and when changing configuration profile.
|
||||
# So be careful, if you want to make manual changes here.
|
||||
|
||||
|
||||
# Main Toolbar show (hide).
|
||||
# true or false (case-insensitive).
|
||||
gui.toolbar_main_show: true
|
||||
|
||||
# Filter Toolbar show (hide).
|
||||
# true or false (case-insensitive).
|
||||
gui.filter_toolbar_show: true
|
||||
|
||||
# Wireless Settings Toolbar show (hide).
|
||||
# true or false (case-insensitive).
|
||||
gui.wireless_toolbar_show: false
|
||||
|
||||
# Packet list show (hide).
|
||||
# true or false (case-insensitive).
|
||||
gui.packet_list_show: true
|
||||
|
||||
# Tree view show (hide).
|
||||
# true or false (case-insensitive).
|
||||
gui.tree_view_show: true
|
||||
|
||||
# Byte view show (hide).
|
||||
# true or false (case-insensitive).
|
||||
gui.byte_view_show: true
|
||||
|
||||
# Packet diagram show (hide).
|
||||
# true or false (case-insensitive).
|
||||
gui.packet_diagram_show: true
|
||||
|
||||
# Statusbar show (hide).
|
||||
# true or false (case-insensitive).
|
||||
gui.statusbar_show: true
|
||||
|
||||
# Packet list colorize (hide).
|
||||
# true or false (case-insensitive).
|
||||
gui.packet_list_colorize: true
|
||||
|
||||
# Auto scroll packet list when capturing.
|
||||
# true or false (case-insensitive).
|
||||
capture.auto_scroll: true
|
||||
|
||||
# use as aggregation view.
|
||||
# true or false (case-insensitive).
|
||||
capture.aggregation_view: false
|
||||
|
||||
# Timestamp display format.
|
||||
# One of: RELATIVE, RELATIVE_CAP, ABSOLUTE, ABSOLUTE_WITH_YMD, ABSOLUTE_WITH_YDOY, ABSOLUTE_WITH_DATE, DELTA, DELTA_DIS, EPOCH, UTC, UTC_WITH_YMD, UTC_WITH_YDOY, UTC_WITH_DATE
|
||||
gui.time_format: RELATIVE
|
||||
|
||||
# Timestamp display precision.
|
||||
# One of: AUTO, SEC, DSEC, CSEC, MSEC, USEC, NSEC, or a number between 0 and 9
|
||||
gui.time_precision: AUTO
|
||||
|
||||
# Seconds display format.
|
||||
# One of: SECONDS, HOUR_MIN_SEC
|
||||
gui.seconds_format: SECONDS
|
||||
|
||||
# Zoom level.
|
||||
# A decimal number.
|
||||
gui.zoom_level: 0
|
||||
|
||||
# Bytes view display type.
|
||||
# One of: HEX, BITS, DEC, OCT
|
||||
gui.bytes_view: HEX
|
||||
|
||||
# Bytes view text encoding.
|
||||
# One of: FROM_PACKET, ASCII, EBCDIC
|
||||
gui.bytes_encoding: FROM_PACKET
|
||||
|
||||
# Packet diagram field values show (hide).
|
||||
# true or false (case-insensitive).
|
||||
gui.packet_diagram_field_values: false
|
||||
|
||||
# Allow hover selection in byte view.
|
||||
# true or false (case-insensitive).
|
||||
gui.allow_hover_selection: true
|
||||
|
||||
# Follow stream show as.
|
||||
# One of: ASCII, ASCII_CONTROL, C_ARRAYS, EBCDIC, HEX_DUMP, HTML, IMAGE, JSON, RAW, RUST_ARRAY, UTF-8, YAML
|
||||
gui.follow_show: ASCII
|
||||
|
||||
# Follow stream delta times.
|
||||
# One of: NONE, TURN, ALL
|
||||
gui.follow_delta: NONE
|
||||
|
||||
# Show packet bytes decode as.
|
||||
# One of: NONE, BASE64, COMPRESSED, HEX_DIGITS, PERCENT_ENCODING, QUOTED_PRINTABLE, ROT13
|
||||
gui.show_bytes_decode: NONE
|
||||
|
||||
# Show packet bytes show as.
|
||||
# One of: ASCII, ASCII_CONTROL, C_ARRAYS, EBCDIC, HEX_DUMP, HTML, IMAGE, JSON, RAW, RUST_ARRAY, UTF-8, YAML
|
||||
gui.show_bytes_show: ASCII
|
||||
|
||||
# Main window upper (or leftmost) pane size.
|
||||
# Decimal number.
|
||||
|
||||
# Main window middle pane size.
|
||||
# Decimal number.
|
||||
|
||||
# Packet list column pixel widths.
|
||||
# Each pair of strings consists of a column format and its pixel width.
|
||||
column.width:
|
||||
%m, -1,
|
||||
%t, -1,
|
||||
%Gt, -1,
|
||||
%s, -1,
|
||||
%d, -1,
|
||||
%p, -1,
|
||||
%L, -1,
|
||||
%i, -1
|
||||
|
||||
# Open conversation dialog tabs.
|
||||
# List of conversation names, e.g. "TCP", "IPv6".
|
||||
gui.conversation_tabs:
|
||||
|
||||
# Conversation dialog tabs columns.
|
||||
# List of conversation columns numbers.
|
||||
gui.conversation_tabs_columns:
|
||||
|
||||
# Open endpoint dialog tabs.
|
||||
# List of endpoint names, e.g. "TCP", "IPv6".
|
||||
gui.endpoint_tabs:
|
||||
|
||||
# Endpoint dialog tabs columns.
|
||||
# List of endpoint columns numbers.
|
||||
gui.endpoint_tabs_columns:
|
||||
|
||||
# For RLC stats, whether to use RLC PDUs found inside MAC frames.
|
||||
# true or false (case-insensitive).
|
||||
gui.rlc_pdus_from_mac_frames: false
|
||||
|
||||
# Additional Toolbars shown
|
||||
# List of additional toolbars to show.
|
||||
gui.additional_toolbar_show:
|
||||
|
||||
# Interface Toolbars show.
|
||||
# List of interface toolbars to show.
|
||||
gui.interface_toolbar_show:
|
||||
|
||||
# TCP Stream Graphs Moving Average Window Size.
|
||||
gui.tsd_ma_window_size: 1
|
||||
|
||||
# TCP Stream Graphs Dialog Throughput show (hide).
|
||||
# true or false (case-insensitive).
|
||||
gui.tsd_throughput_show: true
|
||||
|
||||
# TCP Stream Graphs Dialog Goodput show (hide).
|
||||
# true or false (case-insensitive).
|
||||
gui.tsd_goodput_show: false
|
||||
141
apps/wireshark-config/recent_common
Normal file
141
apps/wireshark-config/recent_common
Normal file
@@ -0,0 +1,141 @@
|
||||
# Common recent settings file for Wireshark 4.7.3.
|
||||
#
|
||||
# This file is regenerated each time Wireshark is quit
|
||||
# and when changing configuration profile.
|
||||
# So be careful, if you want to make manual changes here.
|
||||
|
||||
######## Recent capture files (latest last), cannot be altered through command line ########
|
||||
|
||||
recent.capture_file: /home/me/hi.pcapng
|
||||
recent.capture_file: /home/me/nm-connection-up.pcapng
|
||||
recent.capture_file: /home/me/nm-connection-down.pcapng
|
||||
recent.capture_file: /home/me/modemmanager-stop.pcapng
|
||||
|
||||
######## Recent capture filters (latest first), cannot be altered through command line ########
|
||||
|
||||
|
||||
######## Recent display filters (latest last), cannot be altered through command line ########
|
||||
|
||||
recent.display_filter: qmi
|
||||
recent.display_filter: qmi.message_id == 0x0020 && qmi.service_id == 0x01
|
||||
recent.display_filter: qmi.service_id
|
||||
recent.display_filter: qmi.message_id == 0x0020
|
||||
recent.display_filter: qmi.message_id
|
||||
recent.display_filter: qmi &&
|
||||
recent.display_filter: usb.device_address == 18
|
||||
recent.display_filter: usb.device_address
|
||||
|
||||
# Main window geometry.
|
||||
# Decimal numbers.
|
||||
gui.geometry_main_x: 1920
|
||||
gui.geometry_main_y: 0
|
||||
gui.geometry_main_width: 619
|
||||
gui.geometry_main_height: 436
|
||||
|
||||
# Main window maximized.
|
||||
# true or false (case-insensitive).
|
||||
gui.geometry_main_maximized: true
|
||||
|
||||
# Leftalign Action Buttons.
|
||||
# true or false (case-insensitive).
|
||||
gui.geometry_leftalign_actions: false
|
||||
|
||||
# Last used Configuration Profile.
|
||||
gui.last_used_profile: Default
|
||||
|
||||
# Number of packets or events to check for automatic profile switching.
|
||||
# Decimal number. Zero disables switching.
|
||||
#gui.profile_switch_check_count: 1000
|
||||
|
||||
# Warn if running with elevated permissions (e.g. as root).
|
||||
# true or false (case-insensitive).
|
||||
privs.warn_if_elevated: true
|
||||
|
||||
# Warn if Wireshark is unable to capture.
|
||||
# true or false (case-insensitive).
|
||||
sys.warn_if_no_capture: true
|
||||
|
||||
# Find packet search in.
|
||||
# One of: PACKET_LIST, PACKET_DETAILS, PACKET_BYTES
|
||||
gui.search_in: PACKET_LIST
|
||||
|
||||
# Find packet character set.
|
||||
# One of: NARROW_AND_WIDE, NARROW, WIDE
|
||||
gui.search_char_set: NARROW_AND_WIDE
|
||||
|
||||
# Find packet case sensitive search.
|
||||
# true or false (case-insensitive).
|
||||
gui.search_case_sensitive: false
|
||||
|
||||
# Find packet search reverse direction.
|
||||
# true or false (case-insensitive).
|
||||
gui.search_reverse_dir: false
|
||||
|
||||
# Find packet search multiple occurrences.
|
||||
# true or false (case-insensitive).
|
||||
gui.search_multiple_occurs: false
|
||||
|
||||
# Find packet search type.
|
||||
# One of: DISPLAY_FILTER, HEX_VALUE, STRING, REGEX
|
||||
gui.search_type: DISPLAY_FILTER
|
||||
|
||||
# Welcome page sidebar Learn section visible.
|
||||
# true or false (case-insensitive).
|
||||
gui.welcome_page.sidebar.learn_visible: true
|
||||
|
||||
# Welcome page sidebar Tips section visible.
|
||||
# true or false (case-insensitive).
|
||||
gui.welcome_page.sidebar.tips_visible: true
|
||||
|
||||
# Welcome page sidebar Tips event slides.
|
||||
# true or false (case-insensitive).
|
||||
gui.welcome_page.sidebar.tips_events: true
|
||||
|
||||
# Welcome page sidebar Tips sponsorship slides.
|
||||
# true or false (case-insensitive).
|
||||
gui.welcome_page.sidebar.tips_sponsorship: true
|
||||
|
||||
# Welcome page sidebar Tips tip-of-the-day slides.
|
||||
# true or false (case-insensitive).
|
||||
gui.welcome_page.sidebar.tips_tips: true
|
||||
|
||||
# Welcome page sidebar Tips auto advance slides.
|
||||
# true or false (case-insensitive).
|
||||
gui.welcome_page.sidebar.tips_auto_advance: true
|
||||
|
||||
# Welcome page sidebar Tips slide auto-advance interval in seconds.
|
||||
gui.welcome_page.sidebar.tips_interval: 8
|
||||
|
||||
# Active theme (directory name under resources/themes).
|
||||
gui.theme_name: wireshark
|
||||
|
||||
# Appearance mode.
|
||||
# One of: system, light, dark
|
||||
gui.color_scheme: system
|
||||
|
||||
# Welcome page sidebar Tips slides test.
|
||||
# true or false (case-insensitive).
|
||||
gui.welcome_page.sidebar.tips_slides_test: false
|
||||
|
||||
# Geometry and maximized state of Lua Console window.
|
||||
# Decimal integers.
|
||||
gui.geom.Lua Console.x: 1920
|
||||
gui.geom.Lua Console.y: 0
|
||||
gui.geom.Lua Console.width: 523
|
||||
gui.geom.Lua Console.height: 865
|
||||
# true or false (case-insensitive).
|
||||
gui.geom.Lua Console.maximized: false
|
||||
# Qt Geometry State (hex byte string).
|
||||
gui.geom.Lua Console.qt_geometry: 01d9d0cb0003000000000780000000000000098a0000036000000780000000000000098a000003600000000102000000078000000780000000000000098a00000360
|
||||
|
||||
# Custom colors.
|
||||
# List of custom colors selected in Qt color picker.
|
||||
gui.custom_colors:
|
||||
"ffffffff", "ffffffff",
|
||||
"ffffffff", "ffffffff",
|
||||
"ffffffff", "ffffffff",
|
||||
"ffffffff", "ffffffff",
|
||||
"ffffffff", "ffffffff",
|
||||
"ffffffff", "ffffffff",
|
||||
"ffffffff", "ffffffff",
|
||||
"ffffffff", "ffffffff"
|
||||
@@ -11,7 +11,7 @@
|
||||
{ lib, pkgs, nur, unstable, inputs, config, ... }:
|
||||
let
|
||||
|
||||
newerUnstableSrc = builtins.getFlake "nixpkgs/d0fc30899600b9b3466ddb260fd83deb486c32f1";
|
||||
newerUnstableSrc = builtins.getFlake "nixpkgs/d23e2536a100b5108d22367a9c28785f48e3e4c8";
|
||||
newerUnstable = import newerUnstableSrc.outPath {};
|
||||
|
||||
mySway = newerUnstable.sway;
|
||||
|
||||
@@ -67,7 +67,7 @@ pub fn lush_os_main() -> MizeResult<()> {
|
||||
marts::spacetime(&mut mize)?;
|
||||
marts::timetrack::timetrack(&mut mize)?;
|
||||
|
||||
marts::c2vi(&mut mize)?;
|
||||
marts::part_c2vi(&mut mize)?;
|
||||
|
||||
mize.run()
|
||||
}
|
||||
@@ -320,8 +320,8 @@ pub fn obsidian_deploy(_: &ArgMatches, _: Mize) -> MizeResult<()> {
|
||||
else
|
||||
echo "using existing session..."
|
||||
fi
|
||||
tmux send-keys -t mize-deploy "deno run --config {SRC}/mize/packages/ppc/platform/obsidian/deno.json build" Enter
|
||||
tmux send-keys -t mize-deploy "cp -r {SRC}/mize/packages/ppc/platform/obsidian/dist/* ~/work/things/.obsidian/plugins/mize/" Enter
|
||||
tmux send-keys -t mize-deploy "deno run --config {SRC}/mize/apps/obsidian-plugin/deno.json build" Enter
|
||||
tmux send-keys -t mize-deploy "cp -r {SRC}/mize/apps/obsidian-plugin/dist/* ~/work/things/.obsidian/plugins/mize/" Enter
|
||||
"#
|
||||
);
|
||||
sh!(/bin/sh -c "$cmd")?;
|
||||
@@ -388,7 +388,7 @@ pub fn main_os_main() -> MizeResult<()> {
|
||||
marts::timetrack::timetrack(&mut mize)?;
|
||||
part_add_thought(&mut mize)?;
|
||||
|
||||
marts::c2vi(&mut mize)?;
|
||||
marts::part_c2vi(&mut mize)?;
|
||||
|
||||
//ppc::daemon(&mut mize)?;
|
||||
|
||||
@@ -617,7 +617,7 @@ pub fn mac_os_main() -> MizeResult<()> {
|
||||
marts::timetrack::timetrack(&mut mize)?;
|
||||
part_add_thought(&mut mize)?;
|
||||
|
||||
marts::c2vi(&mut mize)?;
|
||||
marts::part_c2vi(&mut mize)?;
|
||||
|
||||
mize.run()?;
|
||||
mize.wait();
|
||||
@@ -658,7 +658,7 @@ pub fn nico_os_main() -> MizeResult<()> {
|
||||
mize.spawn_background("nico_notes_sync", || nico_notes_sync_thread(mize_clone))?;
|
||||
|
||||
|
||||
marts::c2vi(&mut mize)?;
|
||||
marts::part_c2vi(&mut mize)?;
|
||||
|
||||
mize.run()?;
|
||||
mize.wait();
|
||||
|
||||
6
flake.lock
generated
6
flake.lock
generated
@@ -3869,11 +3869,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1772624091,
|
||||
"narHash": "sha256-QKyJ0QGWBn6r0invrMAK8dmJoBYWoOWy7lN+UHzW1jc=",
|
||||
"lastModified": 1788531059,
|
||||
"narHash": "sha256-hLD4l3QOGBQhkVp3mQ2lJ/YbEi99qUgKapb40KovZ88=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "80bdc1e5ce51f56b19791b52b2901187931f5353",
|
||||
"rev": "801bef6abd86b91e51083066b83fb354a11fc640",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -509,7 +509,7 @@
|
||||
inherit specialArgs;
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
./hosts/main.nix
|
||||
./hosts/main/default.nix
|
||||
./hardware/hpm-laptop.nix
|
||||
];
|
||||
};
|
||||
|
||||
@@ -34,26 +34,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/6518e61e-7120-48ef-81a3-5eae0f67297e";
|
||||
fsType = "btrfs";
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/0E6C-F209";
|
||||
fsType = "vfat";
|
||||
};
|
||||
*/
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-label/main-root";
|
||||
fsType = "btrfs";
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-label/MAIN-BOOT";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
#swapDevices = [
|
||||
#{ device = "/dev/disk/by-uuid/418bf0d8-e548-45d5-802a-53de72707ebc"; }
|
||||
|
||||
@@ -38,6 +38,7 @@ in {
|
||||
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1 kvm_intel nested=1
|
||||
'';
|
||||
security.polkit.enable = true;
|
||||
programs.obs-studio.enableVirtualCamera = true;
|
||||
|
||||
#services.pid-fan-controller.enable = true;
|
||||
|
||||
@@ -220,7 +221,8 @@ in {
|
||||
newerUnstableSrc = builtins.getFlake "nixpkgs/d0fc30899600b9b3466ddb260fd83deb486c32f1";
|
||||
newerUnstable = import newerUnstableSrc.outPath {};
|
||||
|
||||
mySway = newerUnstable.sway.override {
|
||||
mySway = newerUnstable.sway;
|
||||
myOtherSway = newerUnstable.sway.override {
|
||||
sway-unwrapped = (newerUnstable.sway-unwrapped.overrideAttrs (prev: {
|
||||
/*
|
||||
src = pkgs.fetchFromGitHub {
|
||||
|
||||
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"]}]
|
||||
@@ -48,10 +48,57 @@
|
||||
documentation.enable = true;
|
||||
documentation.man.enable = true;
|
||||
|
||||
fileSystems."/home/me/nico" = {
|
||||
device = "100.88.28.123:/data/incus/default-pool/containers/nico/rootfs/root/work/";
|
||||
fsType = "nfs";
|
||||
options = [ "x-systemd.automount" "noauto" "x-systemd.idle-timeout=600" ];
|
||||
#fileSystems."/home/me/nico" = {
|
||||
#device = "100.88.28.123:/data/incus/default-pool/containers/nico/rootfs/root/work/";
|
||||
#fsType = "nfs";
|
||||
#options = [ "x-systemd.automount" "noauto" "x-systemd.idle-timeout=600" "nofail" ];
|
||||
#};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-label/main-root";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=nixos" ];
|
||||
};
|
||||
fileSystems."/nix" = {
|
||||
device = "/dev/disk/by-label/main-root";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=nix" ];
|
||||
};
|
||||
fileSystems."/home/me/work" = {
|
||||
device = "/dev/disk/by-label/main-root";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=work" ];
|
||||
};
|
||||
fileSystems."/home/me/secrets" = {
|
||||
device = "/dev/disk/by-label/main-root";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=secrets" ];
|
||||
};
|
||||
fileSystems."/cachy" = {
|
||||
device = "/dev/disk/by-label/main-root";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=cachy" ];
|
||||
};
|
||||
fileSystems."/swap" = {
|
||||
device = "/dev/disk/by-label/main-root";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=swap" ];
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-label/MAIN-BOOT";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
boot.loader.grub = {
|
||||
enable = true;
|
||||
#default = "cachy";
|
||||
|
||||
extraEntries = ''
|
||||
menuentry 'cachy' {
|
||||
linux /vmlinuz-linux rootflags=subvol=cachy rw rd.luks.name=f93d0e0c-c620-4d39-bd6a-a7c0c90fb850=root root=/dev/mapper/root systemd.setenv=SYSTEMD_SULOGIN_FORCE=1
|
||||
initrd /initramfs-linux.img
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
@@ -177,6 +224,7 @@ fileSystems."/home/me/nico" = {
|
||||
|
||||
|
||||
|
||||
/*
|
||||
home-manager.users.me.programs.lan-mouse = {
|
||||
enable = true;
|
||||
settings = {
|
||||
@@ -194,6 +242,7 @@ fileSystems."/home/me/nico" = {
|
||||
};
|
||||
};
|
||||
home-manager.users.me.systemd.user.services.lan-mouse.Service.Environment = "PATH=/bin";
|
||||
*/
|
||||
|
||||
|
||||
|
||||
@@ -247,18 +296,18 @@ fileSystems."/home/me/nico" = {
|
||||
|
||||
|
||||
imports = [
|
||||
../common/all.nix
|
||||
../common/nixos-headless.nix
|
||||
../../common/all.nix
|
||||
../../common/nixos-headless.nix
|
||||
#../common/nixos-graphical.nix
|
||||
../common/nixos-wayland.nix
|
||||
../common/building.nix
|
||||
../common/nixos.nix
|
||||
../mods/battery_monitor.nix
|
||||
../../common/nixos-wayland.nix
|
||||
../../common/building.nix
|
||||
../../common/nixos.nix
|
||||
../../mods/battery_monitor.nix
|
||||
|
||||
inputs.networkmanager.nixosModules.networkmanager
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
../users/me/gui.nix
|
||||
../users/root/default.nix
|
||||
../../users/me/gui.nix
|
||||
../../users/root/default.nix
|
||||
|
||||
# see: https://github.com/NixOS/nixpkgs/issues/300081
|
||||
#"${inputs.nixpkgs-unstable}/nixos/modules/virtualisation/incus.nix"
|
||||
@@ -298,7 +347,7 @@ fileSystems."/home/me/nico" = {
|
||||
|
||||
((builtins.getFlake "nixpkgs/96bc8fec15133d6056410ed3abae2fb9419fb545").legacyPackages.${system}.affine.overrideAttrs {
|
||||
patches = [
|
||||
../overlays/patches/affin-edgeless-right-click-drag.patch
|
||||
../../overlays/patches/affin-edgeless-right-click-drag.patch
|
||||
];
|
||||
})
|
||||
|
||||
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
|
||||
|
||||
2
mize
2
mize
Submodule mize updated: b2ed9efff2...d559159397
273
mods/bashrc-common
Normal file
273
mods/bashrc-common
Normal file
@@ -0,0 +1,273 @@
|
||||
export PATH=$CONFIG_DIR/mybin:$PATH
|
||||
export TERM="xterm-color"
|
||||
export NIXPKGS_ALLOW_UNFREE=1
|
||||
|
||||
# needed to make ssh -X work
|
||||
# see: https://unix.stackexchange.com/questions/412065/ssh-connection-x11-connection-rejected-because-of-wrong-authentication
|
||||
export XAUTHORITY=$HOME/.Xauthority
|
||||
|
||||
cd ~
|
||||
|
||||
# nix build hosts
|
||||
export acern="ssh://acern x86_64-linux,aarch64-linux - 20 10 big-parallel - -"
|
||||
export fe="ssh://fe x86_64-linux,aarch64-linux - 20 10 big-parallel - -"
|
||||
export fusu="ssh://fusu x86_64-linux,aarch64-linux - 20 10 big-parallel - -"
|
||||
export mac="ssh://mac x86_64-linux,aarch64-linux - 8 5 big-parallel - -"
|
||||
export mosatop="ssh://mosatop x86_64-linux,aarch64-linux - 8 5 big-parallel - -"
|
||||
export hpm="ssh://hpm x86_64-linux,aarch64-linux - 8 5 big-parallel - -"
|
||||
|
||||
## ssh completions
|
||||
_ssh_completion() {
|
||||
local cur prev opts
|
||||
COMPREPLY=()
|
||||
cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
# Grabs hostnames from both ssh config and known_hosts
|
||||
opts=$(awk '/^Host / && $2 !~ /[*?]/ {print $2}' $CONFIG_DIR/hosts/main/ssh_config 2>/dev/null; \
|
||||
awk '{split($1,a,","); print a[1]}' ~/.ssh/known_hosts 2>/dev/null | tr -d '[]')
|
||||
COMPREPLY=( $(compgen -W "$opts" -- "$cur") )
|
||||
return 0
|
||||
}
|
||||
complete -F _ssh_completion ssh scp sftp
|
||||
|
||||
|
||||
# my prompt
|
||||
if [[ "main" == "main" ]]
|
||||
then
|
||||
#export PS1="\[\033[01;34m\]\W\[\033[00m\]\[\033[01;32m\]\[\033[00m\] ❯❯❯ "
|
||||
#export PS1="\[\033[01;34m\]\W\[\033[00m\]\[\033[01;32m\]\[\033[00m\] > "
|
||||
# \n\[\033[1;34m\][\[\e]0;\u@\h: \w\a\]\u@\h:\w]\$\[\033[0m\]
|
||||
#export PS1="\W > ";
|
||||
|
||||
export PS1="cachy \[\033[01;34m\]\W\033[00m ❯❯❯ "
|
||||
else
|
||||
#export PS1="\033[1;32mmain❯ \[\033[01;34m\]\W\[\033[00m\]\[\033[01;32m\]\[\033[00m\] ❯❯❯ "
|
||||
|
||||
export PS1="\033[1;32mmain\[\033[01;34m\] \W\033[00m ❯❯❯ "
|
||||
fi
|
||||
|
||||
|
||||
# function to create a tmpdir, to use for some temporary work....
|
||||
# made this, to not just keep cluttering my $HOME... with all kinds of projects
|
||||
function mt () {
|
||||
export TOPDIR=$HOME/tmp
|
||||
mkdir -p $TOPDIR
|
||||
cd $(python $CONFIG_DIR/scripts/quick-tmp-dir.py "$@")
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
# so that programms i spawn from my shell don't have so high cpu priority
|
||||
[ which renice 2>/dev/null ] && renice -n 9 $$ > /dev/null
|
||||
|
||||
|
||||
|
||||
# make less more friendly for non-text input files, see lesspipe(1)
|
||||
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
||||
|
||||
# making reverse search "going back" work with strg+s
|
||||
stty -ixon
|
||||
|
||||
|
||||
#################### functions ####################
|
||||
|
||||
# nix shell with
|
||||
nrepl(){
|
||||
nix repl --expr "rec { nixpkgs = builtins.getFlake \"nixpkgs/$NIXPKGS_REV\"; pkgs = import nixpkgs {}; flake = builtins.getFlake \"git+file://$(pwd)\"; config = builtins.getFlake \"git+file://$CONFIG_DIR\"; } $@"
|
||||
}
|
||||
|
||||
# A shortcut function that simplifies usage of xclip.
|
||||
# - Accepts input from either stdin (pipe), or params.
|
||||
# ------------------------------------------------
|
||||
cb() {
|
||||
local _scs_col="\e[0;32m"; local _wrn_col='\e[1;31m'; local _trn_col='\e[0;33m'
|
||||
|
||||
# Check user is not root (root doesn't have access to user xorg server)
|
||||
if [[ "$USER" == "root" ]]; then
|
||||
echo -e "$_wrn_col""Must be regular user (not root) to copy a file to the clipboard.\e[0m"
|
||||
else
|
||||
# If no tty, data should be available on stdin
|
||||
if ! [[ "$( tty )" == /dev/* ]]; then
|
||||
input="$(< /dev/stdin)"
|
||||
# Else, fetch input from params
|
||||
else
|
||||
input="$*"
|
||||
fi
|
||||
if [ -z "$input" ]; then # If no input, print usage message.
|
||||
echo "Copies a string to the clipboard."
|
||||
echo "Usage: cb <string>"
|
||||
echo " echo <string> | cb"
|
||||
else
|
||||
# Copy input to clipboard
|
||||
echo -n "$input" | wl-copy
|
||||
# Truncate text for status
|
||||
if [ ${#input} -gt 80 ]; then input="$(echo $input | cut -c1-80)$_trn_col...\e[0m"; fi
|
||||
# Print status.
|
||||
echo -e "$_scs_col""Copied to clipboard:\e[0m $input"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# git commit func
|
||||
function gc(){
|
||||
tmp=$(echo -en $@)
|
||||
git commit -m "$tmp"
|
||||
}
|
||||
|
||||
|
||||
# while true -> do cat.....
|
||||
function follow (){
|
||||
while true;
|
||||
do
|
||||
cat $@;
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
# little looping func
|
||||
function loop (){
|
||||
if [ "$1" == "-s" ]
|
||||
then
|
||||
for (( i=1; i<=$3; i++ )); do sleep $2; ${@:4}; done
|
||||
return
|
||||
fi
|
||||
case $1 in
|
||||
''|*[!0-9]*)
|
||||
# infinit iterations
|
||||
while true; do $@; done
|
||||
return
|
||||
;;
|
||||
*) ;;
|
||||
esac
|
||||
for (( i=1; i<=$1; i++ ));do ${@:2}; done
|
||||
}
|
||||
|
||||
|
||||
function psk(){
|
||||
ps -e | grep $1 | awk '{print $1}' | xargs kill
|
||||
}
|
||||
|
||||
|
||||
sd() {
|
||||
if [ "$1" == "" ]
|
||||
then
|
||||
sudo -E $(history | tail -n 2 | head -n 1 | awk '{$1=""; print $0}')
|
||||
else
|
||||
sudo -E $@
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# rech
|
||||
function rech(){
|
||||
python3 -c "print($@)"
|
||||
}
|
||||
|
||||
|
||||
# cf - copy file
|
||||
function cf() { cat "$1" | cb; }
|
||||
|
||||
|
||||
# shorter zathura
|
||||
function zath(){
|
||||
zathura "$@" 2>/dev/null &
|
||||
}
|
||||
|
||||
#################### completions ####################
|
||||
complete -cf sudo
|
||||
complete -cf sd
|
||||
complete -W "start stop restart status daemon-reload" stl
|
||||
|
||||
# ru
|
||||
complete -W "mnt-wechner sync-school wstunnel hibernate p speed-test-nixos-iso speed-test-upload speed-test-download bat bstat mnt-files-local mnt-lan-local mnt-files-remote mnt-lan-remote suspend rm-tab-cur rm-last-char mnt-school mnt-host davinci-resolve-convert-videos" ru
|
||||
|
||||
|
||||
|
||||
|
||||
# function to open remote desktops of my hosts
|
||||
complete -W "mosatop acern phone mwin win fwin ki mac mandroid" rp
|
||||
function rp () {
|
||||
host=$1
|
||||
|
||||
if [[ "$host" == "mosatop" ]]
|
||||
then
|
||||
xfreerdp /u:"c2vi" /v:mosatop /p:$(cat $SECRETS_DIR/mosatop-rdp-password) /dynamic-resolution +clipboard +auto-reconnect /wm-class:"Microsoft Windows"
|
||||
|
||||
elif [[ "$host" == "acern" ]]
|
||||
then
|
||||
xfreerdp /u:"seb" /v:acern /p:$(cat $SECRETS_DIR/acern-rdp-password) /dynamic-resolution +clipboard +auto-reconnect /wm-class:"Microsoft Windows"
|
||||
|
||||
elif [[ "$host" == "mwin" ]]
|
||||
then
|
||||
xfreerdp /u:"me" /v:mac:4400 /p:$(cat $SECRETS_DIR/win-vm-pwd) /dynamic-resolution +clipboard +auto-reconnect +home-drive /wm-class:"Microsoft Windows";
|
||||
|
||||
elif [[ "$host" == "win" ]]
|
||||
then
|
||||
xfreerdp /u:"me" /v:192.168.122.141 /p:$(cat $SECRETS_DIR/win-vm-pwd) /dynamic-resolution +clipboard +auto-reconnect +home-drive /wm-class:"Microsoft Windows";
|
||||
|
||||
elif [[ "$host" == "phone" ]]
|
||||
then
|
||||
ssh phone "source ~/.bashrc && on" &
|
||||
rustdesk --connect 100.88.245.227
|
||||
|
||||
elif [[ "$host" == "vnc-fwin" ]]
|
||||
then
|
||||
remmina -c $DATA_DIR/remmina/fwin.remmina
|
||||
|
||||
elif [[ "$host" == "fwin" ]]
|
||||
then
|
||||
xfreerdp /u:"me" /v:fusu:9002 /p:$(cat $SECRETS_DIR/win-vm-pwd) /dynamic-resolution +clipboard +auto-reconnect +home-drive /wm-class:"Microsoft Windows";
|
||||
|
||||
elif [[ "$host" == "ki" ]]
|
||||
then
|
||||
remmina -c $DATA_DIR/remmina/ki.remmina
|
||||
|
||||
elif [[ "$host" == "mac" ]]
|
||||
then
|
||||
remmina -c $DATA_DIR/remmina/mac.remmina
|
||||
|
||||
elif [[ "$host" == "mandroid" ]]
|
||||
then
|
||||
remmina -c $DATA_DIR/remmina/mandroid.remmina
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
HISTCONTROL=ignoredups
|
||||
HISTFILE="$DATA_DIR/$HOSTNAME/bash-history"
|
||||
HISTFILESIZE=10000000
|
||||
HISTIGNORE=ls:cd:exit
|
||||
HISTSIZE=10000
|
||||
mkdir -p "$(dirname "$HISTFILE")"
|
||||
|
||||
shopt -s histappend
|
||||
shopt -s checkwinsize
|
||||
shopt -s globstar
|
||||
|
||||
# aliases
|
||||
alias bl=bluetoothctl
|
||||
alias oebb=~/work/src/oebb/oebb.sh
|
||||
alias hl=hyprctl
|
||||
alias ls='ls --color=auto'
|
||||
alias archive-video='yt-dlp -f "bv*+ba/b" --merge-output-format mp4 --embed-thumbnail --write-thumbnail --convert-thumbnails png --add-metadata -o "%(title)s.%(ext)s"'
|
||||
alias c='cd ..'
|
||||
alias cbs='history | tail -n 2 | head -n 1 | awk '\''{$1=""; print $0}'\'' | cut -c 2- | cb'
|
||||
alias gitlog='git log --all --graph'
|
||||
alias gs='git status'
|
||||
alias ipa=' echo -e "IPv4:\n-----------------"
|
||||
ip -o a show | cut -d " " -f 2,7 | grep -v : | column -t
|
||||
echo -e "\nIPv6:\n-----------------"
|
||||
ip -o a show | cut -d " " -f 2,7 | grep : | column -t
|
||||
'
|
||||
alias kwoche='curl -k https://kalenderwoche.celll.net/?api=1; echo'
|
||||
alias ports='/nix/store/8a1gk78021ashna4c2hmk8xxwb1pkwwm-lsof-4.99.4/bin/lsof -i -P -n'
|
||||
alias psg='ps -e | grep'
|
||||
alias shutdown='echo try harder.... xD'
|
||||
alias sl=ls
|
||||
alias stl='sudo systemctl'
|
||||
alias u='sudo umount ~/mnt'
|
||||
alias vim=nvim
|
||||
alias virsh='virsh -c qemu:///system'
|
||||
|
||||
eval "$(direnv hook bash)"
|
||||
@@ -45,6 +45,8 @@
|
||||
- 8004 matrix http
|
||||
- 8005 ppc spacetime instance
|
||||
- 8006 atproto pds http
|
||||
- 8007 mautrix-discord bridge appservice
|
||||
- 8008 vikunja todo (task.ppc.social)
|
||||
|
||||
## hosting container ips (on the interface br-proxy)
|
||||
- fusu 192.168.1.2
|
||||
@@ -471,10 +473,10 @@ in {
|
||||
{ name = "instant-backend"; domain = "instant-backend.ppc.social"; host = "me-hosting"; port = 8005; }
|
||||
{ name = "isotoke-website"; domain = "isotoke.ppc.social"; host = "192.168.1.26"; port = 80; }
|
||||
{ name = "affine"; domain = "affine.ppc.social"; host = "ppc-hosting"; port = 8001; }
|
||||
{ name = "gitea"; domain = "git.ppc.social"; host = "ppc-hosting"; port = 8002; }
|
||||
{ name = "nico"; domain = "nico.ppc.social"; host = "192.168.1.14"; port = 18789; middlewares = [ "oidc-nico" ]; }
|
||||
{ name = "ppc-matrix"; domain = "matrix.ppc.social"; host = "ppc-hosting"; port = 8004; }
|
||||
{ name = "ppc-pds"; domain = "pds.ppc.social"; host = "ppc-hosting"; port = 8006; }
|
||||
{ name = "vikunja"; domain = "task.ppc.social"; host = "ppc-hosting"; port = 8008; }
|
||||
#{ name = "spacetime"; domain = "spacetime.ppc.social"; host = "ppc-hosting"; port = 8005; extraRouterConfig = {
|
||||
# rule = "Host(`spacetime.ppc.social`) && PathPrefix(`/v1/database`)";
|
||||
# };
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
100.107.67.76 te
|
||||
100.88.137.49 te
|
||||
100.93.225.52 fasu
|
||||
100.88.42.194 fwin
|
||||
100.88.28.123 fe
|
||||
|
||||
36
mods/nurPkgs/zmk-cli.nix
Normal file
36
mods/nurPkgs/zmk-cli.nix
Normal file
@@ -0,0 +1,36 @@
|
||||
{ pkgs ? import <nixpkgs> {} }:
|
||||
|
||||
pkgs.python3Packages.buildPythonApplication rec {
|
||||
pname = "zmk-cli";
|
||||
version = "0.5.0";
|
||||
pyproject = true; # Tells Nix to expect a pyproject.toml instead of setup.py
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "zmkfirmware";
|
||||
repo = "zmk-cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-GhECLAvs4qkUGeINDSF4oJtZnXHxljmVVERyoezt35w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with pkgs.python3Packages; [
|
||||
setuptools
|
||||
setuptools-scm
|
||||
wheel
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with pkgs.python3Packages; [
|
||||
dacite
|
||||
giturlparse
|
||||
mako
|
||||
rich
|
||||
ruamel-yaml
|
||||
shellingham
|
||||
typer
|
||||
west
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Command line tool for the ZMK Firmware";
|
||||
homepage = "https://github.com/zmkfirmware/zmk-cli";
|
||||
};
|
||||
}
|
||||
@@ -73,7 +73,7 @@ do_switch(){
|
||||
[[ "$boot" == "false" ]] && ssh $host "sudo nixos-rebuild switch --flake \$HOME/my-nixos-config --impure"
|
||||
[[ "$boot" == "true" ]] && ssh $host "sudo nixos-rebuild boot --flake \$HOME/my-nixos-config --impure"
|
||||
else
|
||||
nix path-info $out_path -r | xargs sudo nix store sign -k ~/work/here/secrets/nix-private
|
||||
#nix path-info $out_path -r | xargs sudo nix store sign -k ~/work/here/secrets/nix-private
|
||||
nix copy --no-check-sigs --no-require-sigs --to ssh-ng://$host $out_path
|
||||
[[ "$boot" == "false" ]] && ssh $host "sudo $out_path/bin/switch-to-configuration switch"
|
||||
[[ "$boot" == "true" ]] && ssh $host "sudo $out_path/bin/switch-to-configuration boot"
|
||||
|
||||
1
obsidian-brat
Submodule
1
obsidian-brat
Submodule
Submodule obsidian-brat added at abec866f6b
1
src/zmk
Submodule
1
src/zmk
Submodule
Submodule src/zmk added at 641514a97d
@@ -25,6 +25,9 @@
|
||||
else if hostName == "nico" then "/root/work/app-data/mize"
|
||||
else if hostName == "fusu" && config.home.username == "files" then "/home/files/storage/files/mize"
|
||||
else "/home/me/host/mize";
|
||||
MIZE_CONFIG_FILES =
|
||||
if hostName == "main" then "/home/me/secrets/mize-config.toml"
|
||||
else "/home/me/host/mize-config.toml";
|
||||
};
|
||||
home.sessionPath = [
|
||||
"/home/me/work/path-extra"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user