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
|
# Display a welcome message for interactive shells
|
||||||
if [ -t 1 ]; then
|
if [ -t 1 ]; then
|
||||||
dotf term
|
dotf hello
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ sys_packages() {
|
|||||||
nix-channel --update
|
nix-channel --update
|
||||||
|
|
||||||
printfe "%s\n" "cyan" "Updating nixos flake..."
|
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
|
# Exit if this failed
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
@@ -122,10 +122,17 @@ sys_packages() {
|
|||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -x "$(command -v apt)" ]; then
|
||||||
printfe "%s\n" "cyan" "Updating apt packages..."
|
printfe "%s\n" "cyan" "Updating apt packages..."
|
||||||
sudo nala upgrade -y
|
sudo nala upgrade -y
|
||||||
sudo nala autoremove -y --purge
|
sudo nala autoremove -y --purge
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -x "$(command -v yum)" ]; then
|
||||||
|
printfe "%s\n" "cyan" "Updating yum packages..."
|
||||||
|
sudo yum update -y
|
||||||
|
fi
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
cargopkgs() {
|
cargopkgs() {
|
||||||
@@ -163,7 +170,7 @@ flatpakpkgs() {
|
|||||||
|
|
||||||
homemanager() {
|
homemanager() {
|
||||||
printfe "%s\n" "cyan" "Updating Home Manager flake..."
|
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,6 +40,7 @@ fi
|
|||||||
printfe "%s\n" "cyan" "Limiting to $CORES cores with $JOBS jobs."
|
printfe "%s\n" "cyan" "Limiting to $CORES cores with $JOBS jobs."
|
||||||
|
|
||||||
if [[ "$RUN_NIX" == true ]]; then
|
if [[ "$RUN_NIX" == true ]]; then
|
||||||
|
if command -v nixos-rebuild &> /dev/null; then
|
||||||
printfe "%s\n" "cyan" "Upgrading NixOS packages..."
|
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
|
cd $HOME/dotfiles/config/nixos && sudo nixos-rebuild switch --upgrade --flake .#$DOTF_HOSTNAME --impure --cores $CORES -j $JOBS
|
||||||
|
|
||||||
@@ -47,17 +48,25 @@ if [[ "$RUN_NIX" == true ]]; then
|
|||||||
printfe "%s\n" "red" "Failed to upgrade NixOS packages."
|
printfe "%s\n" "red" "Failed to upgrade NixOS packages."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
printfe "%s\n" "red" "Skipping nixos-rebuild, NixOS is not installed."
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$RUN_HA" == true ]]; then
|
if [[ "$RUN_HA" == true ]]; then
|
||||||
|
if command -v home-manager &> /dev/null; then
|
||||||
printfe "%s\n" "cyan" "Cleaning old backup files..."
|
printfe "%s\n" "cyan" "Cleaning old backup files..."
|
||||||
rm -rf $HOME/.config/mimeapps.list.backup
|
rm -rf $HOME/.config/mimeapps.list.backup
|
||||||
|
|
||||||
printfe "%s\n" "cyan" "Upgrading Home Manager packages..."
|
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
|
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
|
if [[ $? -ne 0 ]]; then
|
||||||
printfe "%s\n" "red" "Failed to upgrade Home Manager packages."
|
printfe "%s\n" "red" "Failed to upgrade Home Manager packages."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
printfe "%s\n" "red" "Home Manager is not installed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|||||||
6
bin/dotf
6
bin/dotf
@@ -37,8 +37,8 @@ upgrade() {
|
|||||||
"$upgrade_script" $@
|
"$upgrade_script" $@
|
||||||
}
|
}
|
||||||
|
|
||||||
term() {
|
hello() {
|
||||||
local term_script="$DOTFILES_BIN/actions/term.sh"
|
local term_script="$DOTFILES_BIN/actions/hello.sh"
|
||||||
if [[ ! -x "$term_script" ]]; then
|
if [[ ! -x "$term_script" ]]; then
|
||||||
printfe "%s\n" "red" "Error: Terminal script not found or not executable"
|
printfe "%s\n" "red" "Error: Terminal script not found or not executable"
|
||||||
return 1
|
return 1
|
||||||
@@ -125,7 +125,7 @@ main() {
|
|||||||
update) shift; update "$@" ;;
|
update) shift; update "$@" ;;
|
||||||
upgrade) shift; upgrade "$@" ;;
|
upgrade) shift; upgrade "$@" ;;
|
||||||
help) shift; help "$@" ;;
|
help) shift; help "$@" ;;
|
||||||
term) shift; term "$@" ;;
|
hello) shift; hello "$@" ;;
|
||||||
secrets) shift; secrets "$@" ;;
|
secrets) shift; secrets "$@" ;;
|
||||||
auto-start) shift; auto_start "$@" ;;
|
auto-start) shift; auto_start "$@" ;;
|
||||||
*) help ;;
|
*) help ;;
|
||||||
|
|||||||
@@ -6,6 +6,6 @@ Usage: dotf [OPTIONS] [ARGS]
|
|||||||
upgrade: Runs switch, flake variants for nix switch with upgrade and home-manager.
|
upgrade: Runs switch, flake variants for nix switch with upgrade and home-manager.
|
||||||
secrets: Encrypt and decrypt secrets.
|
secrets: Encrypt and decrypt secrets.
|
||||||
auto-start: Start a set of pre-defined applications.
|
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
|
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
|
target: ~/.ssh/authorized_keys
|
||||||
chmod: 600
|
chmod: 600
|
||||||
|
|
||||||
# Hyprland config
|
# Ghostty config
|
||||||
hyprland:
|
ghostty:
|
||||||
source: ~/dotfiles/config/hyprland.conf
|
source: ~/dotfiles/config/ghostty.conf
|
||||||
target: ~/.config/hypr/hyprland.conf
|
target: ~/.config/ghostty/config
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# Starship config
|
# Starship config
|
||||||
starship:
|
starship:
|
||||||
source: ~/dotfiles/config/starship.toml
|
source: ~/dotfiles/config/starship.toml
|
||||||
target: ~/.config/starship.toml
|
target: ~/.config/starship.toml
|
||||||
|
|
||||||
|
|
||||||
# Packages to install
|
# 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!
|
# 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.
|
# 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]
|
[gpg]
|
||||||
format = ssh
|
format = ssh
|
||||||
|
|
||||||
[gpg "ssh"]
|
|
||||||
program = "op-ssh-sign"
|
|
||||||
|
|
||||||
[commit]
|
[commit]
|
||||||
gpgsign = true
|
gpgsign = true
|
||||||
|
|
||||||
|
|||||||
181
config/home-manager/flake.lock
generated
181
config/home-manager/flake.lock
generated
@@ -1,5 +1,62 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"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": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -7,11 +64,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734366194,
|
"lastModified": 1739757849,
|
||||||
"narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=",
|
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f",
|
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -23,11 +80,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734875076,
|
"lastModified": 1740932899,
|
||||||
"narHash": "sha256-Pzyb+YNG5u3zP79zoi8HXYMs15Q5dfjDgwCdUI5B0nY=",
|
"narHash": "sha256-F0qDu2egq18M3edJwEOAE+D+VQ+yESK6YWPRQBfOqq8=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "1807c2b91223227ad5599d7067a61665c52d1295",
|
"rev": "1546c45c538633ae40b93e2d14e0bb6fd8f13347",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -37,13 +94,45 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734649271,
|
"lastModified": 1738255539,
|
||||||
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
|
"narHash": "sha256-hP2eOqhIO/OILW+3moNWO4GtdJFYCqAe9yJZgvlCoDQ=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"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"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -55,9 +144,79 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"ghostty": "ghostty",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"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";
|
url = "github:nix-community/home-manager/release-24.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
ghostty.url = "github:ghostty-org/ghostty";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
@@ -17,6 +18,7 @@
|
|||||||
nixpkgs,
|
nixpkgs,
|
||||||
nixpkgs-unstable,
|
nixpkgs-unstable,
|
||||||
home-manager,
|
home-manager,
|
||||||
|
ghostty,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
@@ -31,11 +33,15 @@
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
homeConfigurations = {
|
homeConfigurations = {
|
||||||
"mennos-gamingpc" = home-manager.lib.homeManagerConfiguration {
|
"mennos-desktop" = home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
modules = [ ./home.nix ];
|
modules = [ ./home.nix ];
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit pkgs pkgs-unstable;
|
inherit
|
||||||
|
pkgs
|
||||||
|
pkgs-unstable
|
||||||
|
ghostty
|
||||||
|
;
|
||||||
isServer = false;
|
isServer = false;
|
||||||
hostname = "mennos-gamingpc";
|
hostname = "mennos-gamingpc";
|
||||||
};
|
};
|
||||||
@@ -45,7 +51,10 @@
|
|||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
modules = [ ./home.nix ];
|
modules = [ ./home.nix ];
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit pkgs pkgs-unstable;
|
inherit
|
||||||
|
pkgs
|
||||||
|
pkgs-unstable
|
||||||
|
;
|
||||||
isServer = true;
|
isServer = true;
|
||||||
hostname = "mennos-server";
|
hostname = "mennos-server";
|
||||||
};
|
};
|
||||||
@@ -55,7 +64,11 @@
|
|||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
modules = [ ./home.nix ];
|
modules = [ ./home.nix ];
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit pkgs pkgs-unstable;
|
inherit
|
||||||
|
pkgs
|
||||||
|
pkgs-unstable
|
||||||
|
ghostty
|
||||||
|
;
|
||||||
isServer = false;
|
isServer = false;
|
||||||
hostname = "mennos-laptop";
|
hostname = "mennos-laptop";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
nixfmt-rfc-style
|
nixfmt-rfc-style
|
||||||
wget
|
wget
|
||||||
fastfetch
|
fastfetch
|
||||||
|
gpredict
|
||||||
|
|
||||||
# Package management
|
# Package management
|
||||||
pipx
|
pipx
|
||||||
@@ -99,6 +100,9 @@
|
|||||||
|
|
||||||
# Editors
|
# Editors
|
||||||
neovim
|
neovim
|
||||||
|
## Neovim plugins
|
||||||
|
vimPlugins.LazyVim
|
||||||
|
|
||||||
nano
|
nano
|
||||||
micro
|
micro
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ 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)
|
wmctrl # Window manager control (Used in ulauncher)
|
||||||
gparted # Used to nuke Windows off of my system
|
gparted # Used to nuke Windows off of my system
|
||||||
rpi-imager # Raspberry Pi OS image writer
|
rpi-imager # Raspberry Pi OS image writer
|
||||||
kitty # Terminal emulator
|
|
||||||
kitty-themes # Kitty terminal themes
|
|
||||||
pavucontrol # PulseAudio volume control
|
pavucontrol # PulseAudio volume control
|
||||||
qrencode # qr code generator
|
qrencode # qr code generator
|
||||||
grimblast # Screenshot tool
|
grimblast # Screenshot tool
|
||||||
|
ptyxis # Terminal emulator
|
||||||
|
|
||||||
## Chat Apps
|
## Chat Apps
|
||||||
telegram-desktop
|
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";
|
render-on-screen = "mouse-pointer-monitor";
|
||||||
show-indicator-icon = true;
|
show-indicator-icon = true;
|
||||||
show-recent-apps = "4";
|
show-recent-apps = "4";
|
||||||
terminal-command = "kgx";
|
terminal-command = "ghostty";
|
||||||
theme-name = "dark";
|
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" = {
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal" = {
|
||||||
binding = "<Ctrl><Alt>t";
|
binding = "<Ctrl><Alt>t";
|
||||||
command = "kgx";
|
command = "ptyxis --new-window"; # ghostty doesn't work on Fedora atm
|
||||||
name = "terminal";
|
name = "terminal";
|
||||||
};
|
};
|
||||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/emotes" = {
|
"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": {
|
"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-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696426674,
|
"lastModified": 1717312683,
|
||||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
"narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=",
|
||||||
"owner": "edolstra",
|
"owner": "nix-community",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
"rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "edolstra",
|
"owner": "nix-community",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gitignore": {
|
"nixos-cosmic": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"flake-compat": "flake-compat",
|
||||||
"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",
|
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"pre-commit-hooks": "pre-commit-hooks",
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
"systems": "systems",
|
|
||||||
"xdph": "xdph"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734988658,
|
"lastModified": 1741055622,
|
||||||
"narHash": "sha256-SSPQCHeqMRsR6rhONWFAHDMtQ5NEKnU8G2BktlDwIoY=",
|
"narHash": "sha256-z1y6MSfJ9pntwJ7YCkjNyGnqvYMHMnB9kH3v5Z/g9vQ=",
|
||||||
"owner": "hyprwm",
|
"owner": "lilyinstarlight",
|
||||||
"repo": "hyprland",
|
"repo": "nixos-cosmic",
|
||||||
"rev": "2e2e2e2cad97eb017ab02f8a67b751e0abe3bb72",
|
"rev": "f3f91440dfd18518445d9ab757cf3e540c7fd6ab",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hyprwm",
|
"owner": "lilyinstarlight",
|
||||||
"repo": "hyprland",
|
"repo": "nixos-cosmic",
|
||||||
"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",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734649271,
|
"lastModified": 1740828860,
|
||||||
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
|
"narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
|
"rev": "303bd8071377433a2d8f76e684ec773d70c5b642",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -339,27 +54,27 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730741070,
|
"lastModified": 1740865531,
|
||||||
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
|
"narHash": "sha256-h00vGIh/jxcGl8aWdfnVRD74KuLpyY3mZgMFMy7iKIc=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
|
"rev": "5ef6c425980847c78a80d759abc476e941a9bf42",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-24.05",
|
"ref": "nixos-24.11",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734649271,
|
"lastModified": 1741010256,
|
||||||
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
|
"narHash": "sha256-WZNlK/KX7Sni0RyqLSqLPbK8k08Kq7H7RijPJbq9KHM=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
|
"rev": "ba487dbc9d04e0634c64e3b1f0d25839a0a68246",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -371,11 +86,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734875076,
|
"lastModified": 1740932899,
|
||||||
"narHash": "sha256-Pzyb+YNG5u3zP79zoi8HXYMs15Q5dfjDgwCdUI5B0nY=",
|
"narHash": "sha256-F0qDu2egq18M3edJwEOAE+D+VQ+yESK6YWPRQBfOqq8=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "1807c2b91223227ad5599d7067a61665c52d1295",
|
"rev": "1546c45c538633ae40b93e2d14e0bb6fd8f13347",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -385,93 +100,12 @@
|
|||||||
"type": "github"
|
"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": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprland": "hyprland",
|
"nixos-cosmic": "nixos-cosmic",
|
||||||
"hyprland-plugins": "hyprland-plugins",
|
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
"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",
|
"root": "root",
|
||||||
|
|||||||
@@ -4,12 +4,7 @@
|
|||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.11";
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.11";
|
||||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
# nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic";
|
nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic";
|
||||||
hyprland.url = "github:hyprwm/hyprland";
|
|
||||||
hyprland-plugins = {
|
|
||||||
url = "github:hyprwm/hyprland-plugins";
|
|
||||||
inputs.hyprland.follows = "hyprland";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
@@ -17,9 +12,7 @@
|
|||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
nixpkgs-unstable,
|
nixpkgs-unstable,
|
||||||
hyprland,
|
nixos-cosmic,
|
||||||
hyprland-plugins,
|
|
||||||
# nixos-cosmic,
|
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
@@ -44,7 +37,10 @@
|
|||||||
./configuration.nix
|
./configuration.nix
|
||||||
];
|
];
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit pkgs-unstable hyprland hyprland-plugins;
|
inherit
|
||||||
|
pkgs-unstable
|
||||||
|
nixos-cosmic
|
||||||
|
;
|
||||||
isWorkstation = true;
|
isWorkstation = true;
|
||||||
isServer = false;
|
isServer = false;
|
||||||
};
|
};
|
||||||
@@ -58,7 +54,10 @@
|
|||||||
./configuration.nix
|
./configuration.nix
|
||||||
];
|
];
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit pkgs-unstable hyprland hyprland-plugins;
|
inherit
|
||||||
|
pkgs-unstable
|
||||||
|
nixos-cosmic
|
||||||
|
;
|
||||||
isWorkstation = true;
|
isWorkstation = true;
|
||||||
isServer = false;
|
isServer = false;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -60,7 +60,10 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Enable ZFS support
|
# Enable ZFS support
|
||||||
boot.supportedFilesystems = [ "zfs" ];
|
boot.supportedFilesystems = [
|
||||||
|
"ntfs"
|
||||||
|
"zfs"
|
||||||
|
];
|
||||||
|
|
||||||
# ZFS system services
|
# ZFS system services
|
||||||
services.zfs = {
|
services.zfs = {
|
||||||
|
|||||||
@@ -2,5 +2,14 @@
|
|||||||
{
|
{
|
||||||
# Import all the package modules
|
# Import all the package modules
|
||||||
imports = [
|
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
|
# Import all the package modules
|
||||||
imports = [
|
imports = [
|
||||||
./1password.nix
|
|
||||||
./flatpak.nix
|
./flatpak.nix
|
||||||
./steam.nix
|
./1password.nix
|
||||||
./hyprland.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
|
# Samsung S24U
|
||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSJwfqOZQxGDbM07JziQeBNirvQxhFd6nEwWPjy1zCo u0_a555@localhost
|
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
|
# Samsung S24U
|
||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSJwfqOZQxGDbM07JziQeBNirvQxhFd6nEwWPjy1zCo u0_a555@localhost
|
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
|
# Samsung S24U
|
||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSJwfqOZQxGDbM07JziQeBNirvQxhFd6nEwWPjy1zCo u0_a555@localhost
|
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
|
# Samsung S24U
|
||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSJwfqOZQxGDbM07JziQeBNirvQxhFd6nEwWPjy1zCo u0_a555@localhost
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSJwfqOZQxGDbM07JziQeBNirvQxhFd6nEwWPjy1zCo u0_a555@localhost
|
||||||
|
|
||||||
|
# Menno's 2025 SSH Key
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE22Hfx8wgkc57TXX1TCMHcNrCdjbfog5QeHFJfl7IeD mennos-2025-sshkey
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
-----BEGIN PGP MESSAGE-----
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
jA0ECQMIdzswSvGKIFj/0sAIAc0IMa6q0CiEqk/RjpEaea0RpVSxKL8v/E0HyqiC
|
jA0ECQMIyS/QhVzk8iz/0sAIAYCHd2CTLa3u1Ajj4oj7tqJivyB2moggjt7f0uep
|
||||||
nZBGvcaadZ+uQ/Ndxk3WfehTYuXWZk9gotfoQ91TrvMcCNt0ag6sMdVLHtEzoXWF
|
qpah5aM35C/BnzMVRkg6CBWbMFhBRYlRaJ7oyQMPlq/OAtDuk4heXhQfqN24PEEb
|
||||||
93wn4UDc9kv56mfU+JnSK5Rv6euXhZ8ZapEqFIvmh7kGkX/nwTJFNU/f6jz0yhaw
|
X5SzXFaTtW01HIHy2JNaVaz7qU4RsRctayjPe6jBKfkDrxbLpKtUf1ETNuwqgMOR
|
||||||
uu/pa9b9NFpIH7IoelJ2SzJMX3ZhX5aVcY0ojOEvlfRxOGdsOxUK2Ifd9MWV9Tyd
|
pyZjgoBO6Wo2DUkeq3cku95ejsX/63XXnTKW0CXwVdvolo7OzdBIfNsiSMTnvnr5
|
||||||
Sgsa3uFFcL4STwXNq6umwlfkk/SOqtq5WAA=
|
s1jFbGH7K3QOz7FcSyanG4gK+z3x6Njaduc=
|
||||||
=Zo/k
|
=tmo1
|
||||||
-----END PGP MESSAGE-----
|
-----END PGP MESSAGE-----
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
-----BEGIN PGP MESSAGE-----
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
jA0ECQMI519bNNdOqtX/0sASAZFH3wmp22L1th/nrq1TY4WHFcQGWe4mh2LFIE+z
|
jA0ECQMI3rCkM4WCKnn/0sASAQjifcMA4M5hjwkP8dZXxah9d8g8YeofFTPLgPMm
|
||||||
XWM+UKAYBaE6apC8psVW6/1s+3J5zQrtE2WyWQ+YEGsk+LhgliEXEtmIMF06/xia
|
zUR7BcyuniGeHkdkPhVIPDU9ea8BB6JVgldGNeHOh0Rj+OdO95RzPkC4VyGlhVC7
|
||||||
P1l13eea95sIA0sIG5qkHuMQ6MgkhfIYhfZOW/5T7hCeFxg7LweB1SAi0k11dho1
|
qoDdy+QQUOVImgEjbNLSOD3VKJzYQMfcmF2X6yZ0TpfOeHZyOmaVXQU+hdIl2g9r
|
||||||
BgaE+kaZDxcphyKKWrbTmfzvUvVXWkN6kOGMCvKg+Rf+of+9On2Jo0Gpm8cz5iSH
|
zJjzKh2Ukp0VAF+1mp6mcU3fKhwJyffxF1491ExXYM80q1+S247/zLgU1/nQi/u5
|
||||||
3fF1U9djpnp4/NphV05b0tJpQWYJXBsGa54VN0ubTUXGjdCT
|
cX1cV14qi/nFQdmuNlNjahusvSpVtkhsa8TYMRyDP9rr+WdQ
|
||||||
=XFXP
|
=an0w
|
||||||
-----END PGP MESSAGE-----
|
-----END PGP MESSAGE-----
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
-----BEGIN PGP MESSAGE-----
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
jA0ECQMIMtJCio7/eYP/0sA6AUnti1nRUB47NBp+VFxeWAAkjLj1x+u2124Vm7pI
|
jA0ECQMIECtNQigofUT/0sA7AfQFumfYw02g3y4nQuPYrfbgyHuMVCsMk+nLlcLb
|
||||||
ghbcrcvnpqiqXnlNeibhIFyuU/12Lfsy27mCYZZgH/bVik10gGIi1Xu4sGUujLSU
|
5I+zgR8c1ie/S5XBk3wLlJ0suhb8m4ifZOJoRcIW7G+ISTPjIetaJQnkvObKUBgG
|
||||||
zB8R2GjceTbqSDMUp3XWEMSjmNRweNnwBMesJVVuwJfw7HIiIdsYIJMINCVO4m3O
|
QXz54oWcQYXMeaGcEq442gU0x+S3HVU2GcIhRdiUuZ5DYbaEsYnLcPLBrp73a/wE
|
||||||
7YQ8tJrmfc4q7q15ZcV/uU/AQVydw+o3yElnO/fiuiXUxuMP/KdZJNJ7zSX+CRL7
|
+hb3IZC1zGcijpC4ovcVVAZvHUaKpV0hCzJXNGgvPW0H7/GRxQyPKjghUQ7DgCRu
|
||||||
bV29m19w58iUouXGLUgLvKU/1x+siOcJh9zTEM+IeFspz5Gr9BlUZFiewuR6NuP7
|
4u7t/GU2JDrep+nteUu5Rs+P7bypZdyripMj6BxoqHmwjj1ddeSK7Bv602Nt+7/n
|
||||||
MsppiqYsH1be70J26FfTki9G8sOVR4BjVdNW1w==
|
Bcg8xpViAasXREuaR3Z6r9SFlex7qbQjMMBtb2M=
|
||||||
=3d5a
|
=wrl9
|
||||||
-----END PGP MESSAGE-----
|
-----END PGP MESSAGE-----
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
-----BEGIN PGP MESSAGE-----
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
jA0ECQMIzH98wOyu8vL/0sAdAdNq59gT7UxaXaNy/ezeziTtcyJm3JFFzC3hFPCd
|
jA0ECQMILwzTWNDBbZX/0sAeAQMlmiKRJM5YPtC78LvlLroqE5R6hysJq1nGV34U
|
||||||
OYrDYiJgDqjDXNVEyPR24ffXSk+WbfSQEqEd9KCaSiFueP8d+IMMzHtHsgMrx+sT
|
CcY7XmuLz/Bvx2/ZGE1urY48AmgNZraiKOh8kfTG5T7dCTqrkMiz1MpNRYVdnXvW
|
||||||
v4G88/gsQpBbxVUs6yktCVmchlsbgshflajhigfHqbSSUp/DramW4ueKRSUEixty
|
LOanl3+alv6tmosD52zn4vRmRCnIaqE/k6ne+NV4BuRj0u9qWLoNI/7uGFnjcvI3
|
||||||
IoUvTEJqE7VWMC2QBaPtpn6tBqNtQyQZtzQFMdjH4xXa4eQZkIgZo4YZt1rXxUkK
|
mGYlDF7ArQH0gVpmW8wmlNFzMPe4ccqWMjGbpB1h3TEALy4nh2wwNH5PvF1FKesJ
|
||||||
eTUZjRCRRDyiJSlh6dK+R++eUh2NcN97f/ThPUPxhKTLAml1obfqcW2JFc+xp9Y=
|
iq4Vvhslo8LbyjQdkA7/fPlYEu1MDJKDCaHWwmAevMwNuGNLrdupyOf2KkHSYmUB
|
||||||
=+WWh
|
=ULsR
|
||||||
-----END PGP MESSAGE-----
|
-----END PGP MESSAGE-----
|
||||||
|
|||||||
@@ -1,34 +1,34 @@
|
|||||||
-----BEGIN PGP MESSAGE-----
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
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
|
||||||
byTxf7j9BRGGrslm
|
PppWvUzUlOlJJPetJb5F
|
||||||
=+LIn
|
=U7VL
|
||||||
-----END PGP MESSAGE-----
|
-----END PGP MESSAGE-----
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
-----BEGIN PGP MESSAGE-----
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
jA0ECQMIKAqIdDLxbRz/0sCVARMDv657J+xXkIKk4c1zesqgKfLc1/6O1Fd2Ftho
|
jA0ECQMI475OuKYqXMv/0sCXAShLaWEeFxtqCZ2dN7OqEy5ucrqr9u0I0yurJbwo
|
||||||
7Sc1g74tXidtPEerJPT1baZbVDNc0EC2p55sNxpB1e7jgvzbgBebTulTz5u1g77Z
|
lYxL/g/tHRoqVDiLHx0hJMtmL5mltn+GBbGA1Y5wcqQyYvU74qUEn8iCbw1BYMQ+
|
||||||
v83ei7O9Zcb1e/NeuH+BXc5IJFqb5wIBqrEiSrohC4TCWI9EPCw5gfiWfZOatj1l
|
1zEMwZZG5FEmW1nHYA1OM0JeWPDqpveMr/XBk8P/bI5zDr93XXKshFsuVbHvyPBJ
|
||||||
hZ0RGXPITvJU2GWDq1GJrxtDCM7ozKi45+bFXlKq1WYMODC3kBgaaZA7lrWBCYXM
|
CiPIXPv1Pu8rJHcIjEDkknnz48ZeS2RR2N30LFmTBdD6ZmkLfq8vYtPkJFW6rb0w
|
||||||
lp8aOVABCtBg8N5XHFCTCll5VEcvKkWywPCFs7g1Qrwz1m4KxYtQPJgYfjRnOJcw
|
jTIsDyzDbtCF6YU9VnARNCQo6y5gEUi+nZi730trfSUmFJEa1BKwG4aE46bxborn
|
||||||
TL1KhwEwOXmYU4LOO7PZhlI3/zDsWroJHtkrtOS2ocDCxQqcjLf//wwYHf63qLNL
|
sHmV1NTN2rZrxMRIRe05S4zqZ7Dod6eN+KBDZsSXuYWxD+sUjmWA1agYJndhk2xr
|
||||||
qdEOQ6zDdckwmkaExidTevhUPy+PlhD4mnKhlXivmk7SEPq7Epxqm37uP/xfAfDz
|
HzIFJwk7kNgKZnW6QY+/phxJX/txHd5GMjwjjYBSJ3M7Txm7BBtNoflz0TqBaIay
|
||||||
aVohRYRI0rooMZ+xjGlncc15ZCDhLPk=
|
9vJUhWMfcPETc0/CB3S5PiMbVVGyw5jhLg==
|
||||||
=uIWs
|
=S/fh
|
||||||
-----END PGP MESSAGE-----
|
-----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-----
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
jA0ECQMI5VBc0KVbLDL/0sBCAf3oZq8xXuCs66vm9peFWtjXJJ8KoeHE27LNfvT5
|
jA0ECQMIJ9R5BaXIG1//0sBBAe8JsWlg3N50w7zu3Uwke1Hu1QLkDYFgsTBsz6Og
|
||||||
xAO5z6CuPzOdwLe4k8w2mIA1csivmGinWj2OqHelLzVIdrNZj2FW8baP+lhE9m5l
|
Vp6mPHVeNK6IPl0pUT1IaZHNhKNc9Bd4/ZYoubfkfBIyIlXclcjRzgcorOtkOsWs
|
||||||
ZWUIc6c2Ow4gBqI24U6KQHYOZS4vZ/lUhN9Ja/3RrSyhQfXbjeU2rQtfrfVQlQzk
|
YcFUYdYwKCLsS0K4wq7setmy3wAjTnrULyXDS4xRA/30NtOL/Cx9i6hyAlkOjcfA
|
||||||
HY7XdGtnsOta7Aanp4I4nJB5H48i8OnMBt7BI3R3wUY/9dnQ/+UP0PGkH48scnW2
|
l0mFtzLBrEP4LMbSo2oFtFyhPP05R3kZwe1hukZzmsuNI7W1scEBtKQcTCz01ngL
|
||||||
9NMIhCnIa8evzVEwa10KG5tKMXfJT0ZBcj0PuwWhpDV6hqtLAfaiyNYux6nMRSQk
|
h/B0AE1dX8bRU+Yyl6aZ3iPLS+J2o5jsZ+ou3Iy5SXqBqVhlJXxxjCP0VF7ZYSGC
|
||||||
VPdHjG/SrFusOUAQWmZCwPYHQIhSvQotfHIoQkt4ktmFGjWf
|
YLnxqSvcBp0wuLjgMlJlGu0omZR7axTFZaE4ts4oULS0YaI=
|
||||||
=203E
|
=5mIs
|
||||||
-----END PGP MESSAGE-----
|
-----END PGP MESSAGE-----
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
-----BEGIN PGP MESSAGE-----
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
jA0ECQMIvkpSi/VwY0D/0sDKAUychqUMz34QzcenJFg72hd0QCirPZPrFGg/kXLW
|
jA0ECQMILlvRxivBmtv/0sDKAeUG/vps231Rvtbj5zCM00heDgy6Y8oFmsPfbQ+/
|
||||||
iAHp6oxrENcPW7Ll1tHDPrL+QC06RPOsrWXO0LjGnOsHjDron+DnmznXhLFDSXgZ
|
mC4id1R7/qvhC6R89nM6kNC4nIcMQj7L3I7XJRUZNe6pX1es84PiafuHBBLQ5nnH
|
||||||
br3q5jqYTnYrAFoTChVtz+PaRB0CRg4W1IbM5VhwDVKjcNq0NHZtc9pTCBsaIaCV
|
1BBkR/QVB+oAf1p4i8M8AvsrZv7VQQ5jNmETU+xrYp+mfQytDUCSIM8LjQw3Doz3
|
||||||
xTbQge6bAq8hPcezP7VOnfJpMKi1G2pILhRJviZN6nzzUoMfRMxdwx9JyPGKruFL
|
kOghN6UNJdJRrwjFdrJ9TZqmBmz9KXh8o7elZQQcwRB9vHVz4TUTFKoslUn821UV
|
||||||
BAZYtFMUlfL+jBATKop2oZeEQqW+mzwmUFSKEOFFqrLTePh90kN2cZwiof4W4vvn
|
A2xefTxZwiYw1ExqxObs1Dc+cVjitCelXfhRNEszL42gG1VUyLuY71lDphzxmyDD
|
||||||
cQ2APHSxmWniW21Qrm/9YCRE+HKLt2Yz+nYx7zvEuRpeN25aaVQu5DnkHfzFbKfj
|
HPk7yZuCciBgCA+VNkBsjHLLyGtsR2FqqU8DraXXq6cFcxjMIkRoza9AUi4Xk1GG
|
||||||
c5Nv7kIi0pGT5niTlcAipSZ6YRyy6K6b9A04H8JyxJ51+HCfEb0Ns9yPcjCXffs1
|
NQ7ONEwmXHH2db+Z8H5F1NXt+UfW41gbVWKek1Cxooa37FXUn995RCeMcaDeKfVM
|
||||||
h9dmZ2MnTv9zX2w0th/SlQ9C0A9MGr9SPLsLz6WcaOuswhWCNNdkF4tQ8vnHTEsZ
|
f8vYFELIyrkAuLkltO2twcFi4d9pnYYnxJOmtj9heH8SDcaSuj++03vN0CQu1Xw2
|
||||||
ezi+iRTIHhI3zQ9YjR07Tki8s8i5rWUCaFzOvg==
|
qEhF3L/aEQwUrRaayI7F2NJmEfQgGZfcjVc+1Q==
|
||||||
=kFIl
|
=weU9
|
||||||
-----END PGP MESSAGE-----
|
-----END PGP MESSAGE-----
|
||||||
|
|||||||
66
setup.sh
66
setup.sh
@@ -28,6 +28,10 @@ log_error() {
|
|||||||
echo -e "${RED}$1${NC}" >&2
|
echo -e "${RED}$1${NC}" >&2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log_warning() {
|
||||||
|
echo -e "${YELLOW}$1${NC}" >&2
|
||||||
|
}
|
||||||
|
|
||||||
die() {
|
die() {
|
||||||
log_error "$1"
|
log_error "$1"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -286,7 +290,7 @@ update_home_manager_flake() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
install_nix() {
|
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."
|
log_success "Detected NixOS, skipping Nix setup."
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
@@ -295,6 +299,10 @@ install_nix() {
|
|||||||
if ! sh <(curl -L https://nixos.org/nix/install) --daemon; then
|
if ! sh <(curl -L https://nixos.org/nix/install) --daemon; then
|
||||||
die "Failed to install Nix"
|
die "Failed to install Nix"
|
||||||
fi
|
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() {
|
setup_symlinks() {
|
||||||
@@ -353,15 +361,19 @@ prepare_hostname() {
|
|||||||
local hostname_file="$HOME/.hostname"
|
local hostname_file="$HOME/.hostname"
|
||||||
local hostname
|
local hostname
|
||||||
|
|
||||||
|
# Only check for NixOS if hardware configuration is not found
|
||||||
if [ -f "$hostname_file" ]; then
|
if [ -f "$hostname_file" ]; then
|
||||||
hostname=$(cat "$hostname_file")
|
hostname=$(cat "$hostname_file")
|
||||||
log_success "Hostname already found in $hostname_file. Using $hostname."
|
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
|
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."
|
die "No hardware configuration found for $hostname. Please create a hardware configuration for this machine."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
log_success "Hardware configuration found for $hostname. Continuing setup..."
|
log_success "Hardware configuration found for $hostname. Continuing setup..."
|
||||||
|
fi
|
||||||
|
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -377,30 +389,56 @@ prepare_hostname() {
|
|||||||
log_error "Invalid hostname. Please enter a valid hostname:"
|
log_error "Invalid hostname. Please enter a valid hostname:"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
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
|
if [ ! -f "$DOTFILES_DIR/config/nixos/hardware/$hostname.nix" ]; then
|
||||||
log_info "No hardware configuration found for $hostname."
|
log_info "No hardware configuration found for $hostname."
|
||||||
create_hardware_config "$hostname"
|
create_hardware_config "$hostname"
|
||||||
else
|
else
|
||||||
log_success "Hardware configuration found for $hostname. Continuing setup..."
|
log_success "Hardware configuration found for $hostname. Continuing setup..."
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
echo "$hostname" > "$hostname_file" || die "Failed to save hostname"
|
echo "$hostname" > "$hostname_file" || die "Failed to save hostname"
|
||||||
log_success "Hostname set successfully."
|
log_success "Hostname set successfully."
|
||||||
}
|
}
|
||||||
|
|
||||||
warning_prompt() {
|
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 "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_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."
|
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
|
if [ "$continue" != "continue" ]; then
|
||||||
die "Exiting..."
|
die "Exiting..."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
log_info "Starting setup..."
|
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() {
|
main() {
|
||||||
# Check if setup has already been run
|
# Check if setup has already been run
|
||||||
if [ -f "$SETUP_MARKER" ]; then
|
if [ -f "$SETUP_MARKER" ]; then
|
||||||
@@ -417,10 +455,24 @@ main() {
|
|||||||
git clone "$GIT_REPO" "$DOTFILES_DIR" || die "Failed to clone dotfiles repository"
|
git clone "$GIT_REPO" "$DOTFILES_DIR" || die "Failed to clone dotfiles repository"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Run setup steps
|
if [ -n "${1:-}" ]; then
|
||||||
|
CONTINUE=$1
|
||||||
|
if [ "$CONTINUE" = "--continue" ]; then
|
||||||
|
log_info "Continuing setup..."
|
||||||
|
else
|
||||||
warning_prompt
|
warning_prompt
|
||||||
prepare_hostname
|
prepare_hostname
|
||||||
|
check_selinux
|
||||||
install_nix
|
install_nix
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
warning_prompt
|
||||||
|
prepare_hostname
|
||||||
|
check_selinux
|
||||||
|
install_nix
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
install_home_manager
|
install_home_manager
|
||||||
setup_symlinks
|
setup_symlinks
|
||||||
|
|
||||||
@@ -428,10 +480,12 @@ main() {
|
|||||||
local hostname
|
local hostname
|
||||||
hostname=$(cat "$HOME/.hostname") || die "Failed to read hostname"
|
hostname=$(cat "$HOME/.hostname") || die "Failed to read hostname"
|
||||||
|
|
||||||
# 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"
|
cd "$DOTFILES_DIR/config/nixos" || die "Failed to change to nixos config directory"
|
||||||
sudo nixos-rebuild switch --flake ".#$hostname" --impure || \
|
sudo nixos-rebuild switch --flake ".#$hostname" --impure || \
|
||||||
die "Failed to rebuild NixOS"
|
die "Failed to rebuild NixOS"
|
||||||
|
fi
|
||||||
|
|
||||||
# Rebuild Home Manager
|
# Rebuild Home Manager
|
||||||
cd "$DOTFILES_DIR/config/home-manager" || die "Failed to change to home-manager config directory"
|
cd "$DOTFILES_DIR/config/home-manager" || die "Failed to change to home-manager config directory"
|
||||||
|
|||||||
Reference in New Issue
Block a user