mirror of
https://github.com/Ahwxorg/nixos-config.git
synced 2026-03-19 07:40:30 +01:00
Compare commits
11 commits
4f4c27cfef
...
3e05549530
| Author | SHA1 | Date | |
|---|---|---|---|
| 3e05549530 | |||
| 5e88ba467e | |||
| 65b895488a | |||
| 2c8e6f0b22 | |||
| b9a89bd079 | |||
| db35ebd33f | |||
| 436e095f1e | |||
| 41b52bf101 | |||
| 3a778d4104 | |||
| 9e8f8959f6 | |||
| 689b27c243 |
13 changed files with 315 additions and 67 deletions
7
flake.lock
generated
7
flake.lock
generated
|
|
@ -340,15 +340,16 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769776025,
|
||||
"narHash": "sha256-70a1kVC08AMTvPc7iqQsJbbD4Y1fukakMVudz4oY9SM=",
|
||||
"lastModified": 1770260404,
|
||||
"narHash": "sha256-3iVX1+7YUIt23hBx1WZsUllhbmP2EnXrV8tCRbLxHc8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "0fba737f8d5571d41467f3d99a878e11b8c0f0f0",
|
||||
"rev": "0d782ee42c86b196acff08acfbf41bb7d13eed5b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-25.11",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
|
|
|
|||
17
flake.nix
17
flake.nix
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
inputs = {
|
||||
alejandra.url = "github:kamadorueda/alejandra/3.0.0";
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
home-manager.url = "github:nix-community/home-manager/release-25.11";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
hyprland.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
|
@ -63,6 +63,7 @@
|
|||
];
|
||||
specialArgs = {
|
||||
host = "sakura";
|
||||
system = "aarch64-darwin";
|
||||
inherit self inputs username;
|
||||
};
|
||||
};
|
||||
|
|
@ -75,6 +76,7 @@
|
|||
];
|
||||
specialArgs = {
|
||||
host = "sakura";
|
||||
system = "x86_64-linux";
|
||||
inherit self inputs username;
|
||||
};
|
||||
};
|
||||
|
|
@ -85,6 +87,7 @@
|
|||
];
|
||||
specialArgs = {
|
||||
host = "yoshino";
|
||||
system = "x86_64-linux";
|
||||
inherit self inputs username;
|
||||
};
|
||||
};
|
||||
|
|
@ -95,6 +98,7 @@
|
|||
];
|
||||
specialArgs = {
|
||||
host = "ichiyo";
|
||||
system = "x86_64-linux";
|
||||
inherit self inputs username;
|
||||
};
|
||||
};
|
||||
|
|
@ -105,6 +109,7 @@
|
|||
];
|
||||
specialArgs = {
|
||||
host = "violet";
|
||||
system = "x86_64-linux";
|
||||
inherit self inputs username;
|
||||
};
|
||||
};
|
||||
|
|
@ -115,6 +120,7 @@
|
|||
];
|
||||
specialArgs = {
|
||||
host = "dandelion";
|
||||
system = "x86_64-linux";
|
||||
inherit self inputs username;
|
||||
};
|
||||
};
|
||||
|
|
@ -125,6 +131,7 @@
|
|||
];
|
||||
specialArgs = {
|
||||
host = "lily";
|
||||
system = "x86_64-linux";
|
||||
inherit self inputs username;
|
||||
};
|
||||
};
|
||||
|
|
@ -135,6 +142,7 @@
|
|||
];
|
||||
specialArgs = {
|
||||
host = "zinnia";
|
||||
system = "x86_64-linux";
|
||||
inherit self inputs username;
|
||||
};
|
||||
};
|
||||
|
|
@ -145,6 +153,7 @@
|
|||
];
|
||||
specialArgs = {
|
||||
host = "posy";
|
||||
system = "aarch64-linux";
|
||||
inherit self inputs username;
|
||||
};
|
||||
};
|
||||
|
|
@ -155,6 +164,7 @@
|
|||
];
|
||||
specialArgs = {
|
||||
host = "hazel";
|
||||
system = "x86_64-linux";
|
||||
inherit self inputs username;
|
||||
};
|
||||
};
|
||||
|
|
@ -165,6 +175,7 @@
|
|||
];
|
||||
specialArgs = {
|
||||
host = "daisy";
|
||||
system = "x86_64-linux";
|
||||
inherit self inputs username;
|
||||
};
|
||||
};
|
||||
|
|
@ -175,6 +186,7 @@
|
|||
];
|
||||
specialArgs = {
|
||||
host = "iris";
|
||||
system = "x86_64-linux";
|
||||
inherit self inputs username;
|
||||
};
|
||||
};
|
||||
|
|
@ -185,6 +197,7 @@
|
|||
];
|
||||
specialArgs = {
|
||||
host = "sunflower";
|
||||
system = "x86_64-linux";
|
||||
inherit self inputs username;
|
||||
};
|
||||
};
|
||||
|
|
@ -195,6 +208,7 @@
|
|||
];
|
||||
specialArgs = {
|
||||
host = "imilia";
|
||||
system = "x86_64-linux";
|
||||
inherit self inputs username;
|
||||
};
|
||||
};
|
||||
|
|
@ -205,6 +219,7 @@
|
|||
];
|
||||
specialArgs = {
|
||||
host = "april";
|
||||
system = "x86_64-linux";
|
||||
inherit self inputs username;
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,35 +1,51 @@
|
|||
{ username, ... }:
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
self,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
#./hardware-configuration.nix
|
||||
#./../../modules/core
|
||||
# ./../../modules/core/homebrew.nix
|
||||
./../../modules/core/user.nix
|
||||
./../../modules/core/skhd.nix
|
||||
./../../modules/core/yabai.nix
|
||||
#./../../modules/core/virtualization.nix
|
||||
#./../../modules/services/tailscale.nix
|
||||
#./../../modules/services/mpd.nix
|
||||
#./../../modules/services/smart-monitoring.nix
|
||||
#./../../modules/services/mullvad.nix
|
||||
#./../../modules/home/steam.nix
|
||||
#./../../modules/services/ollama.nix
|
||||
#./../../modules/services/automount.nix
|
||||
];
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.vim
|
||||
];
|
||||
|
||||
security.pam.enableSudoTouchIdAuth = true;
|
||||
system.primaryUser = username;
|
||||
|
||||
security.pam.services.sudo_local.touchIdAuth = true;
|
||||
nix.settings.experimental-features = "nix-command flakes";
|
||||
|
||||
system.configurationRevision = self.rev or self.dirtyRev or null;
|
||||
|
||||
system.stateVersion = 6;
|
||||
|
||||
# system.configurationRevision = self.rev or self.dirtyRev or null;
|
||||
system = {
|
||||
primaryUser = "liv";
|
||||
stateVersion = 6;
|
||||
defaults = {
|
||||
dock = {
|
||||
autohide = true;
|
||||
mru-spaces = false;
|
||||
show-recents = false;
|
||||
# showHidden = true;
|
||||
};
|
||||
finder = {
|
||||
AppleShowAllExtensions = true;
|
||||
FXPreferredViewStyle = "clmv";
|
||||
};
|
||||
iCal."first day of week" = "Monday";
|
||||
screencapture.include-date = true;
|
||||
screencapture.type = "png";
|
||||
spaces.spans-displays = true;
|
||||
};
|
||||
};
|
||||
nixpkgs.hostPlatform = "aarch64-darwin";
|
||||
|
||||
homebrew = {
|
||||
enable = true;
|
||||
#taps = {
|
||||
# "homebrew/homebrew-core" = inputs.homebrew-core;
|
||||
# "homebrew/homebrew-cask" = inputs.homebrew-cask;
|
||||
#};
|
||||
onActivation = {
|
||||
autoUpdate = true;
|
||||
cleanup = "uninstall";
|
||||
|
|
@ -39,16 +55,58 @@
|
|||
caskArgs = {
|
||||
no_quarantine = true;
|
||||
};
|
||||
brews = [
|
||||
"imagemagick"
|
||||
"virt-manager"
|
||||
];
|
||||
casks = [
|
||||
"qbittorrent"
|
||||
"libreoffice"
|
||||
"signal"
|
||||
"handbrake"
|
||||
"tailscale"
|
||||
"ungoogled-chromium"
|
||||
# "orca-slicer"
|
||||
"element"
|
||||
"raycast"
|
||||
"anki"
|
||||
"kitty"
|
||||
"spotify"
|
||||
"nextcloud"
|
||||
"handbrake-app"
|
||||
"tailscale-app"
|
||||
"ungoogled-chromium"
|
||||
"karabiner-elements"
|
||||
"bitwarden"
|
||||
"gimp"
|
||||
"betterdisplay"
|
||||
"mullvad-vpn"
|
||||
"maccy"
|
||||
"spotmenu"
|
||||
];
|
||||
};
|
||||
|
||||
# List packages installed in system profile. To search by name, run:
|
||||
# $ nix-env -qaP | grep wget
|
||||
# imports = [ ../flake/modules/home/zsh.nix ];
|
||||
environment.systemPackages = [
|
||||
pkgs.vim
|
||||
inputs.nixvim.packages.${pkgs.system}.default
|
||||
pkgs.lazygit
|
||||
pkgs.eza
|
||||
pkgs.exiftool
|
||||
pkgs.fzf
|
||||
];
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
permittedInsecurePackages = [
|
||||
"jitsi-meet-1.0.8043"
|
||||
"olm-3.2.16"
|
||||
"libsoup-2.74.3"
|
||||
];
|
||||
overlays = [
|
||||
self.overlays.default
|
||||
inputs.nur.overlay
|
||||
inputs.nixocaine.overlays.default
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
82
modules/core/skhd.nix
Normal file
82
modules/core/skhd.nix
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
services.skhd = {
|
||||
enable = true;
|
||||
skhdConfig = ''
|
||||
shift + alt - 1: yabai -m window --space 1
|
||||
shift + alt - 2: yabai -m window --space 2
|
||||
shift + alt - 3: yabai -m window --space 3
|
||||
shift + alt - 4: yabai -m window --space 4
|
||||
shift + alt - 5: yabai -m window --space 5
|
||||
shift + alt - 6: yabai -m window --space 6
|
||||
shift + alt - 7: yabai -m window --space 7
|
||||
shift + alt - 8: yabai -m window --space 8
|
||||
shift + alt - 9: yabai -m window --space 9
|
||||
shift + alt - 0: yabai -m window --space 10
|
||||
|
||||
# focus window
|
||||
alt - h : yabai -m window --focus west
|
||||
alt - j : yabai -m window --focus south
|
||||
alt - k : yabai -m window --focus north
|
||||
alt - l : yabai -m window --focus east
|
||||
|
||||
# move window
|
||||
shift + alt - h : yabai -m window --warp west
|
||||
shift + alt - j : yabai -m window --warp south
|
||||
shift + alt - k : yabai -m window --warp north
|
||||
shift + alt - l : yabai -m window --warp east
|
||||
|
||||
|
||||
# Float / Unfloat window
|
||||
alt - space : \
|
||||
yabai -m window --toggle float; \
|
||||
yabai -m window --toggle border
|
||||
|
||||
# cmd - d : yabai -m space --layout $(yabai -m query --spaces --space | jq -r 'if .type == "bsp" then "stack" else "bsp" end')
|
||||
alt - return: open -a Kitty -n
|
||||
|
||||
# # Linux-style word navigation and deletion
|
||||
# ctrl - backspace [
|
||||
# @native_apps ~ # Terminal apps handle natively
|
||||
# * | alt - backspace # Other apps: delete word
|
||||
# ]
|
||||
|
||||
# ctrl - left [
|
||||
# @native_apps ~ # Terminal apps handle natively
|
||||
# * | alt - left # Other apps: move word left
|
||||
# ]
|
||||
|
||||
# ctrl - right [
|
||||
# @native_apps ~ # Terminal apps handle natively
|
||||
# * | alt - right # Other apps: move word right
|
||||
# ]
|
||||
|
||||
# # Home/End key behavior (with shift for selection)
|
||||
# home [
|
||||
# @native_apps ~ # Terminal apps handle natively
|
||||
# * | cmd - left # Other apps: line start
|
||||
# ]
|
||||
|
||||
# shift - home [
|
||||
# @native_apps ~ # Terminal apps handle natively
|
||||
# * | cmd + shift - left # Other apps: select to line start
|
||||
# ]
|
||||
|
||||
# # Ctrl+Home/End for document navigation
|
||||
# ctrl - home [
|
||||
# @native_apps ~ # Terminal apps handle natively
|
||||
# * | cmd - up # Other apps: document start
|
||||
# ]
|
||||
|
||||
# ctrl - end [
|
||||
# @native_apps ~ # Terminal apps handle natively
|
||||
# * | cmd - down # Other apps: document end
|
||||
# ]
|
||||
'';
|
||||
};
|
||||
}
|
||||
82
modules/core/yabai.nix
Normal file
82
modules/core/yabai.nix
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
services.yabai = {
|
||||
enable = true;
|
||||
enableScriptingAddition = true;
|
||||
config = {
|
||||
# external_bar = "all:0:0";
|
||||
layout = "bsp";
|
||||
auto_balance = "on";
|
||||
window_placement = "second_child";
|
||||
window_opacity = "off";
|
||||
window_border = "on";
|
||||
window_border_placement = "inset";
|
||||
window_border_width = 2;
|
||||
window_border_radius = 3;
|
||||
window_shadow = "float";
|
||||
active_window_opacity = "1.0";
|
||||
normal_window_opacity = "1.0";
|
||||
|
||||
mouse_modifier = "cmd";
|
||||
# set modifier + right-click drag to resize window (default: resize)
|
||||
mouse_action2 = "resize";
|
||||
# set modifier + left-click drag to resize window (default: move)
|
||||
mouse_action1 = "move";
|
||||
|
||||
mouse_follows_focus = "off";
|
||||
focus_follows_mouse = "autofocus";
|
||||
|
||||
# gaps
|
||||
top_padding = 0;
|
||||
bottom_padding = 0;
|
||||
left_padding = 0;
|
||||
right_padding = 0;
|
||||
window_gap = 0;
|
||||
};
|
||||
|
||||
extraConfig = ''
|
||||
# osascript -e 'tell application id "tracesOf.Uebersicht" to refresh'
|
||||
# rules
|
||||
yabai -m rule --add app=".*" sub-layer=normal
|
||||
yabai -m rule --add app="^System Settings$" manage=off
|
||||
yabai -m rule --add app="^System Information$" manage=off
|
||||
yabai -m rule --add app="^System Preferences$" manage=off
|
||||
yabai -m rule --add title="Preferences$" manage=off
|
||||
yabai -m rule --add title="Settings$" manage=off
|
||||
yabai -m rule --add app="Finder$" manage=off
|
||||
|
||||
# workspace management
|
||||
yabai -m space 1 --label web
|
||||
yabai -m space 2 --label terminal
|
||||
yabai -m space 6 --label config
|
||||
yabai -m space 7 --label notes
|
||||
yabai -m space 8 --label chat
|
||||
yabai -m space 9 --label music
|
||||
yabai -m space 10 --label mail
|
||||
|
||||
yabai -m rule --add app="Element" space=chat
|
||||
yabai -m rule --add app="Signal" space=chat
|
||||
yabai -m rule --add app="Spotify" space=music
|
||||
|
||||
yabai -m rule --add app="Calendar" space=mail
|
||||
yabai -m rule --add app="Mail" space=mail
|
||||
|
||||
yabai -m rule --add app='About This Mac' manage=off
|
||||
yabai -m rule --add app='System Information' manage=off
|
||||
yabai -m rule --add app='System Preferences' manage=off
|
||||
|
||||
yabai -m signal --add event=dock_did_restart \
|
||||
action="sudo yabai --load-sa"
|
||||
sudo yabai --load-sa
|
||||
|
||||
# yabai -m config external_bar all:40:0
|
||||
# exec ~/.config/borders/bordersrc &
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
||||
15
modules/home/default.azalea.nix
Normal file
15
modules/home/default.azalea.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{ ... }:
|
||||
{
|
||||
imports =
|
||||
[ (import ./git.nix) ]
|
||||
++ [ (import ./htop.nix) ]
|
||||
++ [ (import ./kitty.nix) ]
|
||||
++ [ (import ./nvim.nix) ]
|
||||
++ [ (import ./zathura.nix) ]
|
||||
++ [ (import ./packages.nix) ]
|
||||
++ [ (import ./scripts/scripts.nix) ]
|
||||
++ [ (import ./ssh.nix) ]
|
||||
++ [ (import ./zsh.nix) ]
|
||||
++ [ (import ./qutebrowser.nix) ]
|
||||
++ [ (import ./tmux.nix) ];
|
||||
}
|
||||
|
|
@ -1,5 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
fonts.fontconfig.antialias = false;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
scientifica
|
||||
# nerd-fonts._0xproto
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@
|
|||
|
||||
font = {
|
||||
name = "GohuFont 14 Nerd Font Mono";
|
||||
size = 9;
|
||||
size = 12;
|
||||
};
|
||||
|
||||
settings = {
|
||||
confirm_os_window_close = 0;
|
||||
background_opacity = "0.50";
|
||||
background_opacity = "0.75";
|
||||
window_padding_width = 10;
|
||||
scrollback_lines = 10000;
|
||||
enable_audio_bell = false;
|
||||
|
|
|
|||
|
|
@ -2,19 +2,6 @@
|
|||
{
|
||||
home.packages = with pkgs; [
|
||||
# Environment shit
|
||||
tesseract
|
||||
yubikey-touch-detector
|
||||
wireguard-tools
|
||||
openresolv
|
||||
xdg-utils
|
||||
killall
|
||||
libnotify
|
||||
openssl
|
||||
pamixer
|
||||
playerctl
|
||||
wl-clipboard
|
||||
cliphist
|
||||
poweralertd
|
||||
ffmpeg
|
||||
zip
|
||||
unzip
|
||||
|
|
@ -23,16 +10,12 @@
|
|||
gcc
|
||||
gnumake
|
||||
python3
|
||||
nautilus
|
||||
qbittorrent
|
||||
|
||||
# CLI shit
|
||||
imagemagick
|
||||
foot
|
||||
# termpdfpy # shit broke again smfh
|
||||
vimv
|
||||
pass
|
||||
lm_sensors
|
||||
neofetch
|
||||
hyfetch
|
||||
glow
|
||||
|
|
@ -54,29 +37,27 @@
|
|||
yarn
|
||||
cargo
|
||||
rustc
|
||||
# wikit
|
||||
# reader
|
||||
nmap
|
||||
# speedtest-go
|
||||
powertop
|
||||
speedtest-go
|
||||
android-tools
|
||||
sshpass
|
||||
net-tools
|
||||
nmap
|
||||
aerc
|
||||
w3m
|
||||
|
||||
aspell
|
||||
aspellDicts.de
|
||||
aspellDicts.nl
|
||||
aspellDicts.uk
|
||||
# aspell
|
||||
# aspellDicts.de
|
||||
# aspellDicts.nl
|
||||
# aspellDicts.uk
|
||||
|
||||
# Hunspell dictionaries for spell checking
|
||||
hunspell
|
||||
hunspellDicts.de_DE # German
|
||||
hunspellDicts.en_GB-ise # UK English with -ise spellings
|
||||
hunspellDicts.en_US
|
||||
hunspellDicts.nl_NL # Dutch
|
||||
hunspellDicts.nl_nl # Dutch (alternative)
|
||||
# hunspell
|
||||
# hunspellDicts.de_DE # German
|
||||
# hunspellDicts.en_GB-ise # UK English with -ise spellings
|
||||
# hunspellDicts.en_US
|
||||
# hunspellDicts.nl_NL # Dutch
|
||||
# hunspellDicts.nl_nl # Dutch (alternative)
|
||||
|
||||
# Install pip packages
|
||||
# python3
|
||||
|
|
@ -84,12 +65,5 @@
|
|||
# (writeShellScriptBin "install-pip-packages" '' # This script does not run, yet.
|
||||
# pip install --user --break-system-packages <package>
|
||||
# '')
|
||||
|
||||
# Email/calendar/etc
|
||||
# neomutt
|
||||
w3m
|
||||
# khard
|
||||
# khal
|
||||
# vdirsyncer
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ in
|
|||
home.packages = with pkgs; [
|
||||
# Home packages
|
||||
swaylock
|
||||
lm_sensors
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
@ -39,7 +40,7 @@ in
|
|||
hardware.openrgb = {
|
||||
enable = true;
|
||||
package = pkgs.openrgb-with-all-plugins;
|
||||
motherboard = "amd";
|
||||
motherboard = "intel";
|
||||
server = {
|
||||
port = 6742;
|
||||
# autoStart = true;
|
||||
|
|
|
|||
|
|
@ -82,6 +82,21 @@ in
|
|||
mpv
|
||||
kdePackages.kdeconnect-kde
|
||||
libgnome-keyring
|
||||
foot
|
||||
nautilus
|
||||
tesseract
|
||||
yubikey-touch-detector
|
||||
wireguard-tools
|
||||
openresolv
|
||||
xdg-utils
|
||||
killall
|
||||
libnotify
|
||||
openssl
|
||||
pamixer
|
||||
playerctl
|
||||
wl-clipboard
|
||||
cliphist
|
||||
poweralertd
|
||||
|
||||
# Gaming
|
||||
lunar-client
|
||||
|
|
|
|||
|
|
@ -25,6 +25,8 @@ in
|
|||
home.packages = with pkgs; [
|
||||
acpi
|
||||
brightnessctl
|
||||
powertop
|
||||
lm_sensors
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ in
|
|||
kitty.terminfo
|
||||
foot.terminfo
|
||||
powertop
|
||||
lm_sensors
|
||||
];
|
||||
|
||||
services = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue