Compare commits
44 Commits
e767549a57
...
legacy
| Author | SHA1 | Date | |
|---|---|---|---|
|
18913b9120
|
|||
|
49d0088595
|
|||
|
c2adf02a55
|
|||
|
|
60bfa228e6 | ||
|
4e28e5cbb0
|
|||
|
68943b57ee
|
|||
|
733be4c7c8
|
|||
|
a0245017f7
|
|||
|
5803376722
|
|||
|
a3f2b7d759
|
|||
|
0747d2a784
|
|||
|
852c5ebef8
|
|||
|
783d1bac25
|
|||
|
325310c1ca
|
|||
|
1db4d0c49b
|
|||
|
4d20f2d7a6
|
|||
|
bbd3198976
|
|||
|
d48a3d3925
|
|||
|
c11c4e7482
|
|||
|
e06b93215f
|
|||
|
041307aaea
|
|||
|
1d0ef3d31e
|
|||
|
206cbfb564
|
|||
|
bc85c85592
|
|||
|
569e9698f7
|
|||
|
8eabebb9e8
|
|||
|
58bd63a4c7
|
|||
|
0db42dfcbc
|
|||
|
9236bf36f1
|
|||
|
4fab06b82b
|
|||
|
b5775fd29b
|
|||
|
135c08eda0
|
|||
|
938ab8e83b
|
|||
|
dfff773f7e
|
|||
|
df66535bf1
|
|||
|
b5e2bb933f
|
|||
|
f3e07bad16
|
|||
|
ff4f509d26
|
|||
|
1a5410ec9e
|
|||
|
8daace9b77
|
|||
|
65c42118e2
|
|||
|
ed0b0508bb
|
|||
|
a480aa5804
|
|||
|
70d953b18c
|
2
.bashrc
2
.bashrc
@@ -163,5 +163,5 @@ fi
|
||||
|
||||
# Display a welcome message for interactive shells
|
||||
if [ -t 1 ]; then
|
||||
dotf term
|
||||
dotf hello
|
||||
fi
|
||||
|
||||
@@ -113,7 +113,7 @@ sys_packages() {
|
||||
nix-channel --update
|
||||
|
||||
printfe "%s\n" "cyan" "Updating nixos flake..."
|
||||
cd $HOME/dotfiles/config/nixos && nix flake update
|
||||
cd $HOME/dotfiles/config/nixos && nix --extra-experimental-features nix-command --extra-experimental-features flakes flake update
|
||||
|
||||
# Exit if this failed
|
||||
if [ $? -ne 0 ]; then
|
||||
@@ -122,9 +122,16 @@ sys_packages() {
|
||||
return
|
||||
fi
|
||||
|
||||
printfe "%s\n" "cyan" "Updating apt packages..."
|
||||
sudo nala upgrade -y
|
||||
sudo nala autoremove -y --purge
|
||||
if [ -x "$(command -v apt)" ]; then
|
||||
printfe "%s\n" "cyan" "Updating apt packages..."
|
||||
sudo nala upgrade -y
|
||||
sudo nala autoremove -y --purge
|
||||
fi
|
||||
|
||||
if [ -x "$(command -v yum)" ]; then
|
||||
printfe "%s\n" "cyan" "Updating yum packages..."
|
||||
sudo yum update -y
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -163,7 +170,7 @@ flatpakpkgs() {
|
||||
|
||||
homemanager() {
|
||||
printfe "%s\n" "cyan" "Updating Home Manager flake..."
|
||||
cd $HOME/dotfiles/config/home-manager && nix flake update
|
||||
cd $HOME/dotfiles/config/home-manager && nix --extra-experimental-features nix-command --extra-experimental-features flakes flake update
|
||||
}
|
||||
|
||||
####################################################################################################
|
||||
|
||||
@@ -40,24 +40,33 @@ fi
|
||||
printfe "%s\n" "cyan" "Limiting to $CORES cores with $JOBS jobs."
|
||||
|
||||
if [[ "$RUN_NIX" == true ]]; then
|
||||
printfe "%s\n" "cyan" "Upgrading NixOS packages..."
|
||||
cd $HOME/dotfiles/config/nixos && sudo nixos-rebuild switch --upgrade --flake .#$DOTF_HOSTNAME --impure --cores $CORES -j $JOBS
|
||||
if command -v nixos-rebuild &> /dev/null; then
|
||||
printfe "%s\n" "cyan" "Upgrading NixOS packages..."
|
||||
cd $HOME/dotfiles/config/nixos && sudo nixos-rebuild switch --upgrade --flake .#$DOTF_HOSTNAME --impure --cores $CORES -j $JOBS
|
||||
|
||||
if [[ $? -ne 0 ]]; then
|
||||
printfe "%s\n" "red" "Failed to upgrade NixOS packages."
|
||||
exit 1
|
||||
if [[ $? -ne 0 ]]; then
|
||||
printfe "%s\n" "red" "Failed to upgrade NixOS packages."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
printfe "%s\n" "red" "Skipping nixos-rebuild, NixOS is not installed."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$RUN_HA" == true ]]; then
|
||||
printfe "%s\n" "cyan" "Cleaning old backup files..."
|
||||
rm -rf $HOME/.config/mimeapps.list.backup
|
||||
if command -v home-manager &> /dev/null; then
|
||||
printfe "%s\n" "cyan" "Cleaning old backup files..."
|
||||
rm -rf $HOME/.config/mimeapps.list.backup
|
||||
|
||||
printfe "%s\n" "cyan" "Upgrading Home Manager packages..."
|
||||
cd $HOME/dotfiles/config/home-manager && NIXPKGS_ALLOW_UNFREE=1 home-manager switch -b backup --flake .#$DOTF_HOSTNAME --impure --cores $CORES -j $JOBS
|
||||
printfe "%s\n" "cyan" "Upgrading Home Manager packages..."
|
||||
cd $HOME/dotfiles/config/home-manager && NIXPKGS_ALLOW_UNFREE=1 home-manager --extra-experimental-features nix-command --extra-experimental-features flakes switch -b backup --flake .#$DOTF_HOSTNAME --impure --cores $CORES -j $JOBS
|
||||
|
||||
if [[ $? -ne 0 ]]; then
|
||||
printfe "%s\n" "red" "Failed to upgrade Home Manager packages."
|
||||
if [[ $? -ne 0 ]]; then
|
||||
printfe "%s\n" "red" "Failed to upgrade Home Manager packages."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
printfe "%s\n" "red" "Home Manager is not installed."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
6
bin/dotf
6
bin/dotf
@@ -37,8 +37,8 @@ upgrade() {
|
||||
"$upgrade_script" $@
|
||||
}
|
||||
|
||||
term() {
|
||||
local term_script="$DOTFILES_BIN/actions/term.sh"
|
||||
hello() {
|
||||
local term_script="$DOTFILES_BIN/actions/hello.sh"
|
||||
if [[ ! -x "$term_script" ]]; then
|
||||
printfe "%s\n" "red" "Error: Terminal script not found or not executable"
|
||||
return 1
|
||||
@@ -125,7 +125,7 @@ main() {
|
||||
update) shift; update "$@" ;;
|
||||
upgrade) shift; upgrade "$@" ;;
|
||||
help) shift; help "$@" ;;
|
||||
term) shift; term "$@" ;;
|
||||
hello) shift; hello "$@" ;;
|
||||
secrets) shift; secrets "$@" ;;
|
||||
auto-start) shift; auto_start "$@" ;;
|
||||
*) help ;;
|
||||
|
||||
@@ -6,6 +6,6 @@ Usage: dotf [OPTIONS] [ARGS]
|
||||
upgrade: Runs switch, flake variants for nix switch with upgrade and home-manager.
|
||||
secrets: Encrypt and decrypt secrets.
|
||||
auto-start: Start a set of pre-defined applications.
|
||||
term: Shows the welcome message for the terminal.
|
||||
hello: Shows the welcome message for the terminal.
|
||||
help: Shows this help message
|
||||
|
||||
@@ -1 +1 @@
|
||||
/nix/store/nqbwwlvirdq4xc9n2x9rmkb8bv885n39-home-manager-files/.config/autostart/ulauncher.desktop
|
||||
/nix/store/b21375qzs3rbmhz9wrvyab7jljis7jc3-home-manager-files/.config/autostart/ulauncher.desktop
|
||||
@@ -54,41 +54,16 @@ config:
|
||||
target: ~/.ssh/authorized_keys
|
||||
chmod: 600
|
||||
|
||||
# Hyprland config
|
||||
hyprland:
|
||||
source: ~/dotfiles/config/hyprland.conf
|
||||
target: ~/.config/hypr/hyprland.conf
|
||||
|
||||
# kitty config
|
||||
kitty:
|
||||
source: ~/dotfiles/config/kitty.conf
|
||||
target: ~/.config/kitty/kitty.conf
|
||||
|
||||
kitty_theme:
|
||||
source: ~/dotfiles/config/kitty-theme.conf
|
||||
target: ~/.config/kitty/theme.conf
|
||||
|
||||
# hyprlock config
|
||||
hyprlock:
|
||||
source: ~/dotfiles/config/hyprlock.conf
|
||||
target: ~/.config/hypr/hyprlock.conf
|
||||
|
||||
# hypridle config
|
||||
hypridle:
|
||||
source: ~/dotfiles/config/hypridle.conf
|
||||
target: ~/.config/hypr/hypridle.conf
|
||||
|
||||
# Hyprpaper config
|
||||
hyprpaper:
|
||||
source: ~/dotfiles/config/hyprpaper.conf
|
||||
target: ~/.config/hypr/hyprpaper.conf
|
||||
# Ghostty config
|
||||
ghostty:
|
||||
source: ~/dotfiles/config/ghostty.conf
|
||||
target: ~/.config/ghostty/config
|
||||
|
||||
# Starship config
|
||||
starship:
|
||||
source: ~/dotfiles/config/starship.toml
|
||||
target: ~/.config/starship.toml
|
||||
|
||||
|
||||
# Packages to install
|
||||
# Note: Uninstalling packages is not supported, if you remove a package from this list it will not be removed from the system!
|
||||
# Likewise with flatpak remotes, apt repositories, etc.
|
||||
|
||||
10
config/flatpaks/com.ktechpit.whatsie.flatpakref
Normal file
10
config/flatpaks/com.ktechpit.whatsie.flatpakref
Normal file
@@ -0,0 +1,10 @@
|
||||
[Flatpak Ref]
|
||||
Name=com.ktechpit.whatsie
|
||||
Branch=stable
|
||||
Title=com.ktechpit.whatsie from flathub
|
||||
IsRuntime=false
|
||||
Url=https://dl.flathub.org/repo/
|
||||
SuggestRemoteName=flathub
|
||||
GPGKey=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
|
||||
RuntimeRepo=https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
10
config/flatpaks/org.fedoraproject.MediaWriter.flatpakref
Normal file
10
config/flatpaks/org.fedoraproject.MediaWriter.flatpakref
Normal file
@@ -0,0 +1,10 @@
|
||||
[Flatpak Ref]
|
||||
Name=org.fedoraproject.MediaWriter
|
||||
Branch=stable
|
||||
Title=org.fedoraproject.MediaWriter from flathub
|
||||
IsRuntime=false
|
||||
Url=https://dl.flathub.org/repo/
|
||||
SuggestRemoteName=flathub
|
||||
GPGKey=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
|
||||
RuntimeRepo=https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
25
config/ghostty.conf
Normal file
25
config/ghostty.conf
Normal file
@@ -0,0 +1,25 @@
|
||||
# Theme
|
||||
# Try new themes with: `ghostty +list-themes`
|
||||
theme = dark:Adwaita Dark,light:Adwaita
|
||||
|
||||
# Keybinds
|
||||
keybind = ctrl+shift+k=clear_screen
|
||||
|
||||
# Font size keybinds
|
||||
keybind = ctrl+zero=reset_font_size
|
||||
keybind = ctrl+kp_add=increase_font_size:1
|
||||
keybind = ctrl+kp_subtract=decrease_font_size:1
|
||||
|
||||
# Keybinds for moving windows
|
||||
keybind = alt+right=next_tab
|
||||
keybind = alt+left=previous_tab
|
||||
keybind = shift+alt+left=move_tab:-1
|
||||
keybind = shift+alt+right=move_tab:1
|
||||
|
||||
# Window keybinds
|
||||
keybind = ctrl+q=close_window
|
||||
keybind = ctrl+shift+Q=close_all_windows
|
||||
|
||||
|
||||
# Shell integration
|
||||
shell-integration = bash
|
||||
@@ -6,9 +6,6 @@
|
||||
[gpg]
|
||||
format = ssh
|
||||
|
||||
[gpg "ssh"]
|
||||
program = "op-ssh-sign"
|
||||
|
||||
[commit]
|
||||
gpgsign = true
|
||||
|
||||
|
||||
181
config/home-manager/flake.lock
generated
181
config/home-manager/flake.lock
generated
@@ -1,5 +1,62 @@
|
||||
{
|
||||
"nodes": {
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ghostty": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"zig": "zig",
|
||||
"zig2nix": "zig2nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1740954062,
|
||||
"narHash": "sha256-VVsSwi1sTVCL0fijNHqw1hv/546acgxxrTAChl/K254=",
|
||||
"owner": "ghostty-org",
|
||||
"repo": "ghostty",
|
||||
"rev": "ee8ae196ee0fad3824c7ae9eac947f2128b4ae4f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ghostty-org",
|
||||
"repo": "ghostty",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -7,11 +64,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734366194,
|
||||
"narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=",
|
||||
"lastModified": 1739757849,
|
||||
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f",
|
||||
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -23,11 +80,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1734875076,
|
||||
"narHash": "sha256-Pzyb+YNG5u3zP79zoi8HXYMs15Q5dfjDgwCdUI5B0nY=",
|
||||
"lastModified": 1740932899,
|
||||
"narHash": "sha256-F0qDu2egq18M3edJwEOAE+D+VQ+yESK6YWPRQBfOqq8=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1807c2b91223227ad5599d7067a61665c52d1295",
|
||||
"rev": "1546c45c538633ae40b93e2d14e0bb6fd8f13347",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -37,13 +94,45 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1734649271,
|
||||
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
|
||||
"lastModified": 1738255539,
|
||||
"narHash": "sha256-hP2eOqhIO/OILW+3moNWO4GtdJFYCqAe9yJZgvlCoDQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
|
||||
"rev": "c3511a3b53b482aa7547c9d1626fd7310c1de1c5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "release-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1738136902,
|
||||
"narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9a5db3142ce450045840cc8d832b13b8a2018e0c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1741010256,
|
||||
"narHash": "sha256-WZNlK/KX7Sni0RyqLSqLPbK8k08Kq7H7RijPJbq9KHM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ba487dbc9d04e0634c64e3b1f0d25839a0a68246",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -55,9 +144,79 @@
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"ghostty": "ghostty",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||
"nixpkgs-unstable": "nixpkgs-unstable_2"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zig": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"ghostty"
|
||||
],
|
||||
"flake-utils": [
|
||||
"ghostty",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"ghostty",
|
||||
"nixpkgs-stable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738239110,
|
||||
"narHash": "sha256-Y5i9mQ++dyIQr+zEPNy+KIbc5wjPmfllBrag3cHZgcE=",
|
||||
"owner": "mitchellh",
|
||||
"repo": "zig-overlay",
|
||||
"rev": "1a8fb6f3a04724519436355564b95fce5e272504",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "mitchellh",
|
||||
"repo": "zig-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zig2nix": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"ghostty",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"ghostty",
|
||||
"nixpkgs-stable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738263917,
|
||||
"narHash": "sha256-j/3fwe2pEOquHabP/puljOKwAZFjIE9gXZqA91sC48M=",
|
||||
"owner": "jcollie",
|
||||
"repo": "zig2nix",
|
||||
"rev": "c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "jcollie",
|
||||
"ref": "c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a",
|
||||
"repo": "zig2nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
url = "github:nix-community/home-manager/release-24.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
ghostty.url = "github:ghostty-org/ghostty";
|
||||
};
|
||||
|
||||
outputs =
|
||||
@@ -17,6 +18,7 @@
|
||||
nixpkgs,
|
||||
nixpkgs-unstable,
|
||||
home-manager,
|
||||
ghostty,
|
||||
}:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
@@ -31,11 +33,15 @@
|
||||
in
|
||||
{
|
||||
homeConfigurations = {
|
||||
"mennos-gamingpc" = home-manager.lib.homeManagerConfiguration {
|
||||
"mennos-desktop" = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
modules = [ ./home.nix ];
|
||||
extraSpecialArgs = {
|
||||
inherit pkgs pkgs-unstable;
|
||||
inherit
|
||||
pkgs
|
||||
pkgs-unstable
|
||||
ghostty
|
||||
;
|
||||
isServer = false;
|
||||
hostname = "mennos-gamingpc";
|
||||
};
|
||||
@@ -45,7 +51,10 @@
|
||||
inherit pkgs;
|
||||
modules = [ ./home.nix ];
|
||||
extraSpecialArgs = {
|
||||
inherit pkgs pkgs-unstable;
|
||||
inherit
|
||||
pkgs
|
||||
pkgs-unstable
|
||||
;
|
||||
isServer = true;
|
||||
hostname = "mennos-server";
|
||||
};
|
||||
@@ -55,7 +64,11 @@
|
||||
inherit pkgs;
|
||||
modules = [ ./home.nix ];
|
||||
extraSpecialArgs = {
|
||||
inherit pkgs pkgs-unstable;
|
||||
inherit
|
||||
pkgs
|
||||
pkgs-unstable
|
||||
ghostty
|
||||
;
|
||||
isServer = false;
|
||||
hostname = "mennos-laptop";
|
||||
};
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
nixfmt-rfc-style
|
||||
wget
|
||||
fastfetch
|
||||
gpredict
|
||||
|
||||
# Package management
|
||||
pipx
|
||||
@@ -99,6 +100,9 @@
|
||||
|
||||
# Editors
|
||||
neovim
|
||||
## Neovim plugins
|
||||
vimPlugins.LazyVim
|
||||
|
||||
nano
|
||||
micro
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [ ];
|
||||
home.packages = with pkgs; [ ddrescue ];
|
||||
}
|
||||
|
||||
6
config/home-manager/packages/workstation/ghostty.nix
Normal file
6
config/home-manager/packages/workstation/ghostty.nix
Normal file
@@ -0,0 +1,6 @@
|
||||
{ ghostty, pkgs, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
ghostty.packages.${pkgs.system}.default
|
||||
];
|
||||
}
|
||||
@@ -17,11 +17,10 @@
|
||||
wmctrl # Window manager control (Used in ulauncher)
|
||||
gparted # Used to nuke Windows off of my system
|
||||
rpi-imager # Raspberry Pi OS image writer
|
||||
kitty # Terminal emulator
|
||||
kitty-themes # Kitty terminal themes
|
||||
pavucontrol # PulseAudio volume control
|
||||
qrencode # qr code generator
|
||||
grimblast # Screenshot tool
|
||||
ptyxis # Terminal emulator
|
||||
|
||||
## Chat Apps
|
||||
telegram-desktop
|
||||
|
||||
7
config/home-manager/packages/workstation/steam.nix
Normal file
7
config/home-manager/packages/workstation/steam.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{ pkgs, pkgs-unstable, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
steamcmd
|
||||
steam-tui
|
||||
];
|
||||
}
|
||||
@@ -16,7 +16,7 @@ let
|
||||
render-on-screen = "mouse-pointer-monitor";
|
||||
show-indicator-icon = true;
|
||||
show-recent-apps = "4";
|
||||
terminal-command = "kgx";
|
||||
terminal-command = "ghostty";
|
||||
theme-name = "dark";
|
||||
};
|
||||
|
||||
|
||||
@@ -1,142 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 30;
|
||||
spacing = 4;
|
||||
modules-left = [
|
||||
"hyprland/workspaces"
|
||||
"hyprland/window"
|
||||
];
|
||||
modules-center = [ "clock" ];
|
||||
modules-right = [
|
||||
"pulseaudio"
|
||||
"network"
|
||||
"tray"
|
||||
];
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
format = "{icon}";
|
||||
on-click = "activate";
|
||||
sort-by-number = true;
|
||||
};
|
||||
|
||||
"clock" = {
|
||||
format = "{:%H:%M}";
|
||||
format-alt = "{:%Y-%m-%d}";
|
||||
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||
};
|
||||
|
||||
"network" = {
|
||||
format-wifi = "{essid} ({signalStrength}%) ";
|
||||
format-ethernet = "{ipaddr}/{cidr} ";
|
||||
tooltip-format = "{ifname} via {gwaddr} ";
|
||||
format-linked = "{ifname} (No IP) ";
|
||||
format-disconnected = "Disconnected ⚠";
|
||||
format-alt = "{ifname}: {ipaddr}/{cidr}";
|
||||
};
|
||||
|
||||
"pulseaudio" = {
|
||||
format = "{volume}% {icon} {format_source}";
|
||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||
format-bluetooth-muted = " {icon} {format_source}";
|
||||
format-muted = " {format_source}";
|
||||
format-source = "{volume}% ";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
on-click = "pavucontrol";
|
||||
};
|
||||
|
||||
"tray" = {
|
||||
icon-size = 21;
|
||||
spacing = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
style = ''
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: "JetBrainsMono Nerd Font";
|
||||
font-size: 13px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: rgba(21, 18, 27, 0.6);
|
||||
color: #cdd6f4;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background: #1e1e2e;
|
||||
border-radius: 10px;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
border-color: #11111b;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 5px;
|
||||
color: #313244;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: #a6adc8;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
color: #a6adc8;
|
||||
background: #eba0ac;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
color: #11111b;
|
||||
background: #a6e3a1;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: #11111b;
|
||||
color: #cdd6f4;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#workspaces,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#tray {
|
||||
background: #1e1e2e;
|
||||
padding: 0px 10px;
|
||||
margin: 3px 0px;
|
||||
margin-top: 10px;
|
||||
border: 1px solid #181825;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -30,7 +30,7 @@
|
||||
};
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal" = {
|
||||
binding = "<Ctrl><Alt>t";
|
||||
command = "kgx";
|
||||
command = "ptyxis --new-window"; # ghostty doesn't work on Fedora atm
|
||||
name = "terminal";
|
||||
};
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/emotes" = {
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
general {
|
||||
lock_cmd = hyprlock # command to lock the screen
|
||||
ignore_dbus_inhibit = false # whether to ignore dbus-sent idle-inhibit requests (used by e.g. firefox or steam)
|
||||
ignore_systemd_inhibit = false # whether to ignore systemd-inhibit --what=idle inhibitors
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 300 # 5 minutes (300 seconds)
|
||||
on-timeout = hyprlock
|
||||
}
|
||||
@@ -1,310 +0,0 @@
|
||||
# Refer to the wiki for more information.
|
||||
# https://wiki.hyprland.org/Configuring/
|
||||
|
||||
################
|
||||
### MONITORS ###
|
||||
################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor=eDP-1, highrr, 0x0, 1
|
||||
monitor=DP-2, highrr, 2560x0, 1
|
||||
|
||||
|
||||
###################
|
||||
### MY PROGRAMS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
|
||||
# Set programs that you use
|
||||
$terminal = kitty
|
||||
$fileManager = nautilus
|
||||
$menu = ulauncher-wrapped --no-window-shadow --hide-window
|
||||
|
||||
|
||||
#################
|
||||
### AUTOSTART ###
|
||||
#################
|
||||
|
||||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||
# Or execute your favorite apps at launch like this:
|
||||
|
||||
# exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||
# exec-once = gnome-keyring-daemon --start --components=secrets,pkcs11,ssh
|
||||
exec-once = hypridle
|
||||
exec-once = waybar
|
||||
exec-once = hyprpaper
|
||||
exec-once = dotf auto-start
|
||||
|
||||
#############################
|
||||
### ENVIRONMENT VARIABLES ###
|
||||
#############################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
||||
|
||||
env = XCURSOR_SIZE,16
|
||||
env = HYPRCURSOR_SIZE,16
|
||||
|
||||
|
||||
#####################
|
||||
### LOOK AND FEEL ###
|
||||
#####################
|
||||
|
||||
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||
general {
|
||||
gaps_in = 4
|
||||
gaps_out = 16
|
||||
|
||||
border_size = 2
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
||||
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
col.inactive_border = rgba(595959aa)
|
||||
|
||||
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||
resize_on_border = true
|
||||
extend_border_grab_area = 16
|
||||
hover_icon_on_border = true
|
||||
|
||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = false
|
||||
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||
decoration {
|
||||
rounding = 10
|
||||
|
||||
# Change transparency of focused and unfocused windows
|
||||
active_opacity = 1.0
|
||||
inactive_opacity = 1.0
|
||||
|
||||
shadow {
|
||||
enabled = true
|
||||
range = 4
|
||||
render_power = 3
|
||||
color = rgba(1a1a1aee)
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 1
|
||||
|
||||
vibrancy = 0.1696
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
||||
animations {
|
||||
enabled = yes, please :)
|
||||
|
||||
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
bezier = easeOutQuint,0.23,1,0.32,1
|
||||
bezier = easeInOutCubic,0.65,0.05,0.36,1
|
||||
bezier = linear,0,0,1,1
|
||||
bezier = almostLinear,0.5,0.5,0.75,1.0
|
||||
bezier = quick,0.15,0,0.1,1
|
||||
|
||||
animation = global, 1, 10, default
|
||||
animation = border, 1, 5.39, easeOutQuint
|
||||
animation = windows, 1, 4.79, easeOutQuint
|
||||
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
|
||||
animation = windowsOut, 1, 1.49, linear, popin 87%
|
||||
animation = fadeIn, 1, 1.73, almostLinear
|
||||
animation = fadeOut, 1, 1.46, almostLinear
|
||||
animation = fade, 1, 3.03, quick
|
||||
animation = layers, 1, 3.81, easeOutQuint
|
||||
animation = layersIn, 1, 4, easeOutQuint, fade
|
||||
animation = layersOut, 1, 1.5, linear, fade
|
||||
animation = fadeLayersIn, 1, 1.79, almostLinear
|
||||
animation = fadeLayersOut, 1, 1.39, almostLinear
|
||||
animation = workspaces, 1, 1.94, almostLinear, fade
|
||||
animation = workspacesIn, 1, 1.21, almostLinear, fade
|
||||
animation = workspacesOut, 1, 1.94, almostLinear, fade
|
||||
}
|
||||
|
||||
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
|
||||
# "Smart gaps" / "No gaps when only"
|
||||
# uncomment all if you wish to use that.
|
||||
# workspace = w[tv1], gapsout:0, gapsin:0
|
||||
# workspace = f[1], gapsout:0, gapsin:0
|
||||
# windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1]
|
||||
# windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1]
|
||||
# windowrulev2 = bordersize 0, floating:0, onworkspace:f[1]
|
||||
# windowrulev2 = rounding 0, floating:0, onworkspace:f[1]
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
dwindle {
|
||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = true # You probably want this
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
master {
|
||||
new_status = master
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
||||
misc {
|
||||
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
|
||||
}
|
||||
|
||||
|
||||
#############
|
||||
### INPUT ###
|
||||
#############
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant = euro
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
|
||||
# 0 = no, 1 = yes, 2 = on click
|
||||
follow_mouse = 1
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
touchpad {
|
||||
natural_scroll = false
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures {
|
||||
workspace_swipe = false
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||
device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
|
||||
###################
|
||||
### KEYBINDINGS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
$mainMod = SUPER
|
||||
$superMod = SUPER
|
||||
$shiftMod = SHIFT
|
||||
$altMod = ALT
|
||||
$ctrlMod = CTRL
|
||||
$spaceMod = SPACE
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = $ctrlMod $altMod, T, exec, $terminal
|
||||
bind = $ctrlMod $altMod, SPACE, exec, 1password --quick-access
|
||||
bind = $mainMod, L, exec, hyprlock
|
||||
bind = $mainMod, C, killactive,
|
||||
bind = $mainMod, M, exit,
|
||||
bind = $mainMod, E, exec, $fileManager
|
||||
bind = $mainMod, V, togglefloating,
|
||||
bind = $ctrlMod, SPACE, exec, ulauncher-toggle
|
||||
bind = $mainMod, R, exec, $menu
|
||||
bind = $mainMod, J, togglesplit, dwindle
|
||||
bind = $altMod $shiftMod, 4, exec, grimblast --cursor copy area
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + $shiftMod + [0-9]
|
||||
bind = $mainMod $shiftMod, 1, movetoworkspace, 1
|
||||
bind = $mainMod $shiftMod, 2, movetoworkspace, 2
|
||||
bind = $mainMod $shiftMod, 3, movetoworkspace, 3
|
||||
bind = $mainMod $shiftMod, 4, movetoworkspace, 4
|
||||
bind = $mainMod $shiftMod, 5, movetoworkspace, 5
|
||||
bind = $mainMod $shiftMod, 6, movetoworkspace, 6
|
||||
bind = $mainMod $shiftMod, 7, movetoworkspace, 7
|
||||
bind = $mainMod $shiftMod, 8, movetoworkspace, 8
|
||||
bind = $mainMod $shiftMod, 9, movetoworkspace, 9
|
||||
bind = $mainMod $shiftMod, 0, movetoworkspace, 10
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, S, togglespecialworkspace, magic
|
||||
bind = $mainMod $shiftMod, S, movetoworkspace, special:magic
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
# Laptop multimedia keys for volume and LCD brightness
|
||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
|
||||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
|
||||
|
||||
# Requires playerctl
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||
|
||||
##############################
|
||||
### WINDOWS AND WORKSPACES ###
|
||||
##############################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
||||
|
||||
# Keep Ulauncher and 1Password focused since they both use a sort of quick-access window
|
||||
windowrule = stayfocused,^(Ulauncher)$
|
||||
|
||||
# Ignore maximize requests from apps. You'll probably like this.
|
||||
windowrulev2 = suppressevent maximize, class:.*
|
||||
|
||||
# Fix some dragging issues with XWayland
|
||||
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
||||
|
||||
plugin {
|
||||
hyprbars {
|
||||
bar_color = rgba(2a2a2aee)
|
||||
bar_height = 24
|
||||
col.text = rgba(ffffffdd)
|
||||
bar_text_size = 10
|
||||
bar_text_font = Sans
|
||||
|
||||
hyprbars-button = rgb(ff4040), 16,, hyprctl dispatch killactive
|
||||
hyprbars-button = rgb(eeee11), 16,, hyprctl dispatch fullscreen 1
|
||||
|
||||
# The rest of these are defaults, but you can change them
|
||||
bar_precedence_over_border = true
|
||||
bar_part_of_window = true
|
||||
bar_button_padding = 6
|
||||
bar_padding = 6
|
||||
}
|
||||
}
|
||||
|
||||
exec-once = hyprctl plugin load /run/current-system/sw/lib/libhyprbars.so
|
||||
@@ -1,65 +0,0 @@
|
||||
# BACKGROUND
|
||||
background {
|
||||
monitor =
|
||||
path = screenshot
|
||||
color = $background
|
||||
blur_passes = 2
|
||||
contrast = 1
|
||||
brightness = 0.5
|
||||
vibrancy = 0.2
|
||||
vibrancy_darkness = 0.2
|
||||
}
|
||||
|
||||
# GENERAL
|
||||
general {
|
||||
no_fade_in = true
|
||||
no_fade_out = true
|
||||
hide_cursor = false
|
||||
grace = 0
|
||||
disable_loading_bar = true
|
||||
}
|
||||
|
||||
# INPUT FIELD
|
||||
input-field {
|
||||
monitor =
|
||||
size = 250, 60
|
||||
outline_thickness = 2
|
||||
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.35 # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true
|
||||
outer_color = rgba(0, 0, 0, 0)
|
||||
inner_color = rgba(0, 0, 0, 0.2)
|
||||
font_color = $foreground
|
||||
fade_on_empty = false
|
||||
rounding = -1
|
||||
check_color = rgb(204, 136, 34)
|
||||
placeholder_text = <i><span foreground="##cdd6f4">Input Password...</span></i>
|
||||
hide_input = false
|
||||
position = 0, -200
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# DATE
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "$(date +"%A, %B %d")"
|
||||
color = rgba(242, 243, 244, 0.75)
|
||||
font_size = 22
|
||||
font_family = JetBrains Mono
|
||||
position = 0, 300
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# TIME
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "$(date +"%-I:%M")"
|
||||
color = rgba(242, 243, 244, 0.75)
|
||||
font_size = 95
|
||||
font_family = JetBrains Mono Extrabold
|
||||
position = 0, 200
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
preload = ~/dotfiles/secrets/wp/9.png
|
||||
|
||||
splash = true
|
||||
|
||||
wallpaper = ,~/dotfiles/secrets/wp/9.png
|
||||
@@ -1,21 +0,0 @@
|
||||
background #202020
|
||||
foreground #d0d0d0
|
||||
cursor #d0d0d0
|
||||
selection_background #303030
|
||||
color0 #151515
|
||||
color8 #505050
|
||||
color1 #ac4142
|
||||
color9 #ac4142
|
||||
color2 #7e8d50
|
||||
color10 #7e8d50
|
||||
color3 #e5b566
|
||||
color11 #e5b566
|
||||
color4 #6c99ba
|
||||
color12 #6c99ba
|
||||
color5 #9e4e85
|
||||
color13 #9e4e85
|
||||
color6 #7dd5cf
|
||||
color14 #7dd5cf
|
||||
color7 #d0d0d0
|
||||
color15 #f5f5f5
|
||||
selection_foreground #202020
|
||||
@@ -1,246 +0,0 @@
|
||||
# vim:fileencoding=utf-8:ft=conf
|
||||
|
||||
# Font family. You can also specify different fonts for the
|
||||
# bold/italic/bold-italic variants. By default they are derived automatically,
|
||||
# by the OSes font system. Setting them manually is useful for font families
|
||||
# that have many weight variants like Book, Medium, Thick, etc. For example:
|
||||
# font_family Operator Mono Book
|
||||
# bold_font Operator Mono Thick
|
||||
# bold_italic_font Operator Mono Medium
|
||||
# font_family Input Mono
|
||||
font_family FiraCode Nerd Font Mono
|
||||
italic_font auto
|
||||
bold_font auto
|
||||
bold_italic_font auto
|
||||
|
||||
# Font size (in pts)
|
||||
font_size 16.0
|
||||
|
||||
# The foreground color
|
||||
foreground #c0b18b
|
||||
|
||||
# The background color
|
||||
background #262626
|
||||
background_opacity 0.9
|
||||
# The foreground for selections
|
||||
selection_foreground #2f2f2f
|
||||
|
||||
# The background for selections
|
||||
selection_background #d75f5f
|
||||
|
||||
# The cursor color
|
||||
cursor #8fee96
|
||||
|
||||
# The cursor shape can be one of (block, beam, underline)
|
||||
cursor_shape block
|
||||
|
||||
# The interval (in seconds) at which to blink the cursor. Set to zero to
|
||||
# disable blinking.
|
||||
cursor_blink_interval 0.5
|
||||
|
||||
# Stop blinking cursor after the specified number of seconds of keyboard inactivity. Set to
|
||||
# zero or a negative number to never stop blinking.
|
||||
cursor_stop_blinking_after 15.0
|
||||
|
||||
# Number of lines of history to keep in memory for scrolling back
|
||||
scrollback_lines 2000
|
||||
|
||||
# Program with which to view scrollback in a new window. The scrollback buffer is passed as
|
||||
# STDIN to this program. If you change it, make sure the program you use can
|
||||
# handle ANSI escape sequences for colors and text formatting.
|
||||
scrollback_pager less +G -R
|
||||
|
||||
# Wheel scroll multiplier (modify the amount scrolled by the mouse wheel)
|
||||
wheel_scroll_multiplier 5.0
|
||||
|
||||
# The interval between successive clicks to detect double/triple clicks (in seconds)
|
||||
click_interval 0.5
|
||||
|
||||
# Characters considered part of a word when double clicking. In addition to these characters
|
||||
# any character that is marked as an alpha-numeric character in the unicode
|
||||
# database will be matched.
|
||||
select_by_word_characters :@-./_~?&=%+#
|
||||
|
||||
# Hide mouse cursor after the specified number of seconds of the mouse not being used. Set to
|
||||
# zero or a negative number to disable mouse cursor hiding.
|
||||
mouse_hide_wait 0.0
|
||||
|
||||
# The enabled window layouts. A comma separated list of layout names. The special value * means
|
||||
# all layouts. The first listed layout will be used as the startup layout.
|
||||
# For a list of available layouts, see the file layouts.py
|
||||
enabled_layouts *
|
||||
|
||||
# If enabled, the window size will be remembered so that new instances of kitty will have the same
|
||||
# size as the previous instance. If disabled, the window will initially have size configured
|
||||
# by initial_window_width/height, in pixels.
|
||||
remember_window_size no
|
||||
initial_window_width 640
|
||||
initial_window_height 400
|
||||
|
||||
# Delay (in milliseconds) between screen updates. Decreasing it, increases fps
|
||||
# at the cost of more CPU usage. The default value yields ~100fps which is more
|
||||
# that sufficient for most uses.
|
||||
# repaint_delay 10
|
||||
repaint_delay 10
|
||||
|
||||
# Delay (in milliseconds) before input from the program running in the terminal
|
||||
# is processed. Note that decreasing it will increase responsiveness, but also
|
||||
# increase CPU usage and might cause flicker in full screen programs that
|
||||
# redraw the entire screen on each loop, because kitty is so fast that partial
|
||||
# screen updates will be drawn.
|
||||
input_delay 3
|
||||
|
||||
# Visual bell duration. Flash the screen when a bell occurs for the specified number of
|
||||
# seconds. Set to zero to disable.
|
||||
visual_bell_duration 0.0
|
||||
|
||||
# Enable/disable the audio bell. Useful in environments that require silence.
|
||||
enable_audio_bell no
|
||||
|
||||
# The modifier keys to press when clicking with the mouse on URLs to open the URL
|
||||
open_url_modifiers ctrl+shift
|
||||
|
||||
# The program with which to open URLs that are clicked on. The special value "default" means to
|
||||
# use the operating system's default URL handler.
|
||||
open_url_with default
|
||||
|
||||
# The value of the TERM environment variable to set
|
||||
term xterm-kitty
|
||||
|
||||
# The width (in pts) of window borders. Will be rounded to the nearest number of pixels based on screen resolution.
|
||||
window_border_width 0
|
||||
|
||||
window_margin_width 15
|
||||
|
||||
# The color for the border of the active window
|
||||
active_border_color #ffffff
|
||||
|
||||
# The color for the border of inactive windows
|
||||
inactive_border_color #cccccc
|
||||
|
||||
# Tab-bar colors
|
||||
active_tab_foreground #000
|
||||
active_tab_background #eee
|
||||
inactive_tab_foreground #444
|
||||
inactive_tab_background #999
|
||||
|
||||
|
||||
# The 16 terminal colors. There are 8 basic colors, each color has a dull and
|
||||
# bright version.
|
||||
|
||||
# black
|
||||
color0 #2f2f2f
|
||||
color8 #656565
|
||||
|
||||
# red
|
||||
color1 #d75f5f
|
||||
color9 #d75f5f
|
||||
|
||||
# green
|
||||
color2 #d4d232
|
||||
color10 #8fee96
|
||||
|
||||
# yellow
|
||||
color3 #af865a
|
||||
color11 #cd950c
|
||||
|
||||
# blue
|
||||
color4 #22c3a1
|
||||
color12 #22c3a1
|
||||
|
||||
# magenta
|
||||
color5 #775759
|
||||
color13 #775759
|
||||
|
||||
# cyan
|
||||
color6 #84edb9
|
||||
color14 #84edb9
|
||||
|
||||
# white
|
||||
color7 #c0b18b
|
||||
color15 #d8d8d8
|
||||
|
||||
# Key mapping
|
||||
# For a list of key names, see: http://www.glfw.org/docs/latest/group__keys.html
|
||||
# For a list of modifier names, see: http://www.glfw.org/docs/latest/group__mods.html
|
||||
# You can use the special action no_op to unmap a keyboard shortcut that is
|
||||
# assigned in the default configuration.
|
||||
|
||||
# Clipboard
|
||||
map super+v paste_from_clipboard
|
||||
map ctrl+shift+s paste_from_selection
|
||||
map super+c copy_to_clipboard
|
||||
map shift+insert paste_from_selection
|
||||
|
||||
# Scrolling
|
||||
map ctrl+shift+up scroll_line_up
|
||||
map ctrl+shift+down scroll_line_down
|
||||
map ctrl+shift+k scroll_line_up
|
||||
map ctrl+shift+j scroll_line_down
|
||||
map ctrl+shift+page_up scroll_page_up
|
||||
map ctrl+shift+page_down scroll_page_down
|
||||
map ctrl+shift+home scroll_home
|
||||
map ctrl+shift+end scroll_end
|
||||
map ctrl+shift+h show_scrollback
|
||||
|
||||
# Window management
|
||||
map super+n new_os_window
|
||||
map super+w close_window
|
||||
map ctrl+shift+enter new_window
|
||||
map ctrl+shift+] next_window
|
||||
map ctrl+shift+[ previous_window
|
||||
map ctrl+shift+f move_window_forward
|
||||
map ctrl+shift+b move_window_backward
|
||||
map ctrl+shift+` move_window_to_top
|
||||
map ctrl+shift+1 first_window
|
||||
map ctrl+shift+2 second_window
|
||||
map ctrl+shift+3 third_window
|
||||
map ctrl+shift+4 fourth_window
|
||||
map ctrl+shift+5 fifth_window
|
||||
map ctrl+shift+6 sixth_window
|
||||
map ctrl+shift+7 seventh_window
|
||||
map ctrl+shift+8 eighth_window
|
||||
map ctrl+shift+9 ninth_window
|
||||
map ctrl+shift+0 tenth_window
|
||||
|
||||
# Tab management
|
||||
map ctrl+shift+right next_tab
|
||||
map ctrl+shift+left previous_tab
|
||||
map ctrl+shift+t new_tab
|
||||
map ctrl+shift+q close_tab
|
||||
map ctrl+shift+l next_layout
|
||||
map ctrl+shift+. move_tab_forward
|
||||
map ctrl+shift+, move_tab_backward
|
||||
|
||||
# Miscellaneous
|
||||
map ctrl+shift+up increase_font_size
|
||||
map ctrl+shift+down decrease_font_size
|
||||
map ctrl+shift+backspace restore_font_size
|
||||
|
||||
# Symbol mapping (special font for specified unicode code points). Map the
|
||||
# specified unicode codepoints to a particular font. Useful if you need special
|
||||
# rendering for some symbols, such as for Powerline. Avoids the need for
|
||||
# patched fonts. Each unicode code point is specified in the form U+<code point
|
||||
# in hexadecimal>. You can specify multiple code points, separated by commas
|
||||
# and ranges separated by hyphens. symbol_map itself can be specified multiple times.
|
||||
# Syntax is:
|
||||
#
|
||||
# symbol_map codepoints Font Family Name
|
||||
#
|
||||
# For example:
|
||||
#
|
||||
#symbol_map U+E0A0-U+E0A2,U+E0B0-U+E0B3 PowerlineSymbols
|
||||
hide_window_decorations yes
|
||||
macos_option_as_alt no
|
||||
remember_window_size no
|
||||
initial_window_width 2500
|
||||
initial_window_height 1380
|
||||
|
||||
# Change the color of the kitty window's titlebar on macOS. A value of "system"
|
||||
# means to use the default system color, a value of "background" means to use
|
||||
# the default background color and finally you can use an arbitrary color, such
|
||||
# as #12af59 or "red".
|
||||
macos_titlebar_color background
|
||||
|
||||
allow_remote_control yes
|
||||
include ./theme.conf
|
||||
424
config/nixos/flake.lock
generated
424
config/nixos/flake.lock
generated
@@ -1,333 +1,48 @@
|
||||
{
|
||||
"nodes": {
|
||||
"aquamarine": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprland",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734906446,
|
||||
"narHash": "sha256-6OWluVE2A8xi+8V3jN9KA72RCgJjYdyyuLBUjxZ2q2U=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "eecb74dc79bb6752a2a507e6edee3042390a6091",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"lastModified": 1717312683,
|
||||
"narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"owner": "nix-community",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"nixos-cosmic": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"pre-commit-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprcursor": {
|
||||
"inputs": {
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734906540,
|
||||
"narHash": "sha256-vQ/L9hZFezC0LquLo4TWXkyniWtYBlFHAKIsDc7PYJE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"rev": "69270ba8f057d55b0e6c2dca0e165d652856e613",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprgraphics": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734906236,
|
||||
"narHash": "sha256-vH/ysV2ONGQgYZPtcJKwc8jJivzyVxru2aaOxC20ZOE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"rev": "6dea3fba08fd704dd624b6d4b261638fb4003c9c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland": {
|
||||
"inputs": {
|
||||
"aquamarine": "aquamarine",
|
||||
"hyprcursor": "hyprcursor",
|
||||
"hyprgraphics": "hyprgraphics",
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"hyprland-qtutils": "hyprland-qtutils",
|
||||
"hyprlang": "hyprlang",
|
||||
"hyprutils": "hyprutils",
|
||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"pre-commit-hooks": "pre-commit-hooks",
|
||||
"systems": "systems",
|
||||
"xdph": "xdph"
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734988658,
|
||||
"narHash": "sha256-SSPQCHeqMRsR6rhONWFAHDMtQ5NEKnU8G2BktlDwIoY=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland",
|
||||
"rev": "2e2e2e2cad97eb017ab02f8a67b751e0abe3bb72",
|
||||
"lastModified": 1741055622,
|
||||
"narHash": "sha256-z1y6MSfJ9pntwJ7YCkjNyGnqvYMHMnB9kH3v5Z/g9vQ=",
|
||||
"owner": "lilyinstarlight",
|
||||
"repo": "nixos-cosmic",
|
||||
"rev": "f3f91440dfd18518445d9ab757cf3e540c7fd6ab",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-plugins": {
|
||||
"inputs": {
|
||||
"hyprland": [
|
||||
"hyprland"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland-plugins",
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland-plugins",
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734887159,
|
||||
"narHash": "sha256-boPq+l4/D/Q+MvDqAI79fCdp/3Dit57YBuPbXa1cjW0=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-plugins",
|
||||
"rev": "859b9cd371b4e1bf1043cedc8ab6c514e13ab358",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-plugins",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-protocols": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728345020,
|
||||
"narHash": "sha256-xGbkc7U/Roe0/Cv3iKlzijIaFBNguasI31ynL2IlEoM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "a7c183800e74f337753de186522b9017a07a8cee",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-qtutils": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734906472,
|
||||
"narHash": "sha256-pWPRv/GA/X/iAwoE6gMNUqn/ZeJX1IeLPRpZI0tTPK0=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qtutils",
|
||||
"rev": "c77109d7e1ddbcdb87cafd32ce411f76328ae152",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qtutils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprlang": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734906259,
|
||||
"narHash": "sha256-P79t/7HbACO4/PuJBroGpTptvCWJtXTv+gWsF+sM6MI=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "0404833ea18d543df44df935ebf1b497310eb046",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprutils": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734796073,
|
||||
"narHash": "sha256-TnuKsa8OHrSJEmHm3TLGOWbPNA1gRjmZLsRzKrCqOsg=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "c3331116ebd0b71df5ae8c6efe9a7f94148b03bf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprwayland-scanner": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734793513,
|
||||
"narHash": "sha256-rrrHcXapXJvGFqX+L/Bb0182L25jofAZ0fm1FInvrTQ=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"rev": "4d7367b6eee87397e2dbca2e78078dd0a4ef4c61",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"owner": "lilyinstarlight",
|
||||
"repo": "nixos-cosmic",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1734649271,
|
||||
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
|
||||
"lastModified": 1740828860,
|
||||
"narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
|
||||
"rev": "303bd8071377433a2d8f76e684ec773d70c5b642",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -339,27 +54,27 @@
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1730741070,
|
||||
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
|
||||
"lastModified": 1740865531,
|
||||
"narHash": "sha256-h00vGIh/jxcGl8aWdfnVRD74KuLpyY3mZgMFMy7iKIc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
|
||||
"rev": "5ef6c425980847c78a80d759abc476e941a9bf42",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-24.05",
|
||||
"ref": "nixos-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1734649271,
|
||||
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
|
||||
"lastModified": 1741010256,
|
||||
"narHash": "sha256-WZNlK/KX7Sni0RyqLSqLPbK8k08Kq7H7RijPJbq9KHM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
|
||||
"rev": "ba487dbc9d04e0634c64e3b1f0d25839a0a68246",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -371,11 +86,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1734875076,
|
||||
"narHash": "sha256-Pzyb+YNG5u3zP79zoi8HXYMs15Q5dfjDgwCdUI5B0nY=",
|
||||
"lastModified": 1740932899,
|
||||
"narHash": "sha256-F0qDu2egq18M3edJwEOAE+D+VQ+yESK6YWPRQBfOqq8=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1807c2b91223227ad5599d7067a61665c52d1295",
|
||||
"rev": "1546c45c538633ae40b93e2d14e0bb6fd8f13347",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -385,93 +100,12 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734797603,
|
||||
"narHash": "sha256-ulZN7ps8nBV31SE+dwkDvKIzvN6hroRY8sYOT0w+E28=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "f0f0dc4920a903c3e08f5bdb9246bb572fcae498",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"hyprland": "hyprland",
|
||||
"hyprland-plugins": "hyprland-plugins",
|
||||
"nixos-cosmic": "nixos-cosmic",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xdph": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": [
|
||||
"hyprland",
|
||||
"hyprland-protocols"
|
||||
],
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprland",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734907020,
|
||||
"narHash": "sha256-p6HxwpRKVl1KIiY5xrJdjcEeK3pbmc///UOyV6QER+w=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "d7f18dda5e511749fa1511185db3536208fb1a63",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
||||
@@ -4,12 +4,7 @@
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.11";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
# nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic";
|
||||
hyprland.url = "github:hyprwm/hyprland";
|
||||
hyprland-plugins = {
|
||||
url = "github:hyprwm/hyprland-plugins";
|
||||
inputs.hyprland.follows = "hyprland";
|
||||
};
|
||||
nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic";
|
||||
};
|
||||
|
||||
outputs =
|
||||
@@ -17,9 +12,7 @@
|
||||
self,
|
||||
nixpkgs,
|
||||
nixpkgs-unstable,
|
||||
hyprland,
|
||||
hyprland-plugins,
|
||||
# nixos-cosmic,
|
||||
nixos-cosmic,
|
||||
}:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
@@ -44,7 +37,10 @@
|
||||
./configuration.nix
|
||||
];
|
||||
specialArgs = {
|
||||
inherit pkgs-unstable hyprland hyprland-plugins;
|
||||
inherit
|
||||
pkgs-unstable
|
||||
nixos-cosmic
|
||||
;
|
||||
isWorkstation = true;
|
||||
isServer = false;
|
||||
};
|
||||
@@ -58,7 +54,10 @@
|
||||
./configuration.nix
|
||||
];
|
||||
specialArgs = {
|
||||
inherit pkgs-unstable hyprland hyprland-plugins;
|
||||
inherit
|
||||
pkgs-unstable
|
||||
nixos-cosmic
|
||||
;
|
||||
isWorkstation = true;
|
||||
isServer = false;
|
||||
};
|
||||
|
||||
@@ -60,7 +60,10 @@ in
|
||||
};
|
||||
|
||||
# Enable ZFS support
|
||||
boot.supportedFilesystems = [ "zfs" ];
|
||||
boot.supportedFilesystems = [
|
||||
"ntfs"
|
||||
"zfs"
|
||||
];
|
||||
|
||||
# ZFS system services
|
||||
services.zfs = {
|
||||
|
||||
@@ -2,5 +2,14 @@
|
||||
{
|
||||
# Import all the package modules
|
||||
imports = [
|
||||
./juicefs.nix
|
||||
];
|
||||
|
||||
# Enable JuiceFS
|
||||
services.juicefsCustom = {
|
||||
enable = true;
|
||||
redisUrl = "redis://:your-redis-password@localhost:6379/0";
|
||||
mountPoint = "/mnt/object_storage";
|
||||
cacheDir = "/var/jfsCache";
|
||||
};
|
||||
}
|
||||
|
||||
97
config/nixos/packages/server/juicefs.nix
Normal file
97
config/nixos/packages/server/juicefs.nix
Normal file
@@ -0,0 +1,97 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.juicefsCustom;
|
||||
in {
|
||||
options.services.juicefsCustom = {
|
||||
enable = mkEnableOption "JuiceFS custom mount service";
|
||||
|
||||
mountPoint = mkOption {
|
||||
type = types.str;
|
||||
default = "/mnt/object_storage";
|
||||
description = "Directory where JuiceFS should mount the filesystem";
|
||||
};
|
||||
|
||||
cacheDir = mkOption {
|
||||
type = types.str;
|
||||
default = "/var/jfsCache";
|
||||
description = "Directory for JuiceFS cache";
|
||||
};
|
||||
|
||||
cacheSize = mkOption {
|
||||
type = types.int;
|
||||
default = 204800;
|
||||
description = "Cache size in MiB";
|
||||
};
|
||||
|
||||
redisUrl = mkOption {
|
||||
type = types.str;
|
||||
default = "redis://:PASSWORD@localhost:6379/0";
|
||||
description = "Redis URL for metadata storage (replace PASSWORD with actual password)";
|
||||
};
|
||||
|
||||
bufferSize = mkOption {
|
||||
type = types.int;
|
||||
default = 1024;
|
||||
description = "Buffer size in MiB";
|
||||
};
|
||||
|
||||
prefetch = mkOption {
|
||||
type = types.int;
|
||||
default = 4;
|
||||
description = "Prefetch size";
|
||||
};
|
||||
|
||||
attrCache = mkOption {
|
||||
type = types.int;
|
||||
default = 3;
|
||||
description = "Attribute cache expiration time in seconds";
|
||||
};
|
||||
|
||||
entryCache = mkOption {
|
||||
type = types.int;
|
||||
default = 3;
|
||||
description = "Entry cache expiration time in seconds";
|
||||
};
|
||||
|
||||
openCache = mkOption {
|
||||
type = types.int;
|
||||
default = 3;
|
||||
description = "Open file cache expiration time in seconds";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# Install JuiceFS package
|
||||
environment.systemPackages = [ pkgs.juicefs ];
|
||||
|
||||
# Create the mount and cache directories
|
||||
systemd.tmpfiles.rules = [
|
||||
"d ${cfg.mountPoint} 0755 root root -"
|
||||
"d ${cfg.cacheDir} 0755 root root -"
|
||||
];
|
||||
|
||||
# Add the JuiceFS systemd service
|
||||
systemd.services.juicefs = {
|
||||
description = "JuiceFS Mount Service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
before = [ "docker.service" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.juicefs}/bin/juicefs mount ${cfg.redisUrl} ${cfg.mountPoint} "
|
||||
+ "--cache-dir=${cfg.cacheDir} "
|
||||
+ "--buffer-size=${toString cfg.bufferSize} "
|
||||
+ "--prefetch=${toString cfg.prefetch} "
|
||||
+ "--cache-size=${toString cfg.cacheSize} "
|
||||
+ "--attr-cache=${toString cfg.attrCache} "
|
||||
+ "--entry-cache=${toString cfg.entryCache} "
|
||||
+ "--open-cache=${toString cfg.openCache}";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -2,9 +2,7 @@
|
||||
{
|
||||
# Import all the package modules
|
||||
imports = [
|
||||
./1password.nix
|
||||
./flatpak.nix
|
||||
./steam.nix
|
||||
./hyprland.nix
|
||||
./1password.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
hyprland,
|
||||
hyprland-plugins,
|
||||
...
|
||||
}:
|
||||
{
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
environment.variables = {
|
||||
TERM = "xterm-256color";
|
||||
};
|
||||
|
||||
security.pam.services.login.enableGnomeKeyring = true;
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
package = hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Authentification agent
|
||||
polkit_gnome
|
||||
(writeShellScriptBin "polkit-agent" ''
|
||||
exec ${polkit_gnome}/libexec/polkit-gnome-authentication-agent-1
|
||||
'')
|
||||
|
||||
# Lock screen
|
||||
hyprlock
|
||||
|
||||
# Lock screen idle timer
|
||||
hypridle
|
||||
|
||||
# Notifications
|
||||
swaynotificationcenter
|
||||
|
||||
# Hyprland plugins
|
||||
hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprbars
|
||||
|
||||
# Hyprpaper for wallpapers
|
||||
hyprpaper
|
||||
|
||||
# Playerctl for media keys
|
||||
playerctl
|
||||
|
||||
# network manager applet
|
||||
networkmanagerapplet
|
||||
|
||||
# blueman applet
|
||||
blueman
|
||||
];
|
||||
|
||||
security.polkit.enable = true;
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
# In your configuration.nix
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
# Open ports in the firewall for Steam Remote Play
|
||||
remotePlay.openFirewall = true;
|
||||
# Open ports in the firewall for Source Dedicated Server
|
||||
dedicatedServer.openFirewall = true;
|
||||
# Open ports in the firewall for Steam Local Network Game Transfers
|
||||
localNetworkGameTransfers.openFirewall = true;
|
||||
};
|
||||
}
|
||||
@@ -3,3 +3,6 @@ ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM+sKpcREOUjwMMSzEWAso6830wbOi8kUxqpuXWw5gHr
|
||||
|
||||
# Samsung S24U
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSJwfqOZQxGDbM07JziQeBNirvQxhFd6nEwWPjy1zCo u0_a555@localhost
|
||||
|
||||
# Menno's 2025 SSH Key
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE22Hfx8wgkc57TXX1TCMHcNrCdjbfog5QeHFJfl7IeD mennos-2025-sshkey
|
||||
|
||||
@@ -3,3 +3,6 @@ ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM+sKpcREOUjwMMSzEWAso6830wbOi8kUxqpuXWw5gHr
|
||||
|
||||
# Samsung S24U
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSJwfqOZQxGDbM07JziQeBNirvQxhFd6nEwWPjy1zCo u0_a555@localhost
|
||||
|
||||
# Menno's 2025 SSH Key
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE22Hfx8wgkc57TXX1TCMHcNrCdjbfog5QeHFJfl7IeD mennos-2025-sshkey
|
||||
|
||||
@@ -3,3 +3,6 @@ ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM+sKpcREOUjwMMSzEWAso6830wbOi8kUxqpuXWw5gHr
|
||||
|
||||
# Samsung S24U
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSJwfqOZQxGDbM07JziQeBNirvQxhFd6nEwWPjy1zCo u0_a555@localhost
|
||||
|
||||
# Menno's 2025 SSH Key
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE22Hfx8wgkc57TXX1TCMHcNrCdjbfog5QeHFJfl7IeD mennos-2025-sshkey
|
||||
|
||||
@@ -3,3 +3,6 @@ ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM+sKpcREOUjwMMSzEWAso6830wbOi8kUxqpuXWw5gHr
|
||||
|
||||
# Samsung S24U
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSJwfqOZQxGDbM07JziQeBNirvQxhFd6nEwWPjy1zCo u0_a555@localhost
|
||||
|
||||
# Menno's 2025 SSH Key
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE22Hfx8wgkc57TXX1TCMHcNrCdjbfog5QeHFJfl7IeD mennos-2025-sshkey
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
jA0ECQMIdzswSvGKIFj/0sAIAc0IMa6q0CiEqk/RjpEaea0RpVSxKL8v/E0HyqiC
|
||||
nZBGvcaadZ+uQ/Ndxk3WfehTYuXWZk9gotfoQ91TrvMcCNt0ag6sMdVLHtEzoXWF
|
||||
93wn4UDc9kv56mfU+JnSK5Rv6euXhZ8ZapEqFIvmh7kGkX/nwTJFNU/f6jz0yhaw
|
||||
uu/pa9b9NFpIH7IoelJ2SzJMX3ZhX5aVcY0ojOEvlfRxOGdsOxUK2Ifd9MWV9Tyd
|
||||
Sgsa3uFFcL4STwXNq6umwlfkk/SOqtq5WAA=
|
||||
=Zo/k
|
||||
jA0ECQMIyS/QhVzk8iz/0sAIAYCHd2CTLa3u1Ajj4oj7tqJivyB2moggjt7f0uep
|
||||
qpah5aM35C/BnzMVRkg6CBWbMFhBRYlRaJ7oyQMPlq/OAtDuk4heXhQfqN24PEEb
|
||||
X5SzXFaTtW01HIHy2JNaVaz7qU4RsRctayjPe6jBKfkDrxbLpKtUf1ETNuwqgMOR
|
||||
pyZjgoBO6Wo2DUkeq3cku95ejsX/63XXnTKW0CXwVdvolo7OzdBIfNsiSMTnvnr5
|
||||
s1jFbGH7K3QOz7FcSyanG4gK+z3x6Njaduc=
|
||||
=tmo1
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
jA0ECQMI519bNNdOqtX/0sASAZFH3wmp22L1th/nrq1TY4WHFcQGWe4mh2LFIE+z
|
||||
XWM+UKAYBaE6apC8psVW6/1s+3J5zQrtE2WyWQ+YEGsk+LhgliEXEtmIMF06/xia
|
||||
P1l13eea95sIA0sIG5qkHuMQ6MgkhfIYhfZOW/5T7hCeFxg7LweB1SAi0k11dho1
|
||||
BgaE+kaZDxcphyKKWrbTmfzvUvVXWkN6kOGMCvKg+Rf+of+9On2Jo0Gpm8cz5iSH
|
||||
3fF1U9djpnp4/NphV05b0tJpQWYJXBsGa54VN0ubTUXGjdCT
|
||||
=XFXP
|
||||
jA0ECQMI3rCkM4WCKnn/0sASAQjifcMA4M5hjwkP8dZXxah9d8g8YeofFTPLgPMm
|
||||
zUR7BcyuniGeHkdkPhVIPDU9ea8BB6JVgldGNeHOh0Rj+OdO95RzPkC4VyGlhVC7
|
||||
qoDdy+QQUOVImgEjbNLSOD3VKJzYQMfcmF2X6yZ0TpfOeHZyOmaVXQU+hdIl2g9r
|
||||
zJjzKh2Ukp0VAF+1mp6mcU3fKhwJyffxF1491ExXYM80q1+S247/zLgU1/nQi/u5
|
||||
cX1cV14qi/nFQdmuNlNjahusvSpVtkhsa8TYMRyDP9rr+WdQ
|
||||
=an0w
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
jA0ECQMIMtJCio7/eYP/0sA6AUnti1nRUB47NBp+VFxeWAAkjLj1x+u2124Vm7pI
|
||||
ghbcrcvnpqiqXnlNeibhIFyuU/12Lfsy27mCYZZgH/bVik10gGIi1Xu4sGUujLSU
|
||||
zB8R2GjceTbqSDMUp3XWEMSjmNRweNnwBMesJVVuwJfw7HIiIdsYIJMINCVO4m3O
|
||||
7YQ8tJrmfc4q7q15ZcV/uU/AQVydw+o3yElnO/fiuiXUxuMP/KdZJNJ7zSX+CRL7
|
||||
bV29m19w58iUouXGLUgLvKU/1x+siOcJh9zTEM+IeFspz5Gr9BlUZFiewuR6NuP7
|
||||
MsppiqYsH1be70J26FfTki9G8sOVR4BjVdNW1w==
|
||||
=3d5a
|
||||
jA0ECQMIECtNQigofUT/0sA7AfQFumfYw02g3y4nQuPYrfbgyHuMVCsMk+nLlcLb
|
||||
5I+zgR8c1ie/S5XBk3wLlJ0suhb8m4ifZOJoRcIW7G+ISTPjIetaJQnkvObKUBgG
|
||||
QXz54oWcQYXMeaGcEq442gU0x+S3HVU2GcIhRdiUuZ5DYbaEsYnLcPLBrp73a/wE
|
||||
+hb3IZC1zGcijpC4ovcVVAZvHUaKpV0hCzJXNGgvPW0H7/GRxQyPKjghUQ7DgCRu
|
||||
4u7t/GU2JDrep+nteUu5Rs+P7bypZdyripMj6BxoqHmwjj1ddeSK7Bv602Nt+7/n
|
||||
Bcg8xpViAasXREuaR3Z6r9SFlex7qbQjMMBtb2M=
|
||||
=wrl9
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
jA0ECQMIzH98wOyu8vL/0sAdAdNq59gT7UxaXaNy/ezeziTtcyJm3JFFzC3hFPCd
|
||||
OYrDYiJgDqjDXNVEyPR24ffXSk+WbfSQEqEd9KCaSiFueP8d+IMMzHtHsgMrx+sT
|
||||
v4G88/gsQpBbxVUs6yktCVmchlsbgshflajhigfHqbSSUp/DramW4ueKRSUEixty
|
||||
IoUvTEJqE7VWMC2QBaPtpn6tBqNtQyQZtzQFMdjH4xXa4eQZkIgZo4YZt1rXxUkK
|
||||
eTUZjRCRRDyiJSlh6dK+R++eUh2NcN97f/ThPUPxhKTLAml1obfqcW2JFc+xp9Y=
|
||||
=+WWh
|
||||
jA0ECQMILwzTWNDBbZX/0sAeAQMlmiKRJM5YPtC78LvlLroqE5R6hysJq1nGV34U
|
||||
CcY7XmuLz/Bvx2/ZGE1urY48AmgNZraiKOh8kfTG5T7dCTqrkMiz1MpNRYVdnXvW
|
||||
LOanl3+alv6tmosD52zn4vRmRCnIaqE/k6ne+NV4BuRj0u9qWLoNI/7uGFnjcvI3
|
||||
mGYlDF7ArQH0gVpmW8wmlNFzMPe4ccqWMjGbpB1h3TEALy4nh2wwNH5PvF1FKesJ
|
||||
iq4Vvhslo8LbyjQdkA7/fPlYEu1MDJKDCaHWwmAevMwNuGNLrdupyOf2KkHSYmUB
|
||||
=ULsR
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
@@ -1,34 +1,34 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
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
|
||||
byTxf7j9BRGGrslm
|
||||
=+LIn
|
||||
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
|
||||
PppWvUzUlOlJJPetJb5F
|
||||
=U7VL
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
jA0ECQMIKAqIdDLxbRz/0sCVARMDv657J+xXkIKk4c1zesqgKfLc1/6O1Fd2Ftho
|
||||
7Sc1g74tXidtPEerJPT1baZbVDNc0EC2p55sNxpB1e7jgvzbgBebTulTz5u1g77Z
|
||||
v83ei7O9Zcb1e/NeuH+BXc5IJFqb5wIBqrEiSrohC4TCWI9EPCw5gfiWfZOatj1l
|
||||
hZ0RGXPITvJU2GWDq1GJrxtDCM7ozKi45+bFXlKq1WYMODC3kBgaaZA7lrWBCYXM
|
||||
lp8aOVABCtBg8N5XHFCTCll5VEcvKkWywPCFs7g1Qrwz1m4KxYtQPJgYfjRnOJcw
|
||||
TL1KhwEwOXmYU4LOO7PZhlI3/zDsWroJHtkrtOS2ocDCxQqcjLf//wwYHf63qLNL
|
||||
qdEOQ6zDdckwmkaExidTevhUPy+PlhD4mnKhlXivmk7SEPq7Epxqm37uP/xfAfDz
|
||||
aVohRYRI0rooMZ+xjGlncc15ZCDhLPk=
|
||||
=uIWs
|
||||
jA0ECQMI475OuKYqXMv/0sCXAShLaWEeFxtqCZ2dN7OqEy5ucrqr9u0I0yurJbwo
|
||||
lYxL/g/tHRoqVDiLHx0hJMtmL5mltn+GBbGA1Y5wcqQyYvU74qUEn8iCbw1BYMQ+
|
||||
1zEMwZZG5FEmW1nHYA1OM0JeWPDqpveMr/XBk8P/bI5zDr93XXKshFsuVbHvyPBJ
|
||||
CiPIXPv1Pu8rJHcIjEDkknnz48ZeS2RR2N30LFmTBdD6ZmkLfq8vYtPkJFW6rb0w
|
||||
jTIsDyzDbtCF6YU9VnARNCQo6y5gEUi+nZi730trfSUmFJEa1BKwG4aE46bxborn
|
||||
sHmV1NTN2rZrxMRIRe05S4zqZ7Dod6eN+KBDZsSXuYWxD+sUjmWA1agYJndhk2xr
|
||||
HzIFJwk7kNgKZnW6QY+/phxJX/txHd5GMjwjjYBSJ3M7Txm7BBtNoflz0TqBaIay
|
||||
9vJUhWMfcPETc0/CB3S5PiMbVVGyw5jhLg==
|
||||
=S/fh
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
60062
secrets/wp/1.jpg.gpg
60062
secrets/wp/1.jpg.gpg
File diff suppressed because it is too large
Load Diff
45638
secrets/wp/10.jpg.gpg
45638
secrets/wp/10.jpg.gpg
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
16574
secrets/wp/12.jpg.gpg
16574
secrets/wp/12.jpg.gpg
File diff suppressed because it is too large
Load Diff
310046
secrets/wp/13.png.gpg
310046
secrets/wp/13.png.gpg
File diff suppressed because it is too large
Load Diff
13260
secrets/wp/2.jpg.gpg
13260
secrets/wp/2.jpg.gpg
File diff suppressed because it is too large
Load Diff
12010
secrets/wp/3.jpg.gpg
12010
secrets/wp/3.jpg.gpg
File diff suppressed because it is too large
Load Diff
55644
secrets/wp/4.jpg.gpg
55644
secrets/wp/4.jpg.gpg
File diff suppressed because it is too large
Load Diff
51386
secrets/wp/5.jpg.gpg
51386
secrets/wp/5.jpg.gpg
File diff suppressed because it is too large
Load Diff
17010
secrets/wp/6.jpg.gpg
17010
secrets/wp/6.jpg.gpg
File diff suppressed because it is too large
Load Diff
24088
secrets/wp/7.jpg.gpg
24088
secrets/wp/7.jpg.gpg
File diff suppressed because it is too large
Load Diff
17456
secrets/wp/8.jpg.gpg
17456
secrets/wp/8.jpg.gpg
File diff suppressed because it is too large
Load Diff
148646
secrets/wp/9.png.gpg
148646
secrets/wp/9.png.gpg
File diff suppressed because it is too large
Load Diff
@@ -1,10 +1,10 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
jA0ECQMI5VBc0KVbLDL/0sBCAf3oZq8xXuCs66vm9peFWtjXJJ8KoeHE27LNfvT5
|
||||
xAO5z6CuPzOdwLe4k8w2mIA1csivmGinWj2OqHelLzVIdrNZj2FW8baP+lhE9m5l
|
||||
ZWUIc6c2Ow4gBqI24U6KQHYOZS4vZ/lUhN9Ja/3RrSyhQfXbjeU2rQtfrfVQlQzk
|
||||
HY7XdGtnsOta7Aanp4I4nJB5H48i8OnMBt7BI3R3wUY/9dnQ/+UP0PGkH48scnW2
|
||||
9NMIhCnIa8evzVEwa10KG5tKMXfJT0ZBcj0PuwWhpDV6hqtLAfaiyNYux6nMRSQk
|
||||
VPdHjG/SrFusOUAQWmZCwPYHQIhSvQotfHIoQkt4ktmFGjWf
|
||||
=203E
|
||||
jA0ECQMIJ9R5BaXIG1//0sBBAe8JsWlg3N50w7zu3Uwke1Hu1QLkDYFgsTBsz6Og
|
||||
Vp6mPHVeNK6IPl0pUT1IaZHNhKNc9Bd4/ZYoubfkfBIyIlXclcjRzgcorOtkOsWs
|
||||
YcFUYdYwKCLsS0K4wq7setmy3wAjTnrULyXDS4xRA/30NtOL/Cx9i6hyAlkOjcfA
|
||||
l0mFtzLBrEP4LMbSo2oFtFyhPP05R3kZwe1hukZzmsuNI7W1scEBtKQcTCz01ngL
|
||||
h/B0AE1dX8bRU+Yyl6aZ3iPLS+J2o5jsZ+ou3Iy5SXqBqVhlJXxxjCP0VF7ZYSGC
|
||||
YLnxqSvcBp0wuLjgMlJlGu0omZR7axTFZaE4ts4oULS0YaI=
|
||||
=5mIs
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
jA0ECQMIvkpSi/VwY0D/0sDKAUychqUMz34QzcenJFg72hd0QCirPZPrFGg/kXLW
|
||||
iAHp6oxrENcPW7Ll1tHDPrL+QC06RPOsrWXO0LjGnOsHjDron+DnmznXhLFDSXgZ
|
||||
br3q5jqYTnYrAFoTChVtz+PaRB0CRg4W1IbM5VhwDVKjcNq0NHZtc9pTCBsaIaCV
|
||||
xTbQge6bAq8hPcezP7VOnfJpMKi1G2pILhRJviZN6nzzUoMfRMxdwx9JyPGKruFL
|
||||
BAZYtFMUlfL+jBATKop2oZeEQqW+mzwmUFSKEOFFqrLTePh90kN2cZwiof4W4vvn
|
||||
cQ2APHSxmWniW21Qrm/9YCRE+HKLt2Yz+nYx7zvEuRpeN25aaVQu5DnkHfzFbKfj
|
||||
c5Nv7kIi0pGT5niTlcAipSZ6YRyy6K6b9A04H8JyxJ51+HCfEb0Ns9yPcjCXffs1
|
||||
h9dmZ2MnTv9zX2w0th/SlQ9C0A9MGr9SPLsLz6WcaOuswhWCNNdkF4tQ8vnHTEsZ
|
||||
ezi+iRTIHhI3zQ9YjR07Tki8s8i5rWUCaFzOvg==
|
||||
=kFIl
|
||||
jA0ECQMILlvRxivBmtv/0sDKAeUG/vps231Rvtbj5zCM00heDgy6Y8oFmsPfbQ+/
|
||||
mC4id1R7/qvhC6R89nM6kNC4nIcMQj7L3I7XJRUZNe6pX1es84PiafuHBBLQ5nnH
|
||||
1BBkR/QVB+oAf1p4i8M8AvsrZv7VQQ5jNmETU+xrYp+mfQytDUCSIM8LjQw3Doz3
|
||||
kOghN6UNJdJRrwjFdrJ9TZqmBmz9KXh8o7elZQQcwRB9vHVz4TUTFKoslUn821UV
|
||||
A2xefTxZwiYw1ExqxObs1Dc+cVjitCelXfhRNEszL42gG1VUyLuY71lDphzxmyDD
|
||||
HPk7yZuCciBgCA+VNkBsjHLLyGtsR2FqqU8DraXXq6cFcxjMIkRoza9AUi4Xk1GG
|
||||
NQ7ONEwmXHH2db+Z8H5F1NXt+UfW41gbVWKek1Cxooa37FXUn995RCeMcaDeKfVM
|
||||
f8vYFELIyrkAuLkltO2twcFi4d9pnYYnxJOmtj9heH8SDcaSuj++03vN0CQu1Xw2
|
||||
qEhF3L/aEQwUrRaayI7F2NJmEfQgGZfcjVc+1Q==
|
||||
=weU9
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
96
setup.sh
96
setup.sh
@@ -28,6 +28,10 @@ log_error() {
|
||||
echo -e "${RED}$1${NC}" >&2
|
||||
}
|
||||
|
||||
log_warning() {
|
||||
echo -e "${YELLOW}$1${NC}" >&2
|
||||
}
|
||||
|
||||
die() {
|
||||
log_error "$1"
|
||||
exit 1
|
||||
@@ -286,7 +290,7 @@ update_home_manager_flake() {
|
||||
}
|
||||
|
||||
install_nix() {
|
||||
if command -v nixos-version >/dev/null 2>&1; then
|
||||
if command -v nix-channel >/dev/null 2>&1; then
|
||||
log_success "Detected NixOS, skipping Nix setup."
|
||||
return 0
|
||||
fi
|
||||
@@ -295,6 +299,10 @@ install_nix() {
|
||||
if ! sh <(curl -L https://nixos.org/nix/install) --daemon; then
|
||||
die "Failed to install Nix"
|
||||
fi
|
||||
|
||||
log_success "Nix has been installed. Please open a new shell and re-run the script."
|
||||
log_info "`~/dotfiles/setup.sh --continue` to continue setup."
|
||||
exit 0
|
||||
}
|
||||
|
||||
setup_symlinks() {
|
||||
@@ -353,15 +361,19 @@ prepare_hostname() {
|
||||
local hostname_file="$HOME/.hostname"
|
||||
local hostname
|
||||
|
||||
# Only check for NixOS if hardware configuration is not found
|
||||
if [ -f "$hostname_file" ]; then
|
||||
hostname=$(cat "$hostname_file")
|
||||
log_success "Hostname already found in $hostname_file. Using $hostname."
|
||||
|
||||
if command -v nixos-version >/dev/null 2>&1; then
|
||||
if [ ! -f "$DOTFILES_DIR/config/nixos/hardware/$hostname.nix" ]; then
|
||||
die "No hardware configuration found for $hostname. Please create a hardware configuration for this machine."
|
||||
fi
|
||||
|
||||
if [ ! -f "$DOTFILES_DIR/config/nixos/hardware/$hostname.nix" ]; then
|
||||
die "No hardware configuration found for $hostname. Please create a hardware configuration for this machine."
|
||||
log_success "Hardware configuration found for $hostname. Continuing setup..."
|
||||
fi
|
||||
|
||||
log_success "Hardware configuration found for $hostname. Continuing setup..."
|
||||
return
|
||||
fi
|
||||
|
||||
@@ -377,11 +389,18 @@ prepare_hostname() {
|
||||
log_error "Invalid hostname. Please enter a valid hostname:"
|
||||
done
|
||||
|
||||
if [ ! -f "$DOTFILES_DIR/config/nixos/hardware/$hostname.nix" ]; then
|
||||
log_info "No hardware configuration found for $hostname."
|
||||
create_hardware_config "$hostname"
|
||||
else
|
||||
log_success "Hardware configuration found for $hostname. Continuing setup..."
|
||||
if [ ! command -v nixos-version >/dev/null 2>&1 ]; then
|
||||
log_info "Setting hostname to $hostname..."
|
||||
sudo hostnamectl set-hostname "$hostname" || die "Failed to set hostname"
|
||||
fi
|
||||
|
||||
if [ command -v nixos-version >/dev/null 2>&1 ]; then
|
||||
if [ ! -f "$DOTFILES_DIR/config/nixos/hardware/$hostname.nix" ]; then
|
||||
log_info "No hardware configuration found for $hostname."
|
||||
create_hardware_config "$hostname"
|
||||
else
|
||||
log_success "Hardware configuration found for $hostname. Continuing setup..."
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "$hostname" > "$hostname_file" || die "Failed to save hostname"
|
||||
@@ -389,18 +408,37 @@ prepare_hostname() {
|
||||
}
|
||||
|
||||
warning_prompt() {
|
||||
log_success "This script will set up your NixOS system using Menno's Dotfiles repository.\n"
|
||||
log_success "This script will set up your machine using Menno's Dotfiles repository.\n"
|
||||
log_error "Please ensure you have a backup of your data before proceeding."
|
||||
log_error "This script will modify system files and may require sudo permissions.\n"
|
||||
log_info "This script works best on a fresh NixOS installation."
|
||||
log_info "This script works best on a fresh NixOS/Fedora installation."
|
||||
log_info "Type 'continue' to continue or Ctrl+C to exit."
|
||||
read -r -p "> " continue
|
||||
read -r -p "> " continue < /dev/tty
|
||||
if [ "$continue" != "continue" ]; then
|
||||
die "Exiting..."
|
||||
fi
|
||||
|
||||
log_info "Starting setup..."
|
||||
}
|
||||
|
||||
check_selinux() {
|
||||
# Only on Non-NixOS based systems
|
||||
if command -v nixos-version >/dev/null 2>&1; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Check if getenforce is returning Enforcing
|
||||
if [ "$(getenforce)" = "Enforcing" ]; then
|
||||
log_warning "SELinux is enabled. Adjusting SELinux to permissive mode..."
|
||||
sudo setenforce Permissive || die "Failed to disable SELinux"
|
||||
sudo tee /etc/selinux/config << EOF > /dev/null || die "Failed to write to /etc/selinux/config"
|
||||
SELINUX=permissive
|
||||
SELINUXTYPE=targeted
|
||||
EOF
|
||||
log_success "SELinux disabled successfully."
|
||||
fi
|
||||
}
|
||||
|
||||
main() {
|
||||
# Check if setup has already been run
|
||||
if [ -f "$SETUP_MARKER" ]; then
|
||||
@@ -416,22 +454,38 @@ main() {
|
||||
log_info "Cloning dotfiles repo..."
|
||||
git clone "$GIT_REPO" "$DOTFILES_DIR" || die "Failed to clone dotfiles repository"
|
||||
fi
|
||||
|
||||
if [ -n "${1:-}" ]; then
|
||||
CONTINUE=$1
|
||||
if [ "$CONTINUE" = "--continue" ]; then
|
||||
log_info "Continuing setup..."
|
||||
else
|
||||
warning_prompt
|
||||
prepare_hostname
|
||||
check_selinux
|
||||
install_nix
|
||||
fi
|
||||
else
|
||||
warning_prompt
|
||||
prepare_hostname
|
||||
check_selinux
|
||||
install_nix
|
||||
fi
|
||||
|
||||
|
||||
# Run setup steps
|
||||
warning_prompt
|
||||
prepare_hostname
|
||||
install_nix
|
||||
install_home_manager
|
||||
setup_symlinks
|
||||
|
||||
# Get hostname
|
||||
local hostname
|
||||
hostname=$(cat "$HOME/.hostname") || die "Failed to read hostname"
|
||||
|
||||
# Rebuild NixOS
|
||||
cd "$DOTFILES_DIR/config/nixos" || die "Failed to change to nixos config directory"
|
||||
sudo nixos-rebuild switch --flake ".#$hostname" --impure || \
|
||||
die "Failed to rebuild NixOS"
|
||||
|
||||
# Rebuild NixOS but only on NixOS systems
|
||||
if command -v nixos-version >/dev/null 2>&1; then
|
||||
cd "$DOTFILES_DIR/config/nixos" || die "Failed to change to nixos config directory"
|
||||
sudo nixos-rebuild switch --flake ".#$hostname" --impure || \
|
||||
die "Failed to rebuild NixOS"
|
||||
fi
|
||||
|
||||
# Rebuild Home Manager
|
||||
cd "$DOTFILES_DIR/config/home-manager" || die "Failed to change to home-manager config directory"
|
||||
|
||||
Reference in New Issue
Block a user