mirror of
https://github.com/eRgo35/nix-config.git
synced 2026-02-04 22:26:11 +01:00
Compare commits
47 Commits
0a39ffcfe8
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 9b18c146ca | |||
| 7028adda9f | |||
| 716eaa17d4 | |||
| c6e3be2b21 | |||
| b41556e49e | |||
| d3de11cb35 | |||
| 99daf9c58a | |||
| e82bd4f4dc | |||
| c093d8ee00 | |||
| ca979091dc | |||
| bbb753d81d | |||
| 228f91da74 | |||
| a23e1dbe3c | |||
| 4b125c5802 | |||
| 3a8fa615f9 | |||
| 8a5f705a96 | |||
| a6a5876a23 | |||
| a1241fd833 | |||
| b1da20e832 | |||
| 9fa2da65f3 | |||
| 3aa43f8a07 | |||
| edc6aecb09 | |||
| 38c84946c5 | |||
| 11d3b28513 | |||
| e375c19c7d | |||
| e2886da8d6 | |||
| 1d68abb4c5 | |||
| 6189e52e4d | |||
| c57a67a6d0 | |||
| b7d8c84b4b | |||
| 3b2cbc6e04 | |||
| 7c030a594b | |||
| 6be617f26a | |||
| 70e2a7f007 | |||
| c893411fb8 | |||
| 4aab349158 | |||
| e0d676b63d | |||
| 8d0f158b98 | |||
| 85ed0392e9 | |||
| 2b48f21d59 | |||
| f966d071dc | |||
| 7a0c575b7e | |||
| d5e2fd9b52 | |||
| 0d2a1e8e5a | |||
| 589e5de4c9 | |||
| b2c70116a2 | |||
| 6ffe616413 |
698
flake.lock
generated
698
flake.lock
generated
File diff suppressed because it is too large
Load Diff
120
flake.nix
120
flake.nix
@@ -2,7 +2,8 @@
|
|||||||
description = "Mike's Flake";
|
description = "Mike's Flake";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
|
||||||
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
||||||
nur.url = "github:nix-community/NUR";
|
nur.url = "github:nix-community/NUR";
|
||||||
nix-alien.url = "github:thiagokokada/nix-alien";
|
nix-alien.url = "github:thiagokokada/nix-alien";
|
||||||
@@ -41,7 +42,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager/release-24.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -51,42 +52,99 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
stylix = {
|
stylix = {
|
||||||
url = "github:danth/stylix";
|
url = "github:danth/stylix/release-24.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs = {
|
||||||
{ nixpkgs, ... }@inputs:
|
self,
|
||||||
{
|
nixpkgs,
|
||||||
|
home-manager,
|
||||||
|
...
|
||||||
|
} @ inputs: let
|
||||||
|
inherit (self) outputs;
|
||||||
|
|
||||||
nixosConfigurations = {
|
systems = [
|
||||||
zion = nixpkgs.lib.nixosSystem {
|
"x86_64-linux"
|
||||||
modules = [ ./hosts ];
|
"aarch64-linux"
|
||||||
specialArgs = {
|
];
|
||||||
inherit inputs;
|
|
||||||
username = "mike";
|
|
||||||
hostname = "zion";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
thor = nixpkgs.lib.nixosSystem {
|
forAllSystems = nixpkgs.lib.genAttrs systems;
|
||||||
modules = [ ./hosts ];
|
in {
|
||||||
specialArgs = {
|
# Your custom packages
|
||||||
inherit inputs;
|
# Accessible through 'nix build', 'nix shell', etc
|
||||||
username = "mike";
|
packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
|
||||||
hostname = "thor";
|
# Formatter for your nix files, available through 'nix fmt'
|
||||||
};
|
# Other options beside 'alejandra' include 'nixpkgs-fmt'
|
||||||
};
|
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra);
|
||||||
|
|
||||||
server = nixpkgs.lib.nixosSystem {
|
# Your custom packages and modifications, exported as overlays
|
||||||
modules = [ ./hosts ];
|
overlays = import ./overlays {inherit inputs;};
|
||||||
specialArgs = {
|
# Reusable nixos modules you might want to export
|
||||||
inherit inputs;
|
# These are usually stuff you would upstream into nixpkgs
|
||||||
username = "mike";
|
nixosModules = import ./modules/nixos;
|
||||||
hostname = "server";
|
# Reusable home-manager modules you might want to export
|
||||||
};
|
# These are usually stuff you would upstream into home-manager
|
||||||
};
|
homeManagerModules = import ./modules/home-manager;
|
||||||
|
|
||||||
|
# NixOS configuration entrypoint
|
||||||
|
# Available through 'nixos-rebuild --flake .#your-hostname'
|
||||||
|
nixosConfigurations = {
|
||||||
|
zion = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {inherit inputs outputs;};
|
||||||
|
modules = [
|
||||||
|
# > Our main nixos configuration file <
|
||||||
|
./hosts/zion/configuration.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
thor = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {inherit inputs outputs;};
|
||||||
|
modules = [
|
||||||
|
# > Our main nixos configuration file <
|
||||||
|
./hosts/thor/configuration.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
server = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {inherit inputs outputs;};
|
||||||
|
modules = [
|
||||||
|
# > Our main nixos configuration file <
|
||||||
|
./hosts/server/configuration.nix
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Standalone home-manager configuration entrypoint
|
||||||
|
# Available through 'home-manager --flake .#your-username@your-hostname'
|
||||||
|
homeConfigurations = {
|
||||||
|
"mike@zion" = home-manager.lib.homeManagerConfiguration {
|
||||||
|
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
|
||||||
|
extraSpecialArgs = {inherit inputs outputs;};
|
||||||
|
modules = [
|
||||||
|
# > Our main home-manager configuration file <
|
||||||
|
./home-manager/home.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"mike@thor" = home-manager.lib.homeManagerConfiguration {
|
||||||
|
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
|
||||||
|
extraSpecialArgs = {inherit inputs outputs;};
|
||||||
|
modules = [
|
||||||
|
# > Our main home-manager configuration file <
|
||||||
|
./home-manager/home.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"mike@server" = home-manager.lib.homeManagerConfiguration {
|
||||||
|
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
|
||||||
|
extraSpecialArgs = {inherit inputs outputs;};
|
||||||
|
modules = [
|
||||||
|
# > Our main home-manager configuration file <
|
||||||
|
./home-manager/home.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,5 +50,16 @@
|
|||||||
tree = "eza -T";
|
tree = "eza -T";
|
||||||
|
|
||||||
startupctl = "systemctl list-unit-files --type=service | grep enabled";
|
startupctl = "systemctl list-unit-files --type=service | grep enabled";
|
||||||
|
|
||||||
|
ga = "git add .";
|
||||||
|
gap = "git add -p";
|
||||||
|
gc = "git commit -m";
|
||||||
|
gu = "git push";
|
||||||
|
gp = "git pull";
|
||||||
|
gs = "git status";
|
||||||
|
gd = "git diff";
|
||||||
|
|
||||||
|
vim = "nvim";
|
||||||
|
vi = "nvim";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{ lib }: {
|
{lib}: {
|
||||||
options.local.keys = lib.mkOption { };
|
options.local.keys = lib.mkOption {};
|
||||||
|
|
||||||
config.local.keys = {
|
config.local.keys = {
|
||||||
senpai = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINBehbdWBTyhs8Tqnc7w172XhWcPAcAM6BC9Gny3i8An";
|
senpai = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINBehbdWBTyhs8Tqnc7w172XhWcPAcAM6BC9Gny3i8An";
|
||||||
|
Before Width: | Height: | Size: 226 KiB After Width: | Height: | Size: 226 KiB |
181
home-manager/dwm/.xinitrc
Normal file
181
home-manager/dwm/.xinitrc
Normal file
@@ -0,0 +1,181 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# screenlayout setup for odin
|
||||||
|
autorandr -c
|
||||||
|
|
||||||
|
# start some nice programs
|
||||||
|
# if [ -d /etc/X11/xinit/xinitrc.d ] ; then
|
||||||
|
# for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
|
||||||
|
# # shellcheck source=/dev/null
|
||||||
|
# [ -x "$f" ] && . "$f"
|
||||||
|
# done
|
||||||
|
# unset f
|
||||||
|
# fi
|
||||||
|
|
||||||
|
xset -b # disable bell
|
||||||
|
|
||||||
|
export SSH_AUTH_SOCK;
|
||||||
|
# export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
|
||||||
|
# ssh-agent -d &
|
||||||
|
|
||||||
|
|
||||||
|
# ssh agent setup
|
||||||
|
#eval `/usr/bin/ssh-agent`
|
||||||
|
#
|
||||||
|
#if test -f /usr/lib/openssh/x11-ssh-askpass # Archlinux
|
||||||
|
#then
|
||||||
|
# SSH_ASKPASS=/usr/lib/openssh/x11-ssh-askpass ssh-add < /dev/null
|
||||||
|
#fi
|
||||||
|
#
|
||||||
|
#if test -f /usr/lib/ssh/x11-ssh-askpass # Debian
|
||||||
|
#then
|
||||||
|
# SSH_ASKPASS=/usr/lib/ssh/x11-ssh-askpass ssh-add < /dev/null
|
||||||
|
#fi
|
||||||
|
|
||||||
|
# theming
|
||||||
|
export QT_QPA_PLATFORMTHEME=qt5ct
|
||||||
|
export DESKTOP_SESSION=plasma
|
||||||
|
export XDG_CURRENT_DESKTOP=dwm
|
||||||
|
|
||||||
|
# IMF configuration (fcitx5)
|
||||||
|
export GTK_IM_MODULE=fcitx
|
||||||
|
export QT_IM_MODULE=fcitx
|
||||||
|
export XMODIFIERS=@im=fcitx
|
||||||
|
export GLFW_IM_MODULE=ibus
|
||||||
|
|
||||||
|
# compositor
|
||||||
|
picom -b --vsync &
|
||||||
|
|
||||||
|
# fix android studio interface
|
||||||
|
export _JAVA_AWT_WM_NONREPARENTING=1 &
|
||||||
|
|
||||||
|
# set keyboard layout
|
||||||
|
setxkbmap pl &
|
||||||
|
# IMF daemon
|
||||||
|
# fcitx5 -d &
|
||||||
|
|
||||||
|
# enable local fonts in .fonts directory
|
||||||
|
# xset +fp /usr/share/fonts/local &
|
||||||
|
# xset +fp /usr/share/fonts/misc &
|
||||||
|
# xset +fp ~/.fonts &
|
||||||
|
# xset fp rehash &
|
||||||
|
# fc-cache -fv &
|
||||||
|
|
||||||
|
# powersaving options
|
||||||
|
# xset s off &
|
||||||
|
# xset s noblank &
|
||||||
|
# xset s noexpose &
|
||||||
|
# xset s on &
|
||||||
|
# xset -dpms &
|
||||||
|
# xset s 900 &
|
||||||
|
# Host-specific rules
|
||||||
|
if [ "$(hostname)" = "zion" ]; then
|
||||||
|
# Zion rules (Desktop)
|
||||||
|
# Enable DPMS and set longer timeouts for desktop
|
||||||
|
# xset +dpms
|
||||||
|
# xset dpms 1200 2400 3600 # Standby: 20 min, Suspend: 40 min, Off: 60 min
|
||||||
|
|
||||||
|
# Enable screen blanking and set timeout to 20 minutes
|
||||||
|
# xset s on
|
||||||
|
xset s off
|
||||||
|
xset s noblank
|
||||||
|
xset -dpms
|
||||||
|
# xset s 1200
|
||||||
|
|
||||||
|
xidlehook \
|
||||||
|
--socket /tmp/xidlehook.sock \
|
||||||
|
--not-when-fullscreen \
|
||||||
|
--not-when-audio \
|
||||||
|
--timer 600 "xset dpms force standby" "" \
|
||||||
|
--timer 1800 "xset dpms force suspend" "" \
|
||||||
|
--timer 3600 "xset dpms force off" "" &
|
||||||
|
|
||||||
|
elif [ "$(hostname)" = "thor" ]; then
|
||||||
|
# Thor rules (Laptop)
|
||||||
|
# Enable DPMS and set shorter timeouts for laptop
|
||||||
|
# xset +dpms
|
||||||
|
# xset dpms 300 600 900 # Standby: 5 min, Suspend: 10 min, Off: 15 min
|
||||||
|
|
||||||
|
# Enable screen blanking and set timeout to 10 minutes
|
||||||
|
# xset s on
|
||||||
|
# xset s 600
|
||||||
|
|
||||||
|
# Laptop-specific xidlehook rules
|
||||||
|
xidlehook \
|
||||||
|
--socket /tmp/xidlehook.sock
|
||||||
|
--not-when-fullscreen \
|
||||||
|
--not-when-audio \
|
||||||
|
--timer 450 "brightnessctl -s set 5%" "brightnessctl -s set 100%" \
|
||||||
|
--timer 600 "loginctl lock-session" "" \
|
||||||
|
--timer 750 "xset dpms force standby" "" \
|
||||||
|
--timer 900 "systemctl suspend" "" &
|
||||||
|
fi
|
||||||
|
|
||||||
|
# auths
|
||||||
|
# /usr/lib/mate-polkit/polkit-mate-authentication-agent-1 &
|
||||||
|
# gnome-keyring-daemon &
|
||||||
|
# source /etc/X11/xinit/xinitrc.d/50-systemd-user.sh
|
||||||
|
|
||||||
|
## Map super key to trigger rofi when used alone
|
||||||
|
# xcape -e 'Super_L=Super_L|Shift_L|space' &
|
||||||
|
|
||||||
|
# wallpaper engine and theming
|
||||||
|
# nitrogen --restore &
|
||||||
|
# wal --backend colorz -i $HOME/.dots/nitrogen/.config/nitrogen/pexels-engin-akyurt-1435752.jpg &
|
||||||
|
. ~/.fehbg &
|
||||||
|
|
||||||
|
## Set screen locker
|
||||||
|
xss-lock -v -- betterlockscreen -l --time-format '%I:%M %p' &
|
||||||
|
|
||||||
|
## Desktop portal
|
||||||
|
/usr/lib/xdg-desktop-portal-gtk &
|
||||||
|
|
||||||
|
# notification daemon
|
||||||
|
dunst &
|
||||||
|
|
||||||
|
## Screenshot daemon
|
||||||
|
flameshot &
|
||||||
|
|
||||||
|
# Easyeffects daemon
|
||||||
|
# easyeffects --gapplication-service &
|
||||||
|
|
||||||
|
## Telegram daemon
|
||||||
|
# telegram-desktop -startintray &
|
||||||
|
|
||||||
|
## Caffeine-ng
|
||||||
|
# caffeine >/dev/null 2>&1 &
|
||||||
|
|
||||||
|
## Ulauncher
|
||||||
|
# ulauncher --hide-window --no-window-shadow >/dev/null 2>&1 &
|
||||||
|
|
||||||
|
# Emacs Server
|
||||||
|
# emacs --daemon &
|
||||||
|
|
||||||
|
# Theme changing service
|
||||||
|
# xsettingsd &
|
||||||
|
|
||||||
|
# Theming service
|
||||||
|
# dusk &
|
||||||
|
|
||||||
|
# Alacritty config
|
||||||
|
# $HOME/.config/alacritty/theme-patcher.sh &
|
||||||
|
|
||||||
|
## THINKPAD-SPECIFIC
|
||||||
|
#hash dockd && dockd --daemon &
|
||||||
|
|
||||||
|
# status bar
|
||||||
|
bash $HOME/.config/bar.sh & disown
|
||||||
|
|
||||||
|
dbus-update-activation-environment --systemd DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY
|
||||||
|
|
||||||
|
# . /etc/X11/Xsession
|
||||||
|
|
||||||
|
# redshift &
|
||||||
|
|
||||||
|
# some merges
|
||||||
|
# xrdb merge .Xresources &
|
||||||
|
# xsetroot -cursor_name left_ptr &
|
||||||
|
|
||||||
|
# start dwm
|
||||||
|
exec dwm
|
||||||
|
|
||||||
3
home-manager/dwm/.zprofile
Normal file
3
home-manager/dwm/.zprofile
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
if [ "$(tty)" = "/dev/tty1" ];then
|
||||||
|
exec startx
|
||||||
|
fi
|
||||||
136
home-manager/dwm/bar.sh
Executable file
136
home-manager/dwm/bar.sh
Executable file
@@ -0,0 +1,136 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Rosé Pine color palette
|
||||||
|
BASE=#191724
|
||||||
|
SURFACE=#1f1d2e
|
||||||
|
OVERLAY=#26233a
|
||||||
|
|
||||||
|
MUTED=#6e6a86
|
||||||
|
SUBTLE=#908caa
|
||||||
|
TEXT=#e0def4
|
||||||
|
|
||||||
|
LOVE=#eb6f92
|
||||||
|
GOLD=#f6c177
|
||||||
|
ROSE=#ebbcba
|
||||||
|
PINE=#31748f
|
||||||
|
FOAM=#9ccfd8
|
||||||
|
IRIS=#c4a7e7
|
||||||
|
|
||||||
|
HIGHLIGHT_LOW=#21202e
|
||||||
|
HIGHLIGHT_MED=#403d52
|
||||||
|
HIGHLIGHT_HIGH=#524f67
|
||||||
|
|
||||||
|
# Function to get CPU usage
|
||||||
|
get_cpu_usage() {
|
||||||
|
cpu_usage=$(awk '{u=$2+$4; t=$2+$4+$5; if (NR==1){u1=u; t1=t;} else print int(($2+$4-u1) * 100 / (t-t1)); }' \
|
||||||
|
<(grep 'cpu ' /proc/stat) <(sleep 1; grep 'cpu ' /proc/stat))
|
||||||
|
|
||||||
|
echo "^c$FOAM^CPU: $cpu_usage%"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to get memory usage
|
||||||
|
get_memory_usage() {
|
||||||
|
# Extract used and total memory in kilobytes
|
||||||
|
mem_info=$(free -k | awk '/^Mem:/ {print $3, $2}')
|
||||||
|
used_mem=$(echo $mem_info | awk '{print $1}')
|
||||||
|
total_mem=$(echo $mem_info | awk '{print $2}')
|
||||||
|
|
||||||
|
# Calculate memory usage percentage
|
||||||
|
mem_percent=$(awk "BEGIN {printf \"%.0f%%\", ($used_mem / $total_mem) * 100}")
|
||||||
|
|
||||||
|
# Output the result with color
|
||||||
|
echo "^c$IRIS^MEM: $mem_percent"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to get volume level
|
||||||
|
get_volume() {
|
||||||
|
# Get the default sink (output device) and its volume/mute status
|
||||||
|
default_sink=$(pactl get-default-sink)
|
||||||
|
volume=$(pactl get-sink-volume $default_sink | grep -o '[0-9]*%' | head -1)
|
||||||
|
is_muted=$(pactl get-sink-mute $default_sink | grep -o 'yes\|no')
|
||||||
|
|
||||||
|
# Replace "yes" with "MUT" and "no" with the volume level
|
||||||
|
if [ "$is_muted" = "yes" ]; then
|
||||||
|
volume="MUT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get the default source (input device) and its volume/mute status
|
||||||
|
default_source=$(pactl get-default-source)
|
||||||
|
mic_level=$(pactl get-source-volume $default_source | grep -o '[0-9]*%' | head -1)
|
||||||
|
is_mic_muted=$(pactl get-source-mute $default_source | grep -o 'yes\|no')
|
||||||
|
|
||||||
|
# Replace "yes" with "MUT" and "no" with the microphone level
|
||||||
|
if [ "$is_mic_muted" = "yes" ]; then
|
||||||
|
mic_level="MUT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Output the results with colors
|
||||||
|
echo "^c$PINE^VOL: $volume MIC: $mic_level"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to get brightness percentage
|
||||||
|
get_brightness() {
|
||||||
|
# Get the current brightness level (adjust path if needed)
|
||||||
|
brightness=$(cat /sys/class/backlight/intel_backlight/brightness)
|
||||||
|
max_brightness=$(cat /sys/class/backlight/intel_backlight/max_brightness)
|
||||||
|
|
||||||
|
# Calculate brightness percentage
|
||||||
|
brightness_percent=$(awk "BEGIN {printf \"%.0f%%\", ($brightness / $max_brightness) * 100}")
|
||||||
|
|
||||||
|
# Output the result with color
|
||||||
|
echo "^c$ROSE^BRT: $brightness_percent"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to get weighted average battery level
|
||||||
|
get_battery_level() {
|
||||||
|
# Get battery levels (adjust paths if needed)
|
||||||
|
battery0_level=$(cat /sys/class/power_supply/BAT0/capacity)
|
||||||
|
battery1_level=$(cat /sys/class/power_supply/BAT1/capacity)
|
||||||
|
|
||||||
|
battery0_energy_full=$(cat /sys/class/power_supply/BAT0/energy_full)
|
||||||
|
battery1_energy_full=$(cat /sys/class/power_supply/BAT1/energy_full)
|
||||||
|
|
||||||
|
# Calculate weights based on energy capacity
|
||||||
|
weight0=$(awk "BEGIN {printf \"%.2f\", $battery0_energy_full / ($battery0_energy_full + $battery1_energy_full)}")
|
||||||
|
weight1=$(awk "BEGIN {printf \"%.2f\", $battery1_energy_full / ($battery0_energy_full + $battery1_energy_full)}")
|
||||||
|
|
||||||
|
# Calculate weighted average
|
||||||
|
weighted_avg=$(awk "BEGIN {printf \"%.0f%%\", ($battery0_level * $weight0 + $battery1_level * $weight1)}")
|
||||||
|
|
||||||
|
# Output the result with color
|
||||||
|
echo "^c$LOVE^BAT: $weighted_avg"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to get date and time in American 12-hour format
|
||||||
|
get_datetime() {
|
||||||
|
datetime=$(date +"%a %d %b %I:%M %p")
|
||||||
|
echo "^c$GOLD^$datetime"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to detect if the system is a laptop
|
||||||
|
is_laptop() {
|
||||||
|
# Check if battery and brightness files exist
|
||||||
|
if [ -d /sys/class/power_supply/BAT0 ] && [ -d /sys/class/backlight/intel_backlight ]; then
|
||||||
|
return 0 # Laptop
|
||||||
|
else
|
||||||
|
return 1 # PC
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Main loop to update xsetroot
|
||||||
|
while true; do
|
||||||
|
# Combine all status components
|
||||||
|
if is_laptop; then
|
||||||
|
# Include battery and brightness for laptops
|
||||||
|
status="$(get_volume) ^c$TEXT^| $(get_cpu_usage) ^c$TEXT^| $(get_memory_usage) ^c$TEXT^| $(get_brightness) ^c$TEXT^| $(get_battery_level) ^c$TEXT^| $(get_datetime)"
|
||||||
|
else
|
||||||
|
# Exclude battery and brightness for PCs
|
||||||
|
status="$(get_volume) ^c$TEXT^| $(get_cpu_usage) ^c$TEXT^| $(get_memory_usage) ^c$TEXT^| $(get_datetime)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update the root window name with a darker background
|
||||||
|
xsetroot -name "$status"
|
||||||
|
|
||||||
|
# Sleep for 250 milis before updating
|
||||||
|
sleep 0.25
|
||||||
|
done
|
||||||
6
home-manager/dwm/betterlockscreen.nix
Normal file
6
home-manager/dwm/betterlockscreen.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
services.betterlockscreen = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.betterlockscreen;
|
||||||
|
};
|
||||||
|
}
|
||||||
22
home-manager/dwm/black_to_transparent.frag
Normal file
22
home-manager/dwm/black_to_transparent.frag
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
#version 330
|
||||||
|
in vec2 texcoord;
|
||||||
|
uniform float opacity;
|
||||||
|
uniform bool invert_color;
|
||||||
|
uniform sampler2D tex;
|
||||||
|
|
||||||
|
vec4 window_shader() {
|
||||||
|
vec4 c = texelFetch(tex, ivec2(texcoord), 0);
|
||||||
|
{
|
||||||
|
// Change vec4(1.0, 1.0, 1.0, 1.0) to your desired color
|
||||||
|
vec4 vdiff = abs(vec4(0.0, 0.0, 0.0, 1.0) - c);
|
||||||
|
float diff = max(max(max(vdiff.r, vdiff.g), vdiff.b), vdiff.a);
|
||||||
|
// Change 0.8 to your desired opacity
|
||||||
|
if (diff < 0.001)
|
||||||
|
c *= 0;
|
||||||
|
}
|
||||||
|
if (invert_color)
|
||||||
|
c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a);
|
||||||
|
c *= opacity;
|
||||||
|
// vec4 default_post_processing(vec4 c);
|
||||||
|
return c;
|
||||||
|
}
|
||||||
90
home-manager/dwm/default.nix
Normal file
90
home-manager/dwm/default.nix
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./picom.nix
|
||||||
|
# ./rofi.nix
|
||||||
|
./flameshot.nix
|
||||||
|
./betterlockscreen.nix
|
||||||
|
./easyeffects.nix
|
||||||
|
# ./theming.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
dmenu
|
||||||
|
st
|
||||||
|
dunst
|
||||||
|
xss-lock
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
xorg.xrdb
|
||||||
|
xorg.xrandr
|
||||||
|
xorg.xset
|
||||||
|
xorg.xsetroot
|
||||||
|
xorg.setxkbmap
|
||||||
|
xorg.xbacklight
|
||||||
|
xorg.libX11
|
||||||
|
xorg.libX11.dev
|
||||||
|
xorg.libxcb
|
||||||
|
xorg.libXft
|
||||||
|
xorg.libXinerama
|
||||||
|
xorg.xinit
|
||||||
|
xorg.xinput
|
||||||
|
brightnessctl
|
||||||
|
playerctl
|
||||||
|
qt6ct
|
||||||
|
xautolock
|
||||||
|
xclip
|
||||||
|
# gnome.gnome-keyring
|
||||||
|
feh
|
||||||
|
alsa-utils
|
||||||
|
nemo
|
||||||
|
pulseaudioFull
|
||||||
|
arandr
|
||||||
|
neomutt
|
||||||
|
ncmpcpp
|
||||||
|
ncspot
|
||||||
|
ncpamixer
|
||||||
|
lf
|
||||||
|
pamixer
|
||||||
|
w3m
|
||||||
|
bat
|
||||||
|
efibootmgr
|
||||||
|
eww
|
||||||
|
fontconfig
|
||||||
|
freetype
|
||||||
|
gnugrep
|
||||||
|
gparted
|
||||||
|
nfs-utils
|
||||||
|
openssl
|
||||||
|
polkit_gnome
|
||||||
|
ripgrep
|
||||||
|
stdenv
|
||||||
|
tldr
|
||||||
|
variety
|
||||||
|
virt-manager
|
||||||
|
xfce.thunar
|
||||||
|
dconf
|
||||||
|
xidlehook
|
||||||
|
];
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
".xinitrc" = {
|
||||||
|
source = ./.xinitrc;
|
||||||
|
};
|
||||||
|
".zprofile" = {
|
||||||
|
source = ./.zprofile;
|
||||||
|
};
|
||||||
|
".config/bar.sh" = {
|
||||||
|
source = ./bar.sh;
|
||||||
|
};
|
||||||
|
# ".Xresources" = {
|
||||||
|
# text = ''
|
||||||
|
# Xcursor.theme: "Bibata-Modern-Classic"
|
||||||
|
# Xcursor.size: 18
|
||||||
|
# '';
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
}
|
||||||
5
home-manager/dwm/easyeffects.nix
Normal file
5
home-manager/dwm/easyeffects.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
services.easyeffects = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
10
home-manager/dwm/flameshot.nix
Normal file
10
home-manager/dwm/flameshot.nix
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
services.flameshot = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
General = {
|
||||||
|
showStartupLaunchMessage = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
257
home-manager/dwm/picom-animations.conf
Normal file
257
home-manager/dwm/picom-animations.conf
Normal file
@@ -0,0 +1,257 @@
|
|||||||
|
# Animations for NORMAL windows.
|
||||||
|
{
|
||||||
|
match = "window_type = 'normal'";
|
||||||
|
animations = (
|
||||||
|
{
|
||||||
|
triggers = ["close", "hide"];
|
||||||
|
opacity = {
|
||||||
|
curve = "linear";
|
||||||
|
duration = 0.1;
|
||||||
|
start = "window-raw-opacity-before";
|
||||||
|
end = 0;
|
||||||
|
};
|
||||||
|
blur-opacity = "opacity";
|
||||||
|
shadow-opacity = "opacity";
|
||||||
|
},
|
||||||
|
{
|
||||||
|
triggers = ["open", "show"];
|
||||||
|
opacity = {
|
||||||
|
curve = "cubic-bezier(0,1,1,1)";
|
||||||
|
duration = 0.5;
|
||||||
|
start = 0;
|
||||||
|
end = "window-raw-opacity";
|
||||||
|
};
|
||||||
|
blur-opacity = "opacity";
|
||||||
|
shadow-opacity = "opacity";
|
||||||
|
offset-x = "(1 - scale-x) / 2 * window-width";
|
||||||
|
offset-y = "(1 - scale-y) / 2 * window-height";
|
||||||
|
scale-x = {
|
||||||
|
curve = "cubic-bezier(0,1.3,1,1)";
|
||||||
|
duration = 0.5;
|
||||||
|
start = 0.6;
|
||||||
|
end = 1;
|
||||||
|
};
|
||||||
|
scale-y = "scale-x";
|
||||||
|
shadow-scale-x = "scale-x";
|
||||||
|
shadow-scale-y = "scale-y";
|
||||||
|
shadow-offset-x = "offset-x";
|
||||||
|
shadow-offset-y = "offset-y";
|
||||||
|
},
|
||||||
|
{
|
||||||
|
triggers = ["geometry"];
|
||||||
|
scale-x = {
|
||||||
|
curve = "cubic-bezier(0,0,0,1.15)";
|
||||||
|
duration = 0.5;
|
||||||
|
start = "window-width-before / window-width";
|
||||||
|
end = 1;
|
||||||
|
}
|
||||||
|
scale-y = {
|
||||||
|
curve = "cubic-bezier(0,0,0,1.15)";
|
||||||
|
duration = 0.5;
|
||||||
|
start = "window-height-before / window-height";
|
||||||
|
end = 1;
|
||||||
|
}
|
||||||
|
# offset-x = {
|
||||||
|
# curve = "cubic-bezier(0,0,0,1.15)";
|
||||||
|
# duration = 0.5;
|
||||||
|
# start = 0;
|
||||||
|
# end = 0;
|
||||||
|
# }
|
||||||
|
# offset-y = {
|
||||||
|
# curve = "cubic-bezier(0,0,0,1.15)";
|
||||||
|
# duration = 0.3;
|
||||||
|
# start = "window-height";
|
||||||
|
# end = 0;
|
||||||
|
# }
|
||||||
|
# offset-x = {
|
||||||
|
# curve = "cubic-bezier(0,0,0,1.15)";
|
||||||
|
# duration = 0.3;
|
||||||
|
# start = "window-x-before - window-monitor-x - window-x";
|
||||||
|
# end = 0;
|
||||||
|
# }
|
||||||
|
offset-y = {
|
||||||
|
curve = "cubic-bezier(0,0,0,1.15)";
|
||||||
|
duration = 0.3;
|
||||||
|
start = "window-height / 2";
|
||||||
|
end = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
shadow-scale-x = "scale-x";
|
||||||
|
shadow-scale-y = "scale-y";
|
||||||
|
# shadow-offset-x = "offset-x";
|
||||||
|
shadow-offset-y = "offset-y";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
|
# Animations for Rofi launchers.
|
||||||
|
{
|
||||||
|
match = "class_g = 'Rofi'";
|
||||||
|
animations = (
|
||||||
|
{
|
||||||
|
triggers = ["close", "hide"];
|
||||||
|
preset = "disappear";
|
||||||
|
duration = 0.05;
|
||||||
|
scale = 0.5;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
triggers = ["open", "show"];
|
||||||
|
preset = "appear";
|
||||||
|
duration = 0.2;
|
||||||
|
scale = 0.5;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
# Animations for Flameshot.
|
||||||
|
{
|
||||||
|
match = "class_g = 'flameshot'";
|
||||||
|
animations = (
|
||||||
|
{
|
||||||
|
triggers = ["close", "hide"];
|
||||||
|
preset = "disappear";
|
||||||
|
duration = 0.1;
|
||||||
|
scale = 1;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
triggers = ["open", "show"];
|
||||||
|
preset = "appear";
|
||||||
|
duration = 0.1;
|
||||||
|
scale = 1;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
|
# Animations for Dunst notifications.
|
||||||
|
{
|
||||||
|
match = "class_g = 'Dunst'";
|
||||||
|
animations = (
|
||||||
|
{
|
||||||
|
triggers = ["close", "hide"];
|
||||||
|
preset = "fly-out"; #-dunst-close-preset
|
||||||
|
direction = "up"; #-dunst-close-direction
|
||||||
|
duration = 0.2;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
triggers = ["open", "show"];
|
||||||
|
preset = "fly-in"; #-dunst-open-preset
|
||||||
|
direction = "up"; #-dunst-open-direction
|
||||||
|
duration = 0.2;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
|
# # Animations for Jgmenu.
|
||||||
|
# {
|
||||||
|
# match = "class_g = 'jgmenu'";
|
||||||
|
# animations = (
|
||||||
|
# {
|
||||||
|
# triggers = ["close", "hide"];
|
||||||
|
# preset = "disappear";
|
||||||
|
# duration = 0.08;
|
||||||
|
# scale = 0.5;
|
||||||
|
# },
|
||||||
|
# {
|
||||||
|
# triggers = ["open", "show"];
|
||||||
|
# preset = "appear";
|
||||||
|
# duration = 0.15;
|
||||||
|
# scale = 0.5;
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
#
|
||||||
|
# # Animations for Scratchpad.
|
||||||
|
# {
|
||||||
|
# match = "class_g = 'Scratch'";
|
||||||
|
# animations = (
|
||||||
|
# {
|
||||||
|
# triggers = ["close", "hide"];
|
||||||
|
# preset = "fly-out";
|
||||||
|
# direction = "up";
|
||||||
|
# duration = 0.2;
|
||||||
|
# },
|
||||||
|
# {
|
||||||
|
# triggers = ["open", "show"];
|
||||||
|
# preset = "fly-in";
|
||||||
|
# direction = "up";
|
||||||
|
# duration = 0.2;
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
#
|
||||||
|
# # Animations for Eww Profile card.
|
||||||
|
# {
|
||||||
|
# match = "name = 'Eww - launchermenu'";
|
||||||
|
# animations = (
|
||||||
|
# {
|
||||||
|
# triggers = ["close", "hide"];
|
||||||
|
# preset = "slide-out";
|
||||||
|
# direction = "right";
|
||||||
|
# duration = 0.2;
|
||||||
|
# },
|
||||||
|
# {
|
||||||
|
# triggers = ["open", "show"];
|
||||||
|
# preset = "slide-in";
|
||||||
|
# direction = "right";
|
||||||
|
# duration = 0.2;
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
#
|
||||||
|
# # Animations for Eww Music player.
|
||||||
|
# {
|
||||||
|
# match = "name = 'Eww - music'";
|
||||||
|
# animations = (
|
||||||
|
# {
|
||||||
|
# triggers = ["close", "hide"];
|
||||||
|
# preset = "slide-out";
|
||||||
|
# direction = "up";
|
||||||
|
# duration = 0.2;
|
||||||
|
# },
|
||||||
|
# {
|
||||||
|
# triggers = ["open", "show"];
|
||||||
|
# preset = "slide-in";
|
||||||
|
# direction = "up";
|
||||||
|
# duration = 0.2;
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
#
|
||||||
|
# # Animations for Eww calendar.
|
||||||
|
# {
|
||||||
|
# match = "name = 'Eww - date'";
|
||||||
|
# animations = (
|
||||||
|
# {
|
||||||
|
# triggers = ["close", "hide"];
|
||||||
|
# preset = "fly-out";
|
||||||
|
# direction = "up";
|
||||||
|
# duration = 0.2;
|
||||||
|
# },
|
||||||
|
# {
|
||||||
|
# triggers = ["open", "show"];
|
||||||
|
# preset = "fly-in";
|
||||||
|
# direction = "up";
|
||||||
|
# duration = 0.2;
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
#
|
||||||
|
# # Animations for Eww Cheatsheet.
|
||||||
|
# {
|
||||||
|
# match = "name = 'Eww - csheet'";
|
||||||
|
# animations = (
|
||||||
|
# {
|
||||||
|
# triggers = ["close", "hide"];
|
||||||
|
# preset = "disappear";
|
||||||
|
# duration = 0.08;
|
||||||
|
# scale = 0.5;
|
||||||
|
# },
|
||||||
|
# {
|
||||||
|
# triggers = ["open", "show"];
|
||||||
|
# preset = "appear";
|
||||||
|
# duration = 0.15;
|
||||||
|
# scale = 0.5;
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# }
|
||||||
146
home-manager/dwm/picom.conf
Normal file
146
home-manager/dwm/picom.conf
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
## ----- Shadows ----- ##
|
||||||
|
|
||||||
|
shadow = true;
|
||||||
|
|
||||||
|
shadow-radius = 7;
|
||||||
|
#shadow-opacity = .6
|
||||||
|
shadow-offset-x = -7;
|
||||||
|
shadow-offset-y = -7;
|
||||||
|
shadow-color = "#000000"
|
||||||
|
|
||||||
|
## ----- Fading ----- ##
|
||||||
|
|
||||||
|
fading = true;
|
||||||
|
|
||||||
|
fade-in-step = 0.03;
|
||||||
|
fade-out-step = 0.03;
|
||||||
|
fade-delta = 5
|
||||||
|
no-fading-openclose = false
|
||||||
|
no-fading-destroyed-argb = false
|
||||||
|
|
||||||
|
## ----- Transparency ----- ##
|
||||||
|
|
||||||
|
frame-opacity = 1.0;
|
||||||
|
|
||||||
|
# inactive-dim-fixed = true
|
||||||
|
|
||||||
|
## ----- Corners ----- ##
|
||||||
|
|
||||||
|
corner-radius = 10
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# General Settings #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Available backends "xrender" "glx" "egl"
|
||||||
|
backend = "glx"
|
||||||
|
|
||||||
|
dithered-present = false;
|
||||||
|
vsync = true;
|
||||||
|
|
||||||
|
detect-rounded-corners = true;
|
||||||
|
detect-client-opacity = true;
|
||||||
|
detect-transient = true;
|
||||||
|
|
||||||
|
use-damage = true;
|
||||||
|
# xrender-sync-fence = false
|
||||||
|
# transparent-clipping = false
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Rules #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
blur:
|
||||||
|
|
||||||
|
{
|
||||||
|
method = "gaussian";
|
||||||
|
size = 90;
|
||||||
|
deviation = 30;
|
||||||
|
}
|
||||||
|
|
||||||
|
rules: (
|
||||||
|
|
||||||
|
{
|
||||||
|
blur-background = false;
|
||||||
|
fade = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "window_type = 'normal'";
|
||||||
|
fade = true; #-fade-switch
|
||||||
|
shadow = true; #-shadow-switch
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "window_type = 'dialog'";
|
||||||
|
shadow = true; #-shadow-switch
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "window_type = 'tooltip'";
|
||||||
|
corner-radius = 0;
|
||||||
|
opacity = 0.90;
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "window_type = 'dock'";
|
||||||
|
corner-radius = 0;
|
||||||
|
fade = true;
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "window_type = 'dropdown_menu' || window_type = 'menu' || window_type = 'popup' || window_type = 'popup_menu'";
|
||||||
|
corner-radius = 0;
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "class_g = 'Alacritty' || class_g = 'kitty' || class_g = 'FloaTerm'";
|
||||||
|
opacity = 0.95; #-term-opacity-switch
|
||||||
|
blur-background = true; #-blur-switch
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "class_g = 'Scratch' || class_g = 'Updating'";
|
||||||
|
opacity = 0.93;
|
||||||
|
blur-background = false; #-blur-switch
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "class_g = 'Polybar' || "
|
||||||
|
"class_g = 'eww-bar' || "
|
||||||
|
"class_g = 'Viewnior' || "
|
||||||
|
"class_g = 'Rofi' || "
|
||||||
|
"class_g = 'mpv' || "
|
||||||
|
"class_g = 'scratch' || "
|
||||||
|
"class_g = 'Dunst' || "
|
||||||
|
"class_g = 'retroarch'";
|
||||||
|
corner-radius = 0;
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "name = 'Notification' || "
|
||||||
|
"class_g ?= 'Notify-osd' || "
|
||||||
|
"class_g = 'Dunst' || "
|
||||||
|
"class_g = 'Polybar' || "
|
||||||
|
"class_g = 'jgmenu' || "
|
||||||
|
"class_g = 'scratch' || "
|
||||||
|
"class_g = 'Spotify' || "
|
||||||
|
"class_g = 'retroarch' || "
|
||||||
|
"class_g = 'firefox' || "
|
||||||
|
"class_g = 'Rofi' || "
|
||||||
|
"class_g = 'Screenkey' || "
|
||||||
|
"class_g = 'mpv' || "
|
||||||
|
"class_g = 'Viewnior' || "
|
||||||
|
"_GTK_FRAME_EXTENTS@";
|
||||||
|
shadow = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "class_g = 'i3lock'";
|
||||||
|
shader = "black_to_transparent.frag";
|
||||||
|
blur-background = true;
|
||||||
|
},
|
||||||
|
|
||||||
|
@include "picom-animations.conf"
|
||||||
|
|
||||||
|
)
|
||||||
117
home-manager/dwm/picom.nix
Normal file
117
home-manager/dwm/picom.nix
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
# home.file = {
|
||||||
|
# ".config/picom/picom.conf" = {
|
||||||
|
# text = builtins.readFile ./picom.conf;
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# ".config/picom/picom-animations.conf" = {
|
||||||
|
# text = builtins.readFile ./picom-animations.conf;
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# ".config/picom/black_to_transparent.frag" = {
|
||||||
|
# text = builtins.readFile ./black_to_transparent.frag;
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
picom
|
||||||
|
];
|
||||||
|
|
||||||
|
# services.picom = {
|
||||||
|
# enable = true;
|
||||||
|
# package = pkgs.picom;
|
||||||
|
# backend = "glx";
|
||||||
|
#
|
||||||
|
# shadow = true;
|
||||||
|
# shadowOpacity = 0.2;
|
||||||
|
# shadowOffsets = [1 1];
|
||||||
|
#
|
||||||
|
# shadowExclude = [
|
||||||
|
# "name = 'Notification'"
|
||||||
|
# "class_g = 'Conky'"
|
||||||
|
# "_GTK_FRAME_EXTENTS@:c"
|
||||||
|
# "override_redirect = 1 && !WM_CLASS@:s"
|
||||||
|
# "class_g ?= 'Dmenu'"
|
||||||
|
# "class_g ?= 'Dunst'"
|
||||||
|
# "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
|
||||||
|
# "_GTK_FRAME_EXTENTS@:c"
|
||||||
|
# "_NET_WM_STATE@:32a *= '_NET_WM_STATE_STICKY'"
|
||||||
|
# "class_g ?= 'i3-frame'"
|
||||||
|
# "class_g = 'Rofi'"
|
||||||
|
# ];
|
||||||
|
#
|
||||||
|
# fade = true;
|
||||||
|
# fadeSteps = [0.08 0.05];
|
||||||
|
#
|
||||||
|
# vSync = true;
|
||||||
|
#
|
||||||
|
# settings = {
|
||||||
|
# shadow = {
|
||||||
|
# radius = 3;
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# corner-radius = 9;
|
||||||
|
# rounder-corners-exclude = [
|
||||||
|
# "window_type = 'dock'"
|
||||||
|
# "window_type = 'desktop'"
|
||||||
|
# "class_g = 'Dunst'"
|
||||||
|
# ];
|
||||||
|
#
|
||||||
|
# blur = {
|
||||||
|
# method = "dual_kawase";
|
||||||
|
# strength = 10;
|
||||||
|
# background = false;
|
||||||
|
# background-frame = false;
|
||||||
|
# background-fixed = false;
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# blur-kern = "3x3box";
|
||||||
|
#
|
||||||
|
# # xprop | grep -i 'class'
|
||||||
|
# opacity-rule = [
|
||||||
|
# "90:class_g = 'neovide'"
|
||||||
|
# "90:class_g = 'code-oss'"
|
||||||
|
# "90:class_g = 'discord'"
|
||||||
|
# "90:class_g = 'Emacs'"
|
||||||
|
# "90:class_g = 'TelegramDesktop'"
|
||||||
|
# "90:class_g = 'Spotify'"
|
||||||
|
# "90:class_g = 'easyeffects'"
|
||||||
|
# "90:class_g = 'kitty'"
|
||||||
|
# "90:class_g = 'Nemo'"
|
||||||
|
# "97:class_g = 'firefox'"
|
||||||
|
# ];
|
||||||
|
#
|
||||||
|
# # Exclude conditions for background blur.
|
||||||
|
# # blur-background-exclude = []
|
||||||
|
# blur-background-exclude = [
|
||||||
|
# "window_type = 'dock'"
|
||||||
|
# "window_type = 'desktop'"
|
||||||
|
# "_GTK_FRAME_EXTENTS@:c"
|
||||||
|
# ];
|
||||||
|
#
|
||||||
|
# mark-wmwin-focused = true;
|
||||||
|
# mark-ovredir-focused = true;
|
||||||
|
# detect-rounded-corners = true;
|
||||||
|
# detect-client-opacity = true;
|
||||||
|
# unredir-if-possible = false;
|
||||||
|
# detect-transient = true;
|
||||||
|
# detect-client-leader = true;
|
||||||
|
# use-damage = true;
|
||||||
|
#
|
||||||
|
# window-shader-fg-rule = [
|
||||||
|
# # "black_to_transparent.frag:class_g = 'stalonetray'",
|
||||||
|
# # "black_to_transparent.frag:class_g = 'Minecraft 1.7.10'",
|
||||||
|
# # "black_to_transparent.frag:class_g = 'i3lock'"
|
||||||
|
# # "black_to_transparent.frag:focused = true"
|
||||||
|
# # "black_to_transparent.frag:focused != true",
|
||||||
|
# #"sphere.glsl:focused != true"
|
||||||
|
# #"nordify.glsl:class_g = 'miru'"
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
}
|
||||||
54
home-manager/dwm/theming.nix
Normal file
54
home-manager/dwm/theming.nix
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
# enable gtk
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
cursorTheme = {
|
||||||
|
name = "Bibata-Modern-Classic";
|
||||||
|
package = pkgs.bibata-cursors;
|
||||||
|
};
|
||||||
|
theme = {
|
||||||
|
name = "gruvbox-dark";
|
||||||
|
package = pkgs.gruvbox-dark-gtk;
|
||||||
|
};
|
||||||
|
iconTheme = {
|
||||||
|
name = "oomox-gruvbox-dark";
|
||||||
|
package = pkgs.gruvbox-dark-icons-gtk;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# enable qt
|
||||||
|
qt = {
|
||||||
|
enable = true;
|
||||||
|
platformTheme = "qtct";
|
||||||
|
style = {
|
||||||
|
name = "kvantum";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile = {
|
||||||
|
"Kvantum/kvantum.kvconfig".text = ''
|
||||||
|
[General]
|
||||||
|
theme=GraphiteNordDark
|
||||||
|
'';
|
||||||
|
|
||||||
|
"Kvantum/GraphiteNord".source = "${pkgs.graphite-kde-theme}/share/Kvantum/GraphiteNord";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.pointerCursor = {
|
||||||
|
gtk.enable = true;
|
||||||
|
x11.enable = true;
|
||||||
|
package = pkgs.bibata-cursors;
|
||||||
|
name = "Bibata-Modern-Classic";
|
||||||
|
size = 18;
|
||||||
|
};
|
||||||
|
|
||||||
|
xsession.pointerCursor = {
|
||||||
|
name = "Bibata-Modern-Classic";
|
||||||
|
size = 18;
|
||||||
|
};
|
||||||
|
}
|
||||||
95
home-manager/home.nix
Normal file
95
home-manager/home.nix
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
# This is your home-manager configuration file
|
||||||
|
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
# You can import other home-manager modules here
|
||||||
|
imports = [
|
||||||
|
# If you want to use modules your own flake exports (from modules/home-manager):
|
||||||
|
# outputs.homeManagerModules.example
|
||||||
|
|
||||||
|
# Or modules exported from other flakes (such as nix-colors):
|
||||||
|
# inputs.nix-colors.homeManagerModules.default
|
||||||
|
|
||||||
|
# You can also split up your configuration and import pieces of it here:
|
||||||
|
# ./nvim.nix
|
||||||
|
./programs/btop.nix
|
||||||
|
./programs/fastfetch.nix
|
||||||
|
# ./programs/foot.nix
|
||||||
|
./programs/git.nix
|
||||||
|
./programs/gpg.nix
|
||||||
|
./programs/helix.nix
|
||||||
|
./programs/kitty.nix
|
||||||
|
./programs/neovide.nix
|
||||||
|
./programs/neovim.nix
|
||||||
|
./programs/packages.nix
|
||||||
|
./programs/shell.nix
|
||||||
|
./programs/tmux.nix
|
||||||
|
./programs/vscodium.nix
|
||||||
|
|
||||||
|
./dwm
|
||||||
|
# ./programs/yazi.nix
|
||||||
|
# ./programs/zathura.nix
|
||||||
|
|
||||||
|
# ./configs/keys.nix
|
||||||
|
|
||||||
|
./system/dunst.nix
|
||||||
|
# ./system/hypr.nix
|
||||||
|
# ./system/hyprland.nix
|
||||||
|
./system/rofi.nix
|
||||||
|
./system/stylix.nix
|
||||||
|
./system/theme.nix
|
||||||
|
./system/waybar.nix
|
||||||
|
./system/wlsunset.nix
|
||||||
|
./system/wofi.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs = {
|
||||||
|
# You can add overlays here
|
||||||
|
overlays = [
|
||||||
|
# Add overlays your own flake exports (from overlays and pkgs dir):
|
||||||
|
outputs.overlays.additions
|
||||||
|
outputs.overlays.modifications
|
||||||
|
outputs.overlays.unstable-packages
|
||||||
|
|
||||||
|
# You can also add overlays exported from other flakes:
|
||||||
|
# neovim-nightly-overlay.overlays.default
|
||||||
|
|
||||||
|
# Or define it inline, for example:
|
||||||
|
# (final: prev: {
|
||||||
|
# hi = final.hello.overrideAttrs (oldAttrs: {
|
||||||
|
# patches = [ ./change-hello-to-hi.patch ];
|
||||||
|
# });
|
||||||
|
# })
|
||||||
|
];
|
||||||
|
# Configure your nixpkgs instance
|
||||||
|
config = {
|
||||||
|
# Disable if you don't want unfree packages
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home = {
|
||||||
|
username = "mike";
|
||||||
|
homeDirectory = "/home/mike";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Add stuff for your user as you see fit:
|
||||||
|
# programs.neovim.enable = true;
|
||||||
|
# home.packages = with pkgs; [ steam ];
|
||||||
|
|
||||||
|
# Enable home-manager and git
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
programs.git.enable = true;
|
||||||
|
|
||||||
|
# Nicely reload system units when changing configs
|
||||||
|
systemd.user.startServices = "sd-switch";
|
||||||
|
|
||||||
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
|
home.stateVersion = "24.11";
|
||||||
|
}
|
||||||
@@ -2,7 +2,6 @@
|
|||||||
programs.fastfetch = {
|
programs.fastfetch = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
||||||
"$schema" = "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json";
|
"$schema" = "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json";
|
||||||
|
|
||||||
logo = {
|
logo = {
|
||||||
@@ -119,4 +118,3 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -23,5 +23,4 @@
|
|||||||
push.gpgsign = "if-asked";
|
push.gpgsign = "if-asked";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -14,4 +14,3 @@
|
|||||||
# '';
|
# '';
|
||||||
# };
|
# };
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1,19 +1,17 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
programs.helix = {
|
programs.helix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
# languages Configuration
|
# languages Configuration
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
languages = {
|
languages = {
|
||||||
language = [
|
language = [
|
||||||
|
|
||||||
{
|
{
|
||||||
name = "nix";
|
name = "nix";
|
||||||
auto-format = true;
|
auto-format = true;
|
||||||
language-servers = [ "nixd" "nil" ];
|
language-servers = ["nixd" "nil"];
|
||||||
formatter = {
|
formatter = {
|
||||||
command = "${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt";
|
command = "${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt";
|
||||||
# command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
|
# command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
|
||||||
@@ -24,62 +22,61 @@
|
|||||||
{
|
{
|
||||||
name = "bash";
|
name = "bash";
|
||||||
auto-format = true;
|
auto-format = true;
|
||||||
language-servers = [ "bash-language-server" ];
|
language-servers = ["bash-language-server"];
|
||||||
formatter = {
|
formatter = {
|
||||||
command = "${pkgs.shfmt}/bin/shfmt";
|
command = "${pkgs.shfmt}/bin/shfmt";
|
||||||
args = [ "-i" "2" "-ci" ];
|
args = ["-i" "2" "-ci"];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
name = "python";
|
name = "python";
|
||||||
auto-format = true;
|
auto-format = true;
|
||||||
language-servers = [ "pyright" ];
|
language-servers = ["pyright"];
|
||||||
formatter = {
|
formatter = {
|
||||||
command = "${pkgs.black}/bin/black";
|
command = "${pkgs.black}/bin/black";
|
||||||
args = [ "--quiet" "-" ];
|
args = ["--quiet" "-"];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
name = "rust";
|
name = "rust";
|
||||||
auto-format = false;
|
auto-format = false;
|
||||||
file-types = [ "rs" ];
|
file-types = ["rs"];
|
||||||
language-servers = [ "rust-analyzer" ];
|
language-servers = ["rust-analyzer"];
|
||||||
formatter = { command = "${pkgs.rustfmt}/bin/rustfmt"; };
|
formatter = {command = "${pkgs.rustfmt}/bin/rustfmt";};
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
name = "zig";
|
name = "zig";
|
||||||
auto-format = true;
|
auto-format = true;
|
||||||
language-servers = [ "zsl" ];
|
language-servers = ["zsl"];
|
||||||
formatter = { command = "${pkgs.zig}/bin/zig"; };
|
formatter = {command = "${pkgs.zig}/bin/zig";};
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
name = "html";
|
name = "html";
|
||||||
auto-format = true;
|
auto-format = true;
|
||||||
language-servers = [ "vscode-langservers-extracted" ];
|
language-servers = ["vscode-langservers-extracted"];
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
name = "javascript";
|
name = "javascript";
|
||||||
auto-format = true;
|
auto-format = true;
|
||||||
language-servers = [ "typescript-language-server" ];
|
language-servers = ["typescript-language-server"];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
# Language Server Protocol Configuration
|
# Language Server Protocol Configuration
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
language-servers = {
|
language-servers = {
|
||||||
|
nil = {command = "${pkgs.nixd}/bin/nixd";};
|
||||||
nil = { command = "${pkgs.nixd}/bin/nixd"; };
|
|
||||||
|
|
||||||
rust-analyzer = {
|
rust-analyzer = {
|
||||||
config = {
|
config = {
|
||||||
check = { command = "${pkgs.clippy}/bin/cargo-clippy"; };
|
check = {command = "${pkgs.clippy}/bin/cargo-clippy";};
|
||||||
# cargo.features = "all";
|
# cargo.features = "all";
|
||||||
checkOnSave.command = "${pkgs.clippy}/bin/cargo-clippy";
|
checkOnSave.command = "${pkgs.clippy}/bin/cargo-clippy";
|
||||||
completion.autoimport.enable = true;
|
completion.autoimport.enable = true;
|
||||||
@@ -88,7 +85,7 @@
|
|||||||
|
|
||||||
typescript-language-server = {
|
typescript-language-server = {
|
||||||
command = "${pkgs.nodePackages_latest.typescript-language-server}/bin/typescript-language-server";
|
command = "${pkgs.nodePackages_latest.typescript-language-server}/bin/typescript-language-server";
|
||||||
args = [ "--stdio" ];
|
args = ["--stdio"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ lib, ... }: {
|
{lib, ...}: {
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = {
|
font = {
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
{ inputs
|
{
|
||||||
, pkgs
|
inputs,
|
||||||
, ...
|
pkgs,
|
||||||
|
...
|
||||||
}: {
|
}: {
|
||||||
# programs.neovim = {
|
# programs.neovim = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
@@ -1,8 +1,11 @@
|
|||||||
{ inputs, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.direnv.enable = true;
|
programs.direnv.enable = true;
|
||||||
programs.direnv.nix-direnv.enable = true;
|
programs.direnv.nix-direnv.enable = true;
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# > graphics < #
|
# > graphics < #
|
||||||
tuxpaint
|
tuxpaint
|
||||||
@@ -47,17 +50,23 @@
|
|||||||
okular
|
okular
|
||||||
|
|
||||||
# > desktop < #
|
# > desktop < #
|
||||||
# firefox
|
firefox
|
||||||
telegram-desktop
|
httrack
|
||||||
google-chrome
|
# whatsapp-for-linux
|
||||||
chromium
|
# telegram-desktop
|
||||||
|
kotatogram-desktop
|
||||||
|
# google-chrome
|
||||||
|
# chromium
|
||||||
|
brave
|
||||||
evolution
|
evolution
|
||||||
obsidian
|
obsidian
|
||||||
foliate
|
foliate
|
||||||
helio-workstation
|
helio-workstation
|
||||||
# vesktop
|
# vesktop
|
||||||
equibop
|
equibop
|
||||||
inputs.zen-browser.packages."${system}".default
|
# inputs.zen-browser.packages."${system}".default
|
||||||
|
papers
|
||||||
|
|
||||||
|
|
||||||
# > gaming < #
|
# > gaming < #
|
||||||
prismlauncher
|
prismlauncher
|
||||||
@@ -40,7 +40,6 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
|
|
||||||
content = {
|
content = {
|
||||||
autoplay = false;
|
autoplay = false;
|
||||||
javascript.clipboard = "access";
|
javascript.clipboard = "access";
|
||||||
@@ -1,10 +1,6 @@
|
|||||||
{ pkgs
|
{pkgs, ...}: let
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
cli = import ../configs/aliases.nix;
|
cli = import ../configs/aliases.nix;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
programs = {
|
programs = {
|
||||||
zoxide.enable = true;
|
zoxide.enable = true;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
programs.tmux = {
|
programs.tmux = {
|
||||||
enable = true;
|
enable = true;
|
||||||
mouse = true;
|
mouse = true;
|
||||||
74
home-manager/programs/vscodium.nix
Normal file
74
home-manager/programs/vscodium.nix
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
programs.vscode = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.vscode.fhsWithPackages (
|
||||||
|
ps:
|
||||||
|
with ps; [
|
||||||
|
rustup
|
||||||
|
zlib
|
||||||
|
openssl.dev
|
||||||
|
pkg-config
|
||||||
|
# nixfmt-rfc-style
|
||||||
|
python3
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
# extensions = with pkgs.vscode-extensions; [
|
||||||
|
# ms-python.python
|
||||||
|
# ms-python.debugpy
|
||||||
|
# jnoortheen.nix-ide
|
||||||
|
# mkhl.direnv
|
||||||
|
# arrterian.nix-env-selector
|
||||||
|
# mvllow.rose-pine
|
||||||
|
# github.copilot
|
||||||
|
# # github.copilot-chat
|
||||||
|
# ms-vsliveshare.vsliveshare
|
||||||
|
# rust-lang.rust-analyzer
|
||||||
|
# ];
|
||||||
|
#
|
||||||
|
# userSettings = {
|
||||||
|
# "editor.fontSize" = 16;
|
||||||
|
# "editor.fontFamily" = "FiraCode Nerd Font";
|
||||||
|
# "explorer.confirmDelete" = false;
|
||||||
|
# "disable-hardware-acceleration" = true;
|
||||||
|
# "explorer.confirmDragAndDrop" = true;
|
||||||
|
# "git.openRepositoryInParentFolders" = "never";
|
||||||
|
#
|
||||||
|
# "[python]" = {
|
||||||
|
# "editor.defaultFormatter" = "ms-python.black-formatter";
|
||||||
|
# "editor.formatOnSave" = true;
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "nix.enableLanguageServer" = true;
|
||||||
|
# "nix.serverPath" = "${pkgs.nixd}/bin/nixd";
|
||||||
|
# "nix.serverSettings" = {
|
||||||
|
# "nixd" = {
|
||||||
|
# "formatting" = {
|
||||||
|
# "command" = ["${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt"];
|
||||||
|
# };
|
||||||
|
# "nixpkgs" = {
|
||||||
|
# "expr" = "import <nixpkgs> { }";
|
||||||
|
# "options" = {
|
||||||
|
# "nixos" = {
|
||||||
|
# "expr" = ''(builtins.getFlake "/home/mike/.files").nixosConfigurations.zion.options'';
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "editor.formatOnSave" = true;
|
||||||
|
#
|
||||||
|
# "editor.fontLigatures" = true;
|
||||||
|
# "editor.formatOnPaste" = true;
|
||||||
|
# "editor.minimap.enabled" = false;
|
||||||
|
#
|
||||||
|
# # "symbols.hidesExplorerArrows" = false;
|
||||||
|
#
|
||||||
|
# "workbench.iconTheme" = "rose-pine-icons";
|
||||||
|
# "workbench.colorTheme" = "Rosé Pine";
|
||||||
|
# "workbench.preferredDarkColorTheme" = "Rosé Pine";
|
||||||
|
# "workbench.preferredHighContrastColorTheme" = "Rosé Pine";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
home.packages = with pkgs; [libnotify];
|
||||||
home.packages = with pkgs; [ libnotify ];
|
|
||||||
|
|
||||||
services.dunst = {
|
services.dunst = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -1,5 +1,10 @@
|
|||||||
{ lib, pkgs, inputs, hostname, ... }:
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
hostname,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
hypr
|
hypr
|
||||||
];
|
];
|
||||||
@@ -1,10 +1,12 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, inputs
|
|
||||||
, hostname
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
hostname = "zion";
|
||||||
|
in {
|
||||||
# ------------------------------------------------
|
# ------------------------------------------------
|
||||||
# Needed Packages
|
# Needed Packages
|
||||||
# ------------------------------------------------
|
# ------------------------------------------------
|
||||||
@@ -542,7 +544,7 @@
|
|||||||
# Super Rat Binds
|
# Super Rat Binds
|
||||||
bind = , mouse:277, exec, amixer set Master playback 2%+
|
bind = , mouse:277, exec, amixer set Master playback 2%+
|
||||||
bind = , mouse:278, exec, amixer set Master playback 2%-
|
bind = , mouse:278, exec, amixer set Master playback 2%-
|
||||||
# bind = , mouse:279, exec,
|
# bind = , mouse:279, exec,
|
||||||
bind = , mouse:280, exec, amixer set Capture toggle
|
bind = , mouse:280, exec, amixer set Capture toggle
|
||||||
|
|
||||||
# Move focus with mainMod + vim keys
|
# Move focus with mainMod + vim keys
|
||||||
@@ -644,7 +646,6 @@
|
|||||||
windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$
|
windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$
|
||||||
windowrulev2 = noblur,class:^(xwaylandvideobridge)$
|
windowrulev2 = noblur,class:^(xwaylandvideobridge)$
|
||||||
'';
|
'';
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
@@ -655,8 +656,8 @@
|
|||||||
settings = {
|
settings = {
|
||||||
ipc = "off";
|
ipc = "off";
|
||||||
splash = false;
|
splash = false;
|
||||||
preload = [ "~/.files/home/wallpapers/blockwavemoon.png" ];
|
preload = ["~/.files/home/wallpapers/blockwavemoon.png"];
|
||||||
wallpaper = [ ",~/.files/home/wallpapers/blockwavemoon.png" ];
|
wallpaper = [",~/.files/home/wallpapers/blockwavemoon.png"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -673,79 +674,78 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
listener =
|
listener =
|
||||||
if hostname == "zion" then
|
if hostname == "zion"
|
||||||
[
|
then [
|
||||||
# {
|
# {
|
||||||
# timeout = 60;
|
# timeout = 60;
|
||||||
# on-timeout = "brightnessctl -sd asus::kbd_backlight set 0";
|
# on-timeout = "brightnessctl -sd asus::kbd_backlight set 0";
|
||||||
# on-resume = "brightnessctl -rd asus::kbd_backlight";
|
# on-resume = "brightnessctl -rd asus::kbd_backlight";
|
||||||
# }
|
# }
|
||||||
|
|
||||||
# {
|
# {
|
||||||
# timeout = 80;
|
# timeout = 80;
|
||||||
# on-timeout = "brightnessctl -s set 0";
|
# on-timeout = "brightnessctl -s set 0";
|
||||||
# on-resume = "brightnessctl -r";
|
# on-resume = "brightnessctl -r";
|
||||||
# }
|
# }
|
||||||
|
|
||||||
# {
|
# {
|
||||||
# timeout = 100;
|
# timeout = 100;
|
||||||
# on-timeout = "hyprctl dispatch dpms off ";
|
# on-timeout = "hyprctl dispatch dpms off ";
|
||||||
# on-resume = "hyprctl dispatch dpms on";
|
# on-resume = "hyprctl dispatch dpms on";
|
||||||
# }
|
# }
|
||||||
|
|
||||||
# {
|
# {
|
||||||
# timeout = 150;
|
# timeout = 150;
|
||||||
# on-timeout = "systemctl suspend";
|
# on-timeout = "systemctl suspend";
|
||||||
# }
|
# }
|
||||||
{
|
{
|
||||||
timeout = 300; # 5min
|
timeout = 300; # 5min
|
||||||
on-timeout = "brightnessctl -s set 10"; # set monitor backlight to minimum, avoid 0 on OLED monitor.
|
on-timeout = "brightnessctl -s set 10"; # set monitor backlight to minimum, avoid 0 on OLED monitor.
|
||||||
on-resume = "brightnessctl -r"; # monitor backlight restore.
|
on-resume = "brightnessctl -r"; # monitor backlight restore.
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
timeout = 600; # 10min
|
timeout = 600; # 10min
|
||||||
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed
|
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed
|
||||||
}
|
}
|
||||||
|
|
||||||
# {
|
# {
|
||||||
# timeout = 1800; # 30min
|
# timeout = 1800; # 30min
|
||||||
# on-timeout = "systemctl hibernate";
|
# on-timeout = "systemctl hibernate";
|
||||||
# on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
|
# on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
|
||||||
# on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
|
# on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
|
||||||
# }
|
# }
|
||||||
]
|
]
|
||||||
else if hostname == "thor" then
|
else if hostname == "thor"
|
||||||
[
|
then [
|
||||||
{
|
{
|
||||||
timeout = 450;
|
timeout = 450;
|
||||||
on-timeout = "brightnessctl -s set 0";
|
on-timeout = "brightnessctl -s set 0";
|
||||||
on-resume = "brightnessctl -r";
|
on-resume = "brightnessctl -r";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
timeout = 600;
|
timeout = 600;
|
||||||
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed
|
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
timeout = 750;
|
timeout = 750;
|
||||||
on-timeout = "hyprctl dispatch dpms off ";
|
on-timeout = "hyprctl dispatch dpms off ";
|
||||||
on-resume = "hyprctl dispatch dpms on";
|
on-resume = "hyprctl dispatch dpms on";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
timeout = 900;
|
timeout = 900;
|
||||||
on-timeout = "systemctl suspend";
|
on-timeout = "systemctl suspend";
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
timeout = 1500;
|
timeout = 1500;
|
||||||
on-timeout = "systemctl hibernate";
|
on-timeout = "systemctl hibernate";
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
else
|
else [];
|
||||||
[ ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -756,7 +756,6 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
settings = lib.mkForce {
|
settings = lib.mkForce {
|
||||||
|
|
||||||
general = {
|
general = {
|
||||||
grace = 5;
|
grace = 5;
|
||||||
no_fade_in = true;
|
no_fade_in = true;
|
||||||
@@ -1,4 +1,8 @@
|
|||||||
{ lib, pkgs, ... }: {
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.rofi-wayland;
|
package = pkgs.rofi-wayland;
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{ inputs, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
imports = [ inputs.stylix.homeManagerModules.stylix ];
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [inputs.stylix.homeManagerModules.stylix];
|
||||||
|
|
||||||
#qt = {
|
#qt = {
|
||||||
# enable = false;
|
# enable = false;
|
||||||
@@ -62,17 +65,20 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
monospace = {
|
monospace = {
|
||||||
package = pkgs.nerd-fonts.droid-sans-mono;
|
# package = pkgs.nerd-fonts.droid-sans-mono;
|
||||||
|
package = pkgs.nerdfonts.override {fonts = ["DroidSansMono"];};
|
||||||
name = "DroidSansMono";
|
name = "DroidSansMono";
|
||||||
};
|
};
|
||||||
|
|
||||||
sansSerif = {
|
sansSerif = {
|
||||||
package = pkgs.nerd-fonts.droid-sans-mono;
|
# package = pkgs.nerd-fonts.droid-sans-mono;
|
||||||
|
package = pkgs.nerdfonts.override {fonts = ["DroidSansMono"];};
|
||||||
name = "DroidSansMono";
|
name = "DroidSansMono";
|
||||||
};
|
};
|
||||||
|
|
||||||
serif = {
|
serif = {
|
||||||
package = pkgs.nerd-fonts.droid-sans-mono;
|
# package = pkgs.nerd-fonts.droid-sans-mono;
|
||||||
|
package = pkgs.nerdfonts.override {fonts = ["DroidSansMono"];};
|
||||||
name = "DroidSansMono";
|
name = "DroidSansMono";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -3,11 +3,8 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
in {
|
||||||
|
|
||||||
in
|
|
||||||
{
|
|
||||||
qt = {
|
qt = {
|
||||||
enable = true;
|
enable = true;
|
||||||
platformTheme.name = "qtct";
|
platformTheme.name = "qtct";
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
programs.tofi = {
|
programs.tofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
# font
|
# font
|
||||||
font-size = 12;
|
font-size = 12;
|
||||||
|
|
||||||
# Window Style
|
# Window Style
|
||||||
@@ -30,7 +30,6 @@
|
|||||||
prompt-color = "#f38ba8";
|
prompt-color = "#f38ba8";
|
||||||
selection-color = "#f9e2af";
|
selection-color = "#f9e2af";
|
||||||
background-color = "#1a1b26";
|
background-color = "#1a1b26";
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
575
home-manager/system/waybar.nix
Normal file
575
home-manager/system/waybar.nix
Normal file
@@ -0,0 +1,575 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.waybar.overrideAttrs (oa: {mesonFlags = (oa.mesonFlags or []) ++ ["-Dexperimental=true"];});
|
||||||
|
|
||||||
|
settings.mainBar = {
|
||||||
|
layer = "top"; # Waybar at top layer
|
||||||
|
height = 32; # Waybar height (to be removed for auto height)
|
||||||
|
spacing = 0; # Gaps between modules (4px)
|
||||||
|
position = "top";
|
||||||
|
margin = "10 20 0";
|
||||||
|
# Choose the order of the modules
|
||||||
|
modules-left = [
|
||||||
|
"hyprland/workspaces"
|
||||||
|
"custom/media"
|
||||||
|
];
|
||||||
|
modules-center = ["hyprland/window"];
|
||||||
|
modules-right = [
|
||||||
|
"mpris"
|
||||||
|
# "idle_inhibitor",
|
||||||
|
"pulseaudio"
|
||||||
|
# "network",
|
||||||
|
"cpu"
|
||||||
|
"memory"
|
||||||
|
# "temperature",
|
||||||
|
"backlight"
|
||||||
|
# "keyboard-state",
|
||||||
|
"battery"
|
||||||
|
"clock"
|
||||||
|
"tray"
|
||||||
|
];
|
||||||
|
# Modules configuration
|
||||||
|
# sway/workspaces = {
|
||||||
|
# "disable-scroll = true,
|
||||||
|
# "all-outputs = true,
|
||||||
|
# "warp-on-scroll = false,
|
||||||
|
# "format = "{name}: {icon}",
|
||||||
|
# "format-icons = {
|
||||||
|
# "1 = "",
|
||||||
|
# "2 = "",
|
||||||
|
# "3 = "",
|
||||||
|
# "4 = "",
|
||||||
|
# "5 = "",
|
||||||
|
# "urgent = "",
|
||||||
|
# "focused = "",
|
||||||
|
# "default = ""
|
||||||
|
# }
|
||||||
|
# },
|
||||||
|
"hyprland/workspaces" = {
|
||||||
|
active-only = false;
|
||||||
|
format = "{icon}";
|
||||||
|
format-icons = {
|
||||||
|
"1" = "一";
|
||||||
|
"2" = "二";
|
||||||
|
"3" = "三";
|
||||||
|
"4" = "四";
|
||||||
|
"5" = "五";
|
||||||
|
"6" = "六";
|
||||||
|
"7" = "七";
|
||||||
|
"8" = "八";
|
||||||
|
"9" = "九";
|
||||||
|
"10" = "十";
|
||||||
|
"11" = "一";
|
||||||
|
"12" = "二";
|
||||||
|
"13" = "三";
|
||||||
|
"14" = "四";
|
||||||
|
"15" = "五";
|
||||||
|
"16" = "六";
|
||||||
|
"17" = "七";
|
||||||
|
"18" = "八";
|
||||||
|
"19" = "九";
|
||||||
|
"20" = "十";
|
||||||
|
"21" = "一";
|
||||||
|
"22" = "二";
|
||||||
|
"23" = "三";
|
||||||
|
"24" = "四";
|
||||||
|
"25" = "五";
|
||||||
|
"26" = "六";
|
||||||
|
"27" = "七";
|
||||||
|
"28" = "八";
|
||||||
|
"29" = "九";
|
||||||
|
"30" = "十";
|
||||||
|
};
|
||||||
|
on-scroll-up = "hyprctl dispatch workspace e+1";
|
||||||
|
on-scroll-down = "hyprctl dispatch workspace e-1";
|
||||||
|
persistent-workspaces = {
|
||||||
|
HDMI-A-1 = [1 2 3 4 5 6 7 8 9 10];
|
||||||
|
DP-1 = [11 12 13 14 15 16 17 18 19 20];
|
||||||
|
DP-2 = [21 22 23 24 25 26 27 28 29 30];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
keyboard-state = {
|
||||||
|
numlock = false;
|
||||||
|
capslock = true;
|
||||||
|
format = "{name} {icon}";
|
||||||
|
format-icons = {
|
||||||
|
locked = "";
|
||||||
|
unlocked = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"sway/mode" = {
|
||||||
|
format = "<span style=\"italic\">{}</span>";
|
||||||
|
};
|
||||||
|
"sway/scratchpad" = {
|
||||||
|
format = "{icon} {count}";
|
||||||
|
show-empty = false;
|
||||||
|
format-icons = ["" ""];
|
||||||
|
tooltip = true;
|
||||||
|
tooltip-format = "{app}: {title}";
|
||||||
|
};
|
||||||
|
mpris = {
|
||||||
|
interval = 1;
|
||||||
|
format = "{player_icon} {status_icon}";
|
||||||
|
format-paused = "{player_icon} {status_icon}";
|
||||||
|
tooltip-format = "{player_icon} {dynamic}";
|
||||||
|
tooltip-format-paused = "{player_icon} {dynamic}";
|
||||||
|
player-icons = {
|
||||||
|
default = "";
|
||||||
|
mpv = "";
|
||||||
|
vlc = "";
|
||||||
|
spotify = "";
|
||||||
|
};
|
||||||
|
status-icons = {
|
||||||
|
playing = "";
|
||||||
|
paused = "";
|
||||||
|
stopped = "";
|
||||||
|
};
|
||||||
|
# "ignored-players = ["firefox"]
|
||||||
|
};
|
||||||
|
mpd = {
|
||||||
|
format = "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ";
|
||||||
|
format-disconnected = "Disconnected ";
|
||||||
|
format-stopped = "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ";
|
||||||
|
unknown-tag = "N/A";
|
||||||
|
interval = 2;
|
||||||
|
consume-icons = {
|
||||||
|
on = " ";
|
||||||
|
};
|
||||||
|
random-icons = {
|
||||||
|
off = "<span color=\"#f53c3c\"></span> ";
|
||||||
|
on = " ";
|
||||||
|
};
|
||||||
|
repeat-icons = {
|
||||||
|
on = " ";
|
||||||
|
};
|
||||||
|
single-icons = {
|
||||||
|
on = "1 ";
|
||||||
|
};
|
||||||
|
state-icons = {
|
||||||
|
paused = "";
|
||||||
|
playing = "";
|
||||||
|
};
|
||||||
|
tooltip-format = "MPD (connected)";
|
||||||
|
tooltip-format-disconnected = "MPD (disconnected)";
|
||||||
|
};
|
||||||
|
idle_inhibitor = {
|
||||||
|
format = "{icon}";
|
||||||
|
format-icons = {
|
||||||
|
activated = "";
|
||||||
|
deactivated = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
tray = {
|
||||||
|
# "icon-size = 21,
|
||||||
|
spacing = 10;
|
||||||
|
show-passive-items = true;
|
||||||
|
};
|
||||||
|
clock = {
|
||||||
|
format = "{:%b %d %I:%M %p}";
|
||||||
|
tooltip-format = "<big>{:%d %B %Y}</big>\n<tt><small>{calendar}</small></tt>";
|
||||||
|
format-alt = "{:%Y-%m-%d %I:%M %p}";
|
||||||
|
};
|
||||||
|
cpu = {
|
||||||
|
format = "{usage}% ";
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
memory = {
|
||||||
|
format = "{}% ";
|
||||||
|
};
|
||||||
|
temperature = {
|
||||||
|
# "thermal-zone = 2,
|
||||||
|
# "hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input",
|
||||||
|
critical-threshold = 80;
|
||||||
|
# "format-critical = "{temperatureC}°C {icon}",
|
||||||
|
format = "{temperatureC}°C {icon}";
|
||||||
|
format-icons = ["" "" " "];
|
||||||
|
};
|
||||||
|
backlight = {
|
||||||
|
# "device = "acpi_video1",
|
||||||
|
format = "{percent}% {icon}";
|
||||||
|
format-icons = ["" "" "" "" "" "" "" "" ""];
|
||||||
|
};
|
||||||
|
battery = {
|
||||||
|
# bat = "BAT0";
|
||||||
|
states = {
|
||||||
|
good = 95;
|
||||||
|
warning = 30;
|
||||||
|
critical = 15;
|
||||||
|
};
|
||||||
|
format = "{capacity}% {icon}";
|
||||||
|
format-charging = "{capacity}% ";
|
||||||
|
format-plugged = "{capacity}% ";
|
||||||
|
format-alt = "{time} {icon}";
|
||||||
|
# "format-good = "", # An empty format will hide the module
|
||||||
|
# "format-full = "",
|
||||||
|
format-icons = ["" "" "" "" ""];
|
||||||
|
interval = 10;
|
||||||
|
weighted-average = true;
|
||||||
|
};
|
||||||
|
network = {
|
||||||
|
# "interface = "wlp2*", # (Optional) To force the use of this interface
|
||||||
|
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}";
|
||||||
|
on-click-right = "kitty nmtui";
|
||||||
|
};
|
||||||
|
pulseaudio = {
|
||||||
|
# "scroll-step = 1, # %, can be a float
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
"custom/media" = {
|
||||||
|
format = "{icon} {}";
|
||||||
|
return-type = "json";
|
||||||
|
max-length = 40;
|
||||||
|
format-icons = {
|
||||||
|
spotify = "";
|
||||||
|
default = "🎜";
|
||||||
|
};
|
||||||
|
escape = true;
|
||||||
|
exec = "$HOME/.config/waybar/mediaplayer.py 2> /dev/null"; # Script in resources folder
|
||||||
|
# exec = "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" # Filter player based on name
|
||||||
|
};
|
||||||
|
"custom/archicon" = {
|
||||||
|
format = "";
|
||||||
|
# "on-click":"nwg-menu -d -fm nemo -cmd-lock gtklock -va top",
|
||||||
|
on-click = "jgmenu_run";
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# CSS Styling
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
style = ''
|
||||||
|
/*
|
||||||
|
* Variant: Rosé Pine
|
||||||
|
* Maintainer: DankChoir
|
||||||
|
*/
|
||||||
|
|
||||||
|
@define-color base #191724;
|
||||||
|
@define-color surface #1f1d2e;
|
||||||
|
@define-color overlay #26233a;
|
||||||
|
|
||||||
|
@define-color muted #6e6a86;
|
||||||
|
@define-color subtle #908caa;
|
||||||
|
@define-color text #e0def4;
|
||||||
|
|
||||||
|
@define-color love #eb6f92;
|
||||||
|
@define-color gold #f6c177;
|
||||||
|
@define-color rose #ebbcba;
|
||||||
|
@define-color pine #31748f;
|
||||||
|
@define-color foam #9ccfd8;
|
||||||
|
@define-color iris #c4a7e7;
|
||||||
|
|
||||||
|
@define-color highlightLow #21202e;
|
||||||
|
@define-color highlightMed #403d52;
|
||||||
|
@define-color highlightHigh #524f67;
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: "JetBrainsMono Nerd Font", FontAwesome, Roboto, Helvetica,
|
||||||
|
Arial, sans-serif;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background-color: @surface;
|
||||||
|
color: @text;
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: 0.5s;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.hidden {
|
||||||
|
opacity: 0.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
window#waybar.empty {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
window#waybar.solo {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*window#waybar.termite {
|
||||||
|
background-color: #3F3F3F;
|
||||||
|
}
|
||||||
|
window#waybar.chromium {
|
||||||
|
background-color: #000000;
|
||||||
|
border: none;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
box-shadow: inset 0 -3px transparent;
|
||||||
|
padding: 0 8px;
|
||||||
|
background-color: @base;
|
||||||
|
color: @text;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
font-weight: 800;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:first-child {
|
||||||
|
border-radius: 10px 0 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:last-child {
|
||||||
|
border-radius: 0 10px 10px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||||
|
#workspaces button:hover {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
background-color: @overlay;
|
||||||
|
/* box-shadow: inset 0 -100px 0 -97px @bright-yellow; */
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.empty {
|
||||||
|
color: @muted;
|
||||||
|
box-shadow: inherit;
|
||||||
|
text-shadow: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
color: @gold;
|
||||||
|
box-shadow: inset 0 -100px 0 -97px @bright-yellow;
|
||||||
|
text-shadow: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.focused {
|
||||||
|
background-color: @overlay;
|
||||||
|
color: @text;
|
||||||
|
/* box-shadow: inset 0 -100px 0 -97px @bright-yellow; */
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
background-color: @love;
|
||||||
|
color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mode {
|
||||||
|
background-color: @overlay;
|
||||||
|
border-bottom: 3px solid @gold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cava,
|
||||||
|
#clock,
|
||||||
|
#battery,
|
||||||
|
#cpu,
|
||||||
|
#memory,
|
||||||
|
#disk,
|
||||||
|
#temperature,
|
||||||
|
#backlight,
|
||||||
|
#network,
|
||||||
|
#pulseaudio,
|
||||||
|
#pulseaudio.muted,
|
||||||
|
#pulseaudio.bluetooth,
|
||||||
|
#wireplumber,
|
||||||
|
#custom-media,
|
||||||
|
#tray,
|
||||||
|
#mpris,
|
||||||
|
#keyboard-state,
|
||||||
|
#mode,
|
||||||
|
#battery,
|
||||||
|
#idle_inhibitor,
|
||||||
|
#scratchpad,
|
||||||
|
#mpd {
|
||||||
|
padding: 0 10px;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window,
|
||||||
|
#workspaces {
|
||||||
|
margin: 0 4px;
|
||||||
|
padding-top: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-right {
|
||||||
|
background-color: @overlay;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If workspaces is the leftmost module, omit left margin */
|
||||||
|
.modules-left > widget:first-child > #workspaces {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If workspaces is the rightmost module, omit right margin */
|
||||||
|
.modules-right > widget:last-child > #workspaces {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpris {
|
||||||
|
color: @gold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
color: @gold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
color: @foam;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging,
|
||||||
|
#battery.plugged {
|
||||||
|
color: #d3869b;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: #fbf1c7;
|
||||||
|
color: #df3f71;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
background-color: #282828;
|
||||||
|
color: #d3869b;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 0.5s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
label:focus {
|
||||||
|
background-color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight {
|
||||||
|
color: #458588;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature {
|
||||||
|
color: #fabd2f;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature.critical {
|
||||||
|
background-color: #fbf1c7;
|
||||||
|
color: #b57614;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu {
|
||||||
|
color: @foam;
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory {
|
||||||
|
color: @iris;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network {
|
||||||
|
color: @foam;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.disconnected {
|
||||||
|
background-color: @love;
|
||||||
|
color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*#disk {
|
||||||
|
background-color: #964B00;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
#pulseaudio,
|
||||||
|
#pulseaudio.muted,
|
||||||
|
#pulseaudio.bluetooth {
|
||||||
|
color: @pine;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray {
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .needs-attention {
|
||||||
|
background-color: @love;
|
||||||
|
color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor {
|
||||||
|
background-color: #282828;
|
||||||
|
color: #ebdbb2;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor.activated {
|
||||||
|
background-color: #fbf1c7;
|
||||||
|
color: #3c3836;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-media {
|
||||||
|
background-color: #66cc99;
|
||||||
|
color: #2a5c45;
|
||||||
|
min-width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-media.custom-spotify {
|
||||||
|
background-color: #66cc99;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-media.custom-vlc {
|
||||||
|
background-color: #ffa000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd {
|
||||||
|
background-color: #66cc99;
|
||||||
|
color: #2a5c45;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd.disconnected {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd.stopped {
|
||||||
|
background-color: #90b1b1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd.paused {
|
||||||
|
background-color: #51a37a;
|
||||||
|
}
|
||||||
|
|
||||||
|
#language {
|
||||||
|
background: #00b093;
|
||||||
|
color: #740864;
|
||||||
|
padding: 0 5px;
|
||||||
|
margin: 0 5px;
|
||||||
|
min-width: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state {
|
||||||
|
background: #97e1ad;
|
||||||
|
color: #000000;
|
||||||
|
padding: 0 0px;
|
||||||
|
margin: 0 5px;
|
||||||
|
min-width: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state > label {
|
||||||
|
padding: 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state > label.locked {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
Before Width: | Height: | Size: 1024 KiB After Width: | Height: | Size: 1024 KiB |
|
Before Width: | Height: | Size: 4.0 MiB After Width: | Height: | Size: 4.0 MiB |
@@ -1,74 +0,0 @@
|
|||||||
{ hostname, ... }:
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
if hostname == "zion" then
|
|
||||||
[
|
|
||||||
./programs/btop.nix
|
|
||||||
./programs/fastfetch.nix
|
|
||||||
# ./programs/foot.nix
|
|
||||||
./programs/git.nix
|
|
||||||
./programs/gpg.nix
|
|
||||||
./programs/helix.nix
|
|
||||||
./programs/kitty.nix
|
|
||||||
./programs/neovide.nix
|
|
||||||
./programs/neovim.nix
|
|
||||||
./programs/packages.nix
|
|
||||||
./programs/shell.nix
|
|
||||||
./programs/tmux.nix
|
|
||||||
./programs/vscodium.nix
|
|
||||||
# ./programs/yazi.nix
|
|
||||||
# ./programs/zathura.nix
|
|
||||||
|
|
||||||
# ./configs/keys.nix
|
|
||||||
|
|
||||||
./system/dunst.nix
|
|
||||||
./system/hypr.nix
|
|
||||||
./system/hyprland.nix
|
|
||||||
./system/rofi.nix
|
|
||||||
./system/stylix.nix
|
|
||||||
./system/theme.nix
|
|
||||||
./system/waybar.nix
|
|
||||||
./system/wlsunset.nix
|
|
||||||
./system/wofi.nix
|
|
||||||
]
|
|
||||||
else if hostname == "thor" then
|
|
||||||
[
|
|
||||||
./programs/btop.nix
|
|
||||||
./programs/fastfetch.nix
|
|
||||||
# ./programs/foot.nix
|
|
||||||
./programs/git.nix
|
|
||||||
./programs/gpg.nix
|
|
||||||
./programs/helix.nix
|
|
||||||
./programs/kitty.nix
|
|
||||||
./programs/neovide.nix
|
|
||||||
./programs/neovim.nix
|
|
||||||
./programs/packages.nix
|
|
||||||
./programs/shell.nix
|
|
||||||
./programs/tmux.nix
|
|
||||||
./programs/vscodium.nix
|
|
||||||
# ./programs/yazi.nix
|
|
||||||
# ./programs/zathura.nix
|
|
||||||
|
|
||||||
# ./configs/keys.nix
|
|
||||||
|
|
||||||
./system/dunst.nix
|
|
||||||
./system/hyprland.nix
|
|
||||||
./system/rofi.nix
|
|
||||||
./system/stylix.nix
|
|
||||||
./system/theme.nix
|
|
||||||
./system/waybar.nix
|
|
||||||
./system/wlsunset.nix
|
|
||||||
./system/wofi.nix
|
|
||||||
]
|
|
||||||
else if hostname == "server" then
|
|
||||||
[
|
|
||||||
./programs/git.nix
|
|
||||||
./programs/btop.nix
|
|
||||||
./programs/yazi.nix
|
|
||||||
./programs/shell.nix
|
|
||||||
./programs/helix.nix
|
|
||||||
./programs/fastfetch.nix
|
|
||||||
]
|
|
||||||
else
|
|
||||||
[ ];
|
|
||||||
}
|
|
||||||
@@ -1,76 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.vscode = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.vscode.fhsWithPackages (
|
|
||||||
ps: with ps; [
|
|
||||||
rustup
|
|
||||||
zlib
|
|
||||||
openssl.dev
|
|
||||||
pkg-config
|
|
||||||
# nixfmt-rfc-style
|
|
||||||
python3
|
|
||||||
]
|
|
||||||
);
|
|
||||||
|
|
||||||
extensions = with pkgs.vscode-extensions; [
|
|
||||||
ms-python.python
|
|
||||||
ms-python.debugpy
|
|
||||||
jnoortheen.nix-ide
|
|
||||||
mkhl.direnv
|
|
||||||
arrterian.nix-env-selector
|
|
||||||
mvllow.rose-pine
|
|
||||||
github.copilot
|
|
||||||
# github.copilot-chat
|
|
||||||
ms-vsliveshare.vsliveshare
|
|
||||||
rust-lang.rust-analyzer
|
|
||||||
];
|
|
||||||
|
|
||||||
userSettings = {
|
|
||||||
|
|
||||||
"editor.fontSize" = 16;
|
|
||||||
"editor.fontFamily" = "FiraCode Nerd Font";
|
|
||||||
"explorer.confirmDelete" = false;
|
|
||||||
"disable-hardware-acceleration" = true;
|
|
||||||
"explorer.confirmDragAndDrop" = true;
|
|
||||||
"git.openRepositoryInParentFolders" = "never";
|
|
||||||
|
|
||||||
"[python]" = {
|
|
||||||
"editor.defaultFormatter" = "ms-python.black-formatter";
|
|
||||||
"editor.formatOnSave" = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
"nix.enableLanguageServer" = true;
|
|
||||||
"nix.serverPath" = "${pkgs.nixd}/bin/nixd";
|
|
||||||
"nix.serverSettings" = {
|
|
||||||
"nixd" = {
|
|
||||||
"formatting" = {
|
|
||||||
"command" = [ "${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt" ];
|
|
||||||
};
|
|
||||||
"nixpkgs" = {
|
|
||||||
"expr" = "import <nixpkgs> { }";
|
|
||||||
"options" = {
|
|
||||||
"nixos" = {
|
|
||||||
"expr" = ''(builtins.getFlake "/home/mike/.files").nixosConfigurations.zion.options'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
"editor.formatOnSave" = true;
|
|
||||||
|
|
||||||
"editor.fontLigatures" = true;
|
|
||||||
"editor.formatOnPaste" = true;
|
|
||||||
"editor.minimap.enabled" = false;
|
|
||||||
|
|
||||||
# "symbols.hidesExplorerArrows" = false;
|
|
||||||
|
|
||||||
"workbench.iconTheme" = "rose-pine-icons";
|
|
||||||
"workbench.colorTheme" = "Rosé Pine";
|
|
||||||
"workbench.preferredDarkColorTheme" = "Rosé Pine";
|
|
||||||
"workbench.preferredHighContrastColorTheme" = "Rosé Pine";
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,576 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.waybar = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.waybar.overrideAttrs (oa: { mesonFlags = (oa.mesonFlags or [ ]) ++ [ "-Dexperimental=true" ]; });
|
|
||||||
|
|
||||||
settings.mainBar = {
|
|
||||||
layer = "top"; # Waybar at top layer
|
|
||||||
height = 32; # Waybar height (to be removed for auto height)
|
|
||||||
spacing = 0; # Gaps between modules (4px)
|
|
||||||
position = "top";
|
|
||||||
margin = "10 20 0";
|
|
||||||
# Choose the order of the modules
|
|
||||||
modules-left = [
|
|
||||||
"hyprland/workspaces"
|
|
||||||
"custom/media"
|
|
||||||
];
|
|
||||||
modules-center = ["hyprland/window"];
|
|
||||||
modules-right = [
|
|
||||||
"mpris"
|
|
||||||
# "idle_inhibitor",
|
|
||||||
"pulseaudio"
|
|
||||||
# "network",
|
|
||||||
"cpu"
|
|
||||||
"memory"
|
|
||||||
# "temperature",
|
|
||||||
"backlight"
|
|
||||||
# "keyboard-state",
|
|
||||||
"battery"
|
|
||||||
"clock"
|
|
||||||
"tray"
|
|
||||||
];
|
|
||||||
# Modules configuration
|
|
||||||
# sway/workspaces = {
|
|
||||||
# "disable-scroll = true,
|
|
||||||
# "all-outputs = true,
|
|
||||||
# "warp-on-scroll = false,
|
|
||||||
# "format = "{name}: {icon}",
|
|
||||||
# "format-icons = {
|
|
||||||
# "1 = "",
|
|
||||||
# "2 = "",
|
|
||||||
# "3 = "",
|
|
||||||
# "4 = "",
|
|
||||||
# "5 = "",
|
|
||||||
# "urgent = "",
|
|
||||||
# "focused = "",
|
|
||||||
# "default = ""
|
|
||||||
# }
|
|
||||||
# },
|
|
||||||
"hyprland/workspaces" = {
|
|
||||||
active-only = false;
|
|
||||||
format = "{icon}";
|
|
||||||
format-icons = {
|
|
||||||
"1" = "一";
|
|
||||||
"2" = "二";
|
|
||||||
"3" = "三";
|
|
||||||
"4" = "四";
|
|
||||||
"5" = "五";
|
|
||||||
"6" = "六";
|
|
||||||
"7" = "七";
|
|
||||||
"8" = "八";
|
|
||||||
"9" = "九";
|
|
||||||
"10" = "十";
|
|
||||||
"11" = "一";
|
|
||||||
"12" = "二";
|
|
||||||
"13" = "三";
|
|
||||||
"14" = "四";
|
|
||||||
"15" = "五";
|
|
||||||
"16" = "六";
|
|
||||||
"17" = "七";
|
|
||||||
"18" = "八";
|
|
||||||
"19" = "九";
|
|
||||||
"20" = "十";
|
|
||||||
"21" = "一";
|
|
||||||
"22" = "二";
|
|
||||||
"23" = "三";
|
|
||||||
"24" = "四";
|
|
||||||
"25" = "五";
|
|
||||||
"26" = "六";
|
|
||||||
"27" = "七";
|
|
||||||
"28" = "八";
|
|
||||||
"29" = "九";
|
|
||||||
"30" = "十";
|
|
||||||
};
|
|
||||||
on-scroll-up = "hyprctl dispatch workspace e+1";
|
|
||||||
on-scroll-down = "hyprctl dispatch workspace e-1";
|
|
||||||
persistent-workspaces = {
|
|
||||||
HDMI-A-1 = [1 2 3 4 5 6 7 8 9 10];
|
|
||||||
DP-1 = [11 12 13 14 15 16 17 18 19 20];
|
|
||||||
DP-2 = [21 22 23 24 25 26 27 28 29 30];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
keyboard-state = {
|
|
||||||
numlock = false;
|
|
||||||
capslock = true;
|
|
||||||
format = "{name} {icon}";
|
|
||||||
format-icons = {
|
|
||||||
locked = "";
|
|
||||||
unlocked = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"sway/mode" = {
|
|
||||||
format = "<span style=\"italic\">{}</span>";
|
|
||||||
};
|
|
||||||
"sway/scratchpad" = {
|
|
||||||
format = "{icon} {count}";
|
|
||||||
show-empty = false;
|
|
||||||
format-icons = ["" ""];
|
|
||||||
tooltip = true;
|
|
||||||
tooltip-format = "{app}: {title}";
|
|
||||||
};
|
|
||||||
mpris = {
|
|
||||||
interval = 1;
|
|
||||||
format = "{player_icon} {status_icon}";
|
|
||||||
format-paused = "{player_icon} {status_icon}";
|
|
||||||
tooltip-format = "{player_icon} {dynamic}";
|
|
||||||
tooltip-format-paused = "{player_icon} {dynamic}";
|
|
||||||
player-icons = {
|
|
||||||
default = "";
|
|
||||||
mpv = "";
|
|
||||||
vlc = "";
|
|
||||||
spotify = "";
|
|
||||||
};
|
|
||||||
status-icons = {
|
|
||||||
playing = "";
|
|
||||||
paused = "";
|
|
||||||
stopped = "";
|
|
||||||
};
|
|
||||||
# "ignored-players = ["firefox"]
|
|
||||||
};
|
|
||||||
mpd = {
|
|
||||||
format = "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ";
|
|
||||||
format-disconnected = "Disconnected ";
|
|
||||||
format-stopped = "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ";
|
|
||||||
unknown-tag = "N/A";
|
|
||||||
interval = 2;
|
|
||||||
consume-icons = {
|
|
||||||
on = " ";
|
|
||||||
};
|
|
||||||
random-icons = {
|
|
||||||
off = "<span color=\"#f53c3c\"></span> ";
|
|
||||||
on = " ";
|
|
||||||
};
|
|
||||||
repeat-icons = {
|
|
||||||
on = " ";
|
|
||||||
};
|
|
||||||
single-icons = {
|
|
||||||
on = "1 ";
|
|
||||||
};
|
|
||||||
state-icons = {
|
|
||||||
paused = "";
|
|
||||||
playing = "";
|
|
||||||
};
|
|
||||||
tooltip-format = "MPD (connected)";
|
|
||||||
tooltip-format-disconnected = "MPD (disconnected)";
|
|
||||||
};
|
|
||||||
idle_inhibitor = {
|
|
||||||
format = "{icon}";
|
|
||||||
format-icons = {
|
|
||||||
activated = "";
|
|
||||||
deactivated = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
tray = {
|
|
||||||
# "icon-size = 21,
|
|
||||||
spacing = 10;
|
|
||||||
show-passive-items = true;
|
|
||||||
};
|
|
||||||
clock = {
|
|
||||||
format = "{:%b %d %I:%M %p}";
|
|
||||||
tooltip-format = "<big>{:%d %B %Y}</big>\n<tt><small>{calendar}</small></tt>";
|
|
||||||
format-alt = "{:%Y-%m-%d %I:%M %p}";
|
|
||||||
};
|
|
||||||
cpu = {
|
|
||||||
format = "{usage}% ";
|
|
||||||
tooltip = false;
|
|
||||||
};
|
|
||||||
memory = {
|
|
||||||
format = "{}% ";
|
|
||||||
};
|
|
||||||
temperature = {
|
|
||||||
# "thermal-zone = 2,
|
|
||||||
# "hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input",
|
|
||||||
critical-threshold = 80;
|
|
||||||
# "format-critical = "{temperatureC}°C {icon}",
|
|
||||||
format = "{temperatureC}°C {icon}";
|
|
||||||
format-icons = ["" "" " "];
|
|
||||||
};
|
|
||||||
backlight = {
|
|
||||||
# "device = "acpi_video1",
|
|
||||||
format = "{percent}% {icon}";
|
|
||||||
format-icons = ["" "" "" "" "" "" "" "" ""];
|
|
||||||
};
|
|
||||||
battery = {
|
|
||||||
# bat = "BAT0";
|
|
||||||
states = {
|
|
||||||
good = 95;
|
|
||||||
warning = 30;
|
|
||||||
critical = 15;
|
|
||||||
};
|
|
||||||
format = "{capacity}% {icon}";
|
|
||||||
format-charging = "{capacity}% ";
|
|
||||||
format-plugged = "{capacity}% ";
|
|
||||||
format-alt = "{time} {icon}";
|
|
||||||
# "format-good = "", # An empty format will hide the module
|
|
||||||
# "format-full = "",
|
|
||||||
format-icons = ["" "" "" "" ""];
|
|
||||||
interval = 10;
|
|
||||||
weighted-average = true;
|
|
||||||
};
|
|
||||||
network = {
|
|
||||||
# "interface = "wlp2*", # (Optional) To force the use of this interface
|
|
||||||
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}";
|
|
||||||
on-click-right = "kitty nmtui";
|
|
||||||
};
|
|
||||||
pulseaudio = {
|
|
||||||
# "scroll-step = 1, # %, can be a float
|
|
||||||
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";
|
|
||||||
};
|
|
||||||
"custom/media" = {
|
|
||||||
format = "{icon} {}";
|
|
||||||
return-type = "json";
|
|
||||||
max-length = 40;
|
|
||||||
format-icons = {
|
|
||||||
spotify = "";
|
|
||||||
default = "🎜";
|
|
||||||
};
|
|
||||||
escape = true;
|
|
||||||
exec = "$HOME/.config/waybar/mediaplayer.py 2> /dev/null"; # Script in resources folder
|
|
||||||
# exec = "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" # Filter player based on name
|
|
||||||
};
|
|
||||||
"custom/archicon" = {
|
|
||||||
format = "";
|
|
||||||
# "on-click":"nwg-menu -d -fm nemo -cmd-lock gtklock -va top",
|
|
||||||
on-click = "jgmenu_run";
|
|
||||||
tooltip = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
# CSS Styling
|
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
style = ''
|
|
||||||
/*
|
|
||||||
* Variant: Rosé Pine
|
|
||||||
* Maintainer: DankChoir
|
|
||||||
*/
|
|
||||||
|
|
||||||
@define-color base #191724;
|
|
||||||
@define-color surface #1f1d2e;
|
|
||||||
@define-color overlay #26233a;
|
|
||||||
|
|
||||||
@define-color muted #6e6a86;
|
|
||||||
@define-color subtle #908caa;
|
|
||||||
@define-color text #e0def4;
|
|
||||||
|
|
||||||
@define-color love #eb6f92;
|
|
||||||
@define-color gold #f6c177;
|
|
||||||
@define-color rose #ebbcba;
|
|
||||||
@define-color pine #31748f;
|
|
||||||
@define-color foam #9ccfd8;
|
|
||||||
@define-color iris #c4a7e7;
|
|
||||||
|
|
||||||
@define-color highlightLow #21202e;
|
|
||||||
@define-color highlightMed #403d52;
|
|
||||||
@define-color highlightHigh #524f67;
|
|
||||||
|
|
||||||
* {
|
|
||||||
font-family: "JetBrainsMono Nerd Font", FontAwesome, Roboto, Helvetica,
|
|
||||||
Arial, sans-serif;
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar {
|
|
||||||
background-color: @surface;
|
|
||||||
color: @text;
|
|
||||||
transition-property: background-color;
|
|
||||||
transition-duration: 0.5s;
|
|
||||||
border-radius: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar.hidden {
|
|
||||||
opacity: 0.2;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
window#waybar.empty {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
window#waybar.solo {
|
|
||||||
background-color: #FFFFFF;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*window#waybar.termite {
|
|
||||||
background-color: #3F3F3F;
|
|
||||||
}
|
|
||||||
window#waybar.chromium {
|
|
||||||
background-color: #000000;
|
|
||||||
border: none;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
box-shadow: inset 0 -3px transparent;
|
|
||||||
padding: 0 8px;
|
|
||||||
background-color: @base;
|
|
||||||
color: @text;
|
|
||||||
border: none;
|
|
||||||
border-radius: 0;
|
|
||||||
font-weight: 800;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button:first-child {
|
|
||||||
border-radius: 10px 0 0 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button:last-child {
|
|
||||||
border-radius: 0 10px 10px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
|
||||||
#workspaces button:hover {
|
|
||||||
background: rgba(0, 0, 0, 0.2);
|
|
||||||
background-color: @overlay;
|
|
||||||
/* box-shadow: inset 0 -100px 0 -97px @bright-yellow; */
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.empty {
|
|
||||||
color: @muted;
|
|
||||||
box-shadow: inherit;
|
|
||||||
text-shadow: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active {
|
|
||||||
color: @gold;
|
|
||||||
box-shadow: inset 0 -100px 0 -97px @bright-yellow;
|
|
||||||
text-shadow: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.focused {
|
|
||||||
background-color: @overlay;
|
|
||||||
color: @text;
|
|
||||||
/* box-shadow: inset 0 -100px 0 -97px @bright-yellow; */
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.urgent {
|
|
||||||
background-color: @love;
|
|
||||||
color: @base;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mode {
|
|
||||||
background-color: @overlay;
|
|
||||||
border-bottom: 3px solid @gold;
|
|
||||||
}
|
|
||||||
|
|
||||||
#cava,
|
|
||||||
#clock,
|
|
||||||
#battery,
|
|
||||||
#cpu,
|
|
||||||
#memory,
|
|
||||||
#disk,
|
|
||||||
#temperature,
|
|
||||||
#backlight,
|
|
||||||
#network,
|
|
||||||
#pulseaudio,
|
|
||||||
#pulseaudio.muted,
|
|
||||||
#pulseaudio.bluetooth,
|
|
||||||
#wireplumber,
|
|
||||||
#custom-media,
|
|
||||||
#tray,
|
|
||||||
#mpris,
|
|
||||||
#keyboard-state,
|
|
||||||
#mode,
|
|
||||||
#battery,
|
|
||||||
#idle_inhibitor,
|
|
||||||
#scratchpad,
|
|
||||||
#mpd {
|
|
||||||
padding: 0 10px;
|
|
||||||
color: @text;
|
|
||||||
}
|
|
||||||
|
|
||||||
#window,
|
|
||||||
#workspaces {
|
|
||||||
margin: 0 4px;
|
|
||||||
padding-top: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modules-right {
|
|
||||||
background-color: @overlay;
|
|
||||||
border-radius: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* If workspaces is the leftmost module, omit left margin */
|
|
||||||
.modules-left > widget:first-child > #workspaces {
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* If workspaces is the rightmost module, omit right margin */
|
|
||||||
.modules-right > widget:last-child > #workspaces {
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mpris {
|
|
||||||
color: @gold;
|
|
||||||
}
|
|
||||||
|
|
||||||
#clock {
|
|
||||||
color: @gold;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery {
|
|
||||||
color: @foam;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.charging,
|
|
||||||
#battery.plugged {
|
|
||||||
color: #d3869b;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes blink {
|
|
||||||
to {
|
|
||||||
background-color: #fbf1c7;
|
|
||||||
color: #df3f71;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.critical:not(.charging) {
|
|
||||||
background-color: #282828;
|
|
||||||
color: #d3869b;
|
|
||||||
animation-name: blink;
|
|
||||||
animation-duration: 0.5s;
|
|
||||||
animation-timing-function: linear;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
animation-direction: alternate;
|
|
||||||
}
|
|
||||||
|
|
||||||
label:focus {
|
|
||||||
background-color: #000000;
|
|
||||||
}
|
|
||||||
|
|
||||||
#backlight {
|
|
||||||
color: #458588;
|
|
||||||
}
|
|
||||||
|
|
||||||
#temperature {
|
|
||||||
color: #fabd2f;
|
|
||||||
}
|
|
||||||
|
|
||||||
#temperature.critical {
|
|
||||||
background-color: #fbf1c7;
|
|
||||||
color: #b57614;
|
|
||||||
}
|
|
||||||
|
|
||||||
#cpu {
|
|
||||||
color: @foam;
|
|
||||||
}
|
|
||||||
|
|
||||||
#memory {
|
|
||||||
color: @iris;
|
|
||||||
}
|
|
||||||
|
|
||||||
#network {
|
|
||||||
color: @foam;
|
|
||||||
}
|
|
||||||
|
|
||||||
#network.disconnected {
|
|
||||||
background-color: @love;
|
|
||||||
color: @base;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*#disk {
|
|
||||||
background-color: #964B00;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
#pulseaudio,
|
|
||||||
#pulseaudio.muted,
|
|
||||||
#pulseaudio.bluetooth {
|
|
||||||
color: @pine;
|
|
||||||
}
|
|
||||||
|
|
||||||
#tray {
|
|
||||||
}
|
|
||||||
|
|
||||||
#tray > .needs-attention {
|
|
||||||
background-color: @love;
|
|
||||||
color: @base;
|
|
||||||
}
|
|
||||||
|
|
||||||
#idle_inhibitor {
|
|
||||||
background-color: #282828;
|
|
||||||
color: #ebdbb2;
|
|
||||||
}
|
|
||||||
|
|
||||||
#idle_inhibitor.activated {
|
|
||||||
background-color: #fbf1c7;
|
|
||||||
color: #3c3836;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-media {
|
|
||||||
background-color: #66cc99;
|
|
||||||
color: #2a5c45;
|
|
||||||
min-width: 100px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-media.custom-spotify {
|
|
||||||
background-color: #66cc99;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-media.custom-vlc {
|
|
||||||
background-color: #ffa000;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mpd {
|
|
||||||
background-color: #66cc99;
|
|
||||||
color: #2a5c45;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mpd.disconnected {
|
|
||||||
background-color: #f53c3c;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mpd.stopped {
|
|
||||||
background-color: #90b1b1;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mpd.paused {
|
|
||||||
background-color: #51a37a;
|
|
||||||
}
|
|
||||||
|
|
||||||
#language {
|
|
||||||
background: #00b093;
|
|
||||||
color: #740864;
|
|
||||||
padding: 0 5px;
|
|
||||||
margin: 0 5px;
|
|
||||||
min-width: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#keyboard-state {
|
|
||||||
background: #97e1ad;
|
|
||||||
color: #000000;
|
|
||||||
padding: 0 0px;
|
|
||||||
margin: 0 5px;
|
|
||||||
min-width: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#keyboard-state > label {
|
|
||||||
padding: 0 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#keyboard-state > label.locked {
|
|
||||||
background: rgba(0, 0, 0, 0.2);
|
|
||||||
}
|
|
||||||
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
{ hostname, ... }:
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
if hostname == "zion" then
|
|
||||||
[
|
|
||||||
./zion.nix
|
|
||||||
|
|
||||||
./modules/adb.nix
|
|
||||||
./modules/ananicy.nix
|
|
||||||
# ./modules/bluetooth.nix
|
|
||||||
./modules/boot.nix
|
|
||||||
./modules/configuration.nix
|
|
||||||
./modules/development.nix
|
|
||||||
./modules/fstrim.nix
|
|
||||||
./modules/gaming.nix
|
|
||||||
./modules/greetd.nix
|
|
||||||
./modules/gsettings.nix
|
|
||||||
# ./modules/kde.nix
|
|
||||||
# ./modules/lanzaboot.nix
|
|
||||||
./modules/network.nix
|
|
||||||
./modules/nh.nix
|
|
||||||
./modules/nvidia.nix
|
|
||||||
./modules/ollama.nix
|
|
||||||
./modules/packages.nix
|
|
||||||
./modules/pipewire.nix
|
|
||||||
./modules/printing.nix
|
|
||||||
./modules/remote-builder.nix
|
|
||||||
./modules/security.nix
|
|
||||||
./modules/ssh.nix
|
|
||||||
./modules/steam.nix
|
|
||||||
./modules/users.nix
|
|
||||||
./modules/vm.nix
|
|
||||||
./modules/xserver.nix
|
|
||||||
]
|
|
||||||
else if hostname == "thor" then
|
|
||||||
[
|
|
||||||
./thor.nix
|
|
||||||
|
|
||||||
./modules/adb.nix
|
|
||||||
./modules/ananicy.nix
|
|
||||||
./modules/bluetooth.nix
|
|
||||||
./modules/boot.nix
|
|
||||||
./modules/configuration.nix
|
|
||||||
./modules/development.nix
|
|
||||||
./modules/distributed-builds.nix
|
|
||||||
./modules/fstrim.nix
|
|
||||||
./modules/gaming.nix
|
|
||||||
./modules/greetd.nix
|
|
||||||
./modules/gsettings.nix
|
|
||||||
# ./modules/kde.nix
|
|
||||||
# ./modules/lanzaboot.nix
|
|
||||||
./modules/network.nix
|
|
||||||
./modules/nh.nix
|
|
||||||
# ./modules/nvidia.nix
|
|
||||||
./modules/ollama.nix
|
|
||||||
./modules/packages.nix
|
|
||||||
./modules/pipewire.nix
|
|
||||||
./modules/printing.nix
|
|
||||||
./modules/security.nix
|
|
||||||
./modules/ssh.nix
|
|
||||||
./modules/tlp.nix
|
|
||||||
./modules/users.nix
|
|
||||||
./modules/vm.nix
|
|
||||||
]
|
|
||||||
else if hostname == "server" then
|
|
||||||
[
|
|
||||||
./server.nix
|
|
||||||
|
|
||||||
./modules/nh.nix
|
|
||||||
./modules/tlp.nix
|
|
||||||
./modules/ssh.nix
|
|
||||||
./modules/boot.nix
|
|
||||||
./modules/users.nix
|
|
||||||
./modules/nvidia.nix
|
|
||||||
./modules/ollama.nix
|
|
||||||
./modules/fstrim.nix
|
|
||||||
./modules/system.nix
|
|
||||||
./modules/network.nix
|
|
||||||
./modules/configuration.nix
|
|
||||||
#./modules/lanzaboot.nix
|
|
||||||
]
|
|
||||||
else
|
|
||||||
[ ];
|
|
||||||
}
|
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
programs.adb.enable = true;
|
programs.adb.enable = true;
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
pkgs.android-tools
|
pkgs.android-tools
|
||||||
pkgs.universal-android-debloater
|
pkgs.universal-android-debloater
|
||||||
];
|
];
|
||||||
users.users.mike.extraGroups = [ "adbusers" ];
|
users.users.mike.extraGroups = ["adbusers"];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
services.ananicy = {
|
services.ananicy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.ananicy-cpp;
|
package = pkgs.ananicy-cpp;
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
{ pkgs, hostname, inputs, ... }:
|
|
||||||
{
|
{
|
||||||
imports = if hostname == "zion" then [ inputs.chaotic.nixosModules.default ] else [ ];
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
boot = {
|
boot = {
|
||||||
tmp.cleanOnBoot = true;
|
tmp.cleanOnBoot = true;
|
||||||
|
|
||||||
@@ -15,10 +16,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
kernelPackages =
|
kernelPackages = pkgs.linuxPackages_zen;
|
||||||
if hostname == "zion" then pkgs.linuxPackages_cachyos #linuxPackages_zen #linuxPackages #linuxPackages_latest #linuxPackages_xanmod_latest
|
|
||||||
else if hostname == "thor" then pkgs.linuxPackages
|
|
||||||
else if hostname == "server" then pkgs.linuxPackages
|
|
||||||
else pkgs.linuxPackages_zen;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
{ hostname, inputs, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
time.timeZone = "Europe/Warsaw";
|
time.timeZone = "Europe/Warsaw";
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
@@ -29,17 +35,17 @@
|
|||||||
|
|
||||||
libinput = {
|
libinput = {
|
||||||
enable = true;
|
enable = true;
|
||||||
mouse = {
|
# mouse = {
|
||||||
accelProfile = "flat";
|
# accelProfile = "flat";
|
||||||
accelSpeed = "0.0";
|
# accelSpeed = "0.0";
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
sessionVariables.NIXOS_OZONE_WL = "1";
|
# sessionVariables.NIXOS_OZONE_WL = "1";
|
||||||
|
|
||||||
shells = with pkgs; [ bash zsh ];
|
shells = with pkgs; [bash zsh];
|
||||||
};
|
};
|
||||||
|
|
||||||
system = {
|
system = {
|
||||||
@@ -48,9 +54,30 @@
|
|||||||
enable = false;
|
enable = false;
|
||||||
enableNg = true;
|
enableNg = true;
|
||||||
};
|
};
|
||||||
|
autoUpgrade = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
|
# You can add overlays here
|
||||||
|
overlays = [
|
||||||
|
# Add overlays your own flake exports (from overlays and pkgs dir):
|
||||||
|
outputs.overlays.additions
|
||||||
|
outputs.overlays.modifications
|
||||||
|
outputs.overlays.unstable-packages
|
||||||
|
|
||||||
|
# You can also add overlays exported from other flakes:
|
||||||
|
# neovim-nightly-overlay.overlays.default
|
||||||
|
|
||||||
|
# Or define it inline, for example:
|
||||||
|
# (final: prev: {
|
||||||
|
# hi = final.hello.overrideAttrs (oldAttrs: {
|
||||||
|
# patches = [ ./change-hello-to-hi.patch ];
|
||||||
|
# });
|
||||||
|
# })
|
||||||
|
];
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
# I'm sorry Richard Stallman
|
# I'm sorry Richard Stallman
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
@@ -66,19 +93,27 @@
|
|||||||
nixos.enable = true;
|
nixos.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
nix = {
|
nix = let
|
||||||
|
flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
|
||||||
|
in {
|
||||||
daemonCPUSchedPolicy = "batch";
|
daemonCPUSchedPolicy = "batch";
|
||||||
channel.enable = false;
|
channel.enable = false;
|
||||||
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
|
# nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
||||||
|
|
||||||
optimise = {
|
optimise = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
dates = [ "daily" ];
|
dates = ["daily"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Opinionated: make flake registry and nix path match flake inputs
|
||||||
|
registry = lib.mapAttrs (_: flake: {inherit flake;}) flakeInputs;
|
||||||
|
nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
experimental-features = ["nix-command" "flakes"];
|
||||||
|
flake-registry = "";
|
||||||
|
nix-path = config.nix.nixPath;
|
||||||
|
|
||||||
substituters = [
|
substituters = [
|
||||||
"https://cache.nixos.org"
|
"https://cache.nixos.org"
|
||||||
@@ -1,6 +1,10 @@
|
|||||||
{ inputs, pkgs, rust-overlay, ... }:
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
rust-overlay,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
environment.systemPackages = with pkgs.unstable; [
|
||||||
# general
|
# general
|
||||||
docker
|
docker
|
||||||
docker-compose
|
docker-compose
|
||||||
@@ -29,6 +33,7 @@
|
|||||||
# # python
|
# # python
|
||||||
# python311
|
# python311
|
||||||
# python311Packages.pip
|
# python311Packages.pip
|
||||||
|
uv
|
||||||
# python311Packages.venvShellHook
|
# python311Packages.venvShellHook
|
||||||
|
|
||||||
# cpp
|
# cpp
|
||||||
@@ -57,9 +62,18 @@
|
|||||||
cachix
|
cachix
|
||||||
lorri
|
lorri
|
||||||
niv
|
niv
|
||||||
|
nixd
|
||||||
nixfmt-classic
|
nixfmt-classic
|
||||||
statix
|
statix
|
||||||
vulnix
|
|
||||||
haskellPackages.dhall-nix
|
haskellPackages.dhall-nix
|
||||||
|
|
||||||
|
# java
|
||||||
|
jdk
|
||||||
|
jdk8
|
||||||
|
jdk17
|
||||||
|
maven
|
||||||
|
gradle
|
||||||
|
|
||||||
|
tex-fmt
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
nix.distributedBuilds = true;
|
nix.distributedBuilds = true;
|
||||||
nix.settings.builders-use-substitutes = true;
|
nix.settings.builders-use-substitutes = true;
|
||||||
|
|
||||||
@@ -9,7 +8,7 @@
|
|||||||
sshUser = "remotebuild";
|
sshUser = "remotebuild";
|
||||||
sshKey = "/root/.ssh/remotebuild";
|
sshKey = "/root/.ssh/remotebuild";
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
supportedFeatures = [ "nixos-test" "big-parallel" "kvm" ];
|
supportedFeatures = ["nixos-test" "big-parallel" "kvm"];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +1,18 @@
|
|||||||
{ pkgs, username, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
users.users.mike.packages = with pkgs; [heroic];
|
||||||
users.users.${username}.packages = with pkgs; [ heroic ];
|
|
||||||
hardware.steam-hardware.enable = true;
|
hardware.steam-hardware.enable = true;
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
steam = {
|
steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
gamescopeSession.enable = true;
|
gamescopeSession.enable = true;
|
||||||
extraCompatPackages = with pkgs; [ proton-ge-bin ];
|
extraCompatPackages = with pkgs; [proton-ge-bin];
|
||||||
};
|
};
|
||||||
|
|
||||||
gamemode = {
|
gamemode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableRenice = true;
|
enableRenice = true;
|
||||||
settings = { };
|
settings = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
gamescope = {
|
gamescope = {
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
services.greetd = {
|
services.greetd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
{ lib, pkgs, inputs, ... }:
|
|
||||||
{
|
{
|
||||||
imports = [ inputs.lanzaboote.nixosModules.lanzaboote ];
|
lib,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [inputs.lanzaboote.nixosModules.lanzaboote];
|
||||||
|
|
||||||
environment.systemPackages = [ pkgs.sbctl ];
|
environment.systemPackages = [pkgs.sbctl];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
loader.systemd-boot.enable = lib.mkForce false;
|
loader.systemd-boot.enable = lib.mkForce false;
|
||||||
|
|||||||
@@ -1,15 +1,13 @@
|
|||||||
{ hostname, ... }:
|
|
||||||
{
|
{
|
||||||
boot.initrd.systemd.network.wait-online.enable = false;
|
boot.initrd.systemd.network.wait-online.enable = false;
|
||||||
systemd.services.NetworkManager-wait-online.enable = false;
|
systemd.services.NetworkManager-wait-online.enable = false;
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "${hostname}";
|
|
||||||
firewall.enable = true;
|
firewall.enable = true;
|
||||||
|
|
||||||
stevenblack = {
|
stevenblack = {
|
||||||
enable = true;
|
enable = true;
|
||||||
block = [ "fakenews" "gambling" "porn" ];
|
block = ["fakenews" "gambling" "porn"];
|
||||||
};
|
};
|
||||||
|
|
||||||
wireless = {
|
wireless = {
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
{ username, ... }:
|
|
||||||
{
|
{
|
||||||
programs.nh = {
|
programs.nh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
flake = "/home/${username}/.files";
|
flake = "/home/mike/.files";
|
||||||
clean = {
|
clean = {
|
||||||
enable = true;
|
enable = true;
|
||||||
dates = "weekly";
|
dates = "weekly";
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
nixpkgs.config.nvidia.acceptLicense = true;
|
nixpkgs.config.nvidia.acceptLicense = true;
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
services.xserver.videoDrivers = ["nvidia"];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
kernelModules = [ "nvidia-uvm" ];
|
kernelModules = ["nvidia" "nvidia-uvm"];
|
||||||
kernelParams = [ "nvidia-drm.fbdev=1" ];
|
kernelParams = ["nvidia-drm.fbdev=1" "nvidia-drm.modeset=1"];
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
@@ -14,20 +17,20 @@
|
|||||||
enable32Bit = true;
|
enable32Bit = true;
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
egl-wayland
|
egl-wayland
|
||||||
vaapiVdpau
|
vaapiVdpau
|
||||||
libvdpau-va-gl
|
libvdpau-va-gl
|
||||||
nvidia-vaapi-driver
|
nvidia-vaapi-driver
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
nvidia = {
|
nvidia = {
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||||
open = false;
|
open = true;
|
||||||
|
|
||||||
nvidiaSettings = true;
|
nvidiaSettings = true;
|
||||||
|
|
||||||
modesetting.enable = true;
|
modesetting.enable = true;
|
||||||
|
|
||||||
powerManagement = {
|
powerManagement = {
|
||||||
enable = false;
|
enable = false;
|
||||||
finegrained = false;
|
finegrained = false;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
vim
|
vim
|
||||||
ntfs3g
|
ntfs3g
|
||||||
@@ -33,74 +32,85 @@
|
|||||||
|
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
|
|
||||||
|
# fonts.packages = with pkgs; [
|
||||||
|
# nerd-fonts.zed-mono
|
||||||
|
# # nerd-fonts.victor-mono
|
||||||
|
# # nerd-fonts.ubuntu-sans
|
||||||
|
# # nerd-fonts.ubuntu-mono
|
||||||
|
# nerd-fonts.ubuntu
|
||||||
|
# # nerd-fonts.tinos
|
||||||
|
# # nerd-fonts.terminess-ttf
|
||||||
|
# nerd-fonts.symbols-only
|
||||||
|
# # nerd-fonts.space-mono
|
||||||
|
# # nerd-fonts.shure-tech-mono
|
||||||
|
# nerd-fonts.sauce-code-pro
|
||||||
|
# nerd-fonts.roboto-mono
|
||||||
|
# # nerd-fonts.recursive-mono
|
||||||
|
# # nerd-fonts.proggy-clean-tt
|
||||||
|
# # nerd-fonts.profont
|
||||||
|
# # nerd-fonts.overpass
|
||||||
|
# nerd-fonts.open-dyslexic
|
||||||
|
# nerd-fonts.noto
|
||||||
|
# # nerd-fonts.mplus
|
||||||
|
# # nerd-fonts.mononoki
|
||||||
|
# # nerd-fonts.monoid
|
||||||
|
# # nerd-fonts.monofur
|
||||||
|
# # nerd-fonts.monaspace
|
||||||
|
# # nerd-fonts.meslo-lg
|
||||||
|
# # nerd-fonts.martian-mono
|
||||||
|
# # nerd-fonts.lilex
|
||||||
|
# nerd-fonts.liberation
|
||||||
|
# # nerd-fonts.lekton
|
||||||
|
# nerd-fonts.jetbrains-mono
|
||||||
|
# # nerd-fonts.iosevka-term-slab
|
||||||
|
# # nerd-fonts.iosevka-term
|
||||||
|
# nerd-fonts.iosevka
|
||||||
|
# # nerd-fonts.intone-mono
|
||||||
|
# # nerd-fonts.inconsolata-lgc
|
||||||
|
# # nerd-fonts.inconsolata-go
|
||||||
|
# nerd-fonts.inconsolata
|
||||||
|
# # nerd-fonts.im-writing
|
||||||
|
# # nerd-fonts.hurmit
|
||||||
|
# # nerd-fonts.heavy-data
|
||||||
|
# # nerd-fonts.hasklug
|
||||||
|
# nerd-fonts.hack
|
||||||
|
# nerd-fonts.gohufont
|
||||||
|
# # nerd-fonts.go-mono
|
||||||
|
# # nerd-fonts.geist-mono
|
||||||
|
# nerd-fonts.fira-mono
|
||||||
|
# nerd-fonts.fira-code
|
||||||
|
# # nerd-fonts.fantasque-sans-mono
|
||||||
|
# # nerd-fonts.envy-code-r
|
||||||
|
# nerd-fonts.droid-sans-mono
|
||||||
|
# # nerd-fonts.departure-mono
|
||||||
|
# nerd-fonts.dejavu-sans-mono
|
||||||
|
# # nerd-fonts.daddy-time-mono
|
||||||
|
# # nerd-fonts.d2coding
|
||||||
|
# # nerd-fonts.cousine
|
||||||
|
# # nerd-fonts.commit-mono
|
||||||
|
# nerd-fonts.comic-shanns-mono
|
||||||
|
# nerd-fonts.code-new-roman
|
||||||
|
# nerd-fonts.caskaydia-cove
|
||||||
|
# # nerd-fonts.blex-mono
|
||||||
|
# # nerd-fonts.bitstream-vera-sans-mono
|
||||||
|
# # nerd-fonts.bigblue-terminal
|
||||||
|
# # nerd-fonts.aurulent-sans-mono
|
||||||
|
# # nerd-fonts.arimo
|
||||||
|
# # nerd-fonts.anonymice
|
||||||
|
# # nerd-fonts.agave
|
||||||
|
# nerd-fonts._3270
|
||||||
|
# nerd-fonts._0xproto
|
||||||
|
# noto-fonts
|
||||||
|
# noto-fonts-cjk-sans
|
||||||
|
# noto-fonts-emoji
|
||||||
|
# font-awesome
|
||||||
|
# source-han-sans
|
||||||
|
# source-han-sans-japanese
|
||||||
|
# source-han-serif-japanese
|
||||||
|
# ];
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
nerd-fonts.zed-mono
|
nerdfonts
|
||||||
# nerd-fonts.victor-mono
|
|
||||||
# nerd-fonts.ubuntu-sans
|
|
||||||
# nerd-fonts.ubuntu-mono
|
|
||||||
nerd-fonts.ubuntu
|
|
||||||
# nerd-fonts.tinos
|
|
||||||
# nerd-fonts.terminess-ttf
|
|
||||||
nerd-fonts.symbols-only
|
|
||||||
# nerd-fonts.space-mono
|
|
||||||
# nerd-fonts.shure-tech-mono
|
|
||||||
nerd-fonts.sauce-code-pro
|
|
||||||
nerd-fonts.roboto-mono
|
|
||||||
# nerd-fonts.recursive-mono
|
|
||||||
# nerd-fonts.proggy-clean-tt
|
|
||||||
# nerd-fonts.profont
|
|
||||||
# nerd-fonts.overpass
|
|
||||||
nerd-fonts.open-dyslexic
|
|
||||||
nerd-fonts.noto
|
|
||||||
# nerd-fonts.mplus
|
|
||||||
# nerd-fonts.mononoki
|
|
||||||
# nerd-fonts.monoid
|
|
||||||
# nerd-fonts.monofur
|
|
||||||
# nerd-fonts.monaspace
|
|
||||||
# nerd-fonts.meslo-lg
|
|
||||||
# nerd-fonts.martian-mono
|
|
||||||
# nerd-fonts.lilex
|
|
||||||
nerd-fonts.liberation
|
|
||||||
# nerd-fonts.lekton
|
|
||||||
nerd-fonts.jetbrains-mono
|
|
||||||
# nerd-fonts.iosevka-term-slab
|
|
||||||
# nerd-fonts.iosevka-term
|
|
||||||
nerd-fonts.iosevka
|
|
||||||
# nerd-fonts.intone-mono
|
|
||||||
# nerd-fonts.inconsolata-lgc
|
|
||||||
# nerd-fonts.inconsolata-go
|
|
||||||
nerd-fonts.inconsolata
|
|
||||||
# nerd-fonts.im-writing
|
|
||||||
# nerd-fonts.hurmit
|
|
||||||
# nerd-fonts.heavy-data
|
|
||||||
# nerd-fonts.hasklug
|
|
||||||
nerd-fonts.hack
|
|
||||||
nerd-fonts.gohufont
|
|
||||||
# nerd-fonts.go-mono
|
|
||||||
# nerd-fonts.geist-mono
|
|
||||||
nerd-fonts.fira-mono
|
|
||||||
nerd-fonts.fira-code
|
|
||||||
# nerd-fonts.fantasque-sans-mono
|
|
||||||
# nerd-fonts.envy-code-r
|
|
||||||
nerd-fonts.droid-sans-mono
|
|
||||||
# nerd-fonts.departure-mono
|
|
||||||
nerd-fonts.dejavu-sans-mono
|
|
||||||
# nerd-fonts.daddy-time-mono
|
|
||||||
# nerd-fonts.d2coding
|
|
||||||
# nerd-fonts.cousine
|
|
||||||
# nerd-fonts.commit-mono
|
|
||||||
nerd-fonts.comic-shanns-mono
|
|
||||||
nerd-fonts.code-new-roman
|
|
||||||
nerd-fonts.caskaydia-cove
|
|
||||||
# nerd-fonts.blex-mono
|
|
||||||
# nerd-fonts.bitstream-vera-sans-mono
|
|
||||||
# nerd-fonts.bigblue-terminal
|
|
||||||
# nerd-fonts.aurulent-sans-mono
|
|
||||||
# nerd-fonts.arimo
|
|
||||||
# nerd-fonts.anonymice
|
|
||||||
# nerd-fonts.agave
|
|
||||||
nerd-fonts._3270
|
|
||||||
nerd-fonts._0xproto
|
|
||||||
noto-fonts
|
noto-fonts
|
||||||
noto-fonts-cjk-sans
|
noto-fonts-cjk-sans
|
||||||
noto-fonts-emoji
|
noto-fonts-emoji
|
||||||
@@ -108,6 +118,8 @@
|
|||||||
source-han-sans
|
source-han-sans
|
||||||
source-han-sans-japanese
|
source-han-sans-japanese
|
||||||
source-han-serif-japanese
|
source-han-serif-japanese
|
||||||
|
vistafonts
|
||||||
|
corefonts
|
||||||
];
|
];
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
@@ -123,5 +135,4 @@
|
|||||||
# max-cache-ttl-ssl = 60480000;
|
# max-cache-ttl-ssl = 60480000;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
services.printing = {
|
services.printing = {
|
||||||
enable = true;
|
enable = true;
|
||||||
drivers = with pkgs; [
|
drivers = with pkgs; [
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
# Enable Qtile
|
# Enable Qtile
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
# --------------------------------------
|
# --------------------------------------
|
||||||
# Enable QTILE
|
# Enable QTILE
|
||||||
# --------------------------------------
|
# --------------------------------------
|
||||||
services.xserver.windowManager.qtile = {
|
services.xserver.windowManager.qtile = {
|
||||||
enable = true;
|
enable = true;
|
||||||
configFile = /home/nel/dotfiles/qtile/config.py;
|
configFile = /home/nel/dotfiles/qtile/config.py;
|
||||||
extraPackages = python3Packages: with python3Packages; [ qtile-extras ];
|
extraPackages = python3Packages: with python3Packages; [qtile-extras];
|
||||||
};
|
};
|
||||||
|
|
||||||
# --------------------------------------
|
# --------------------------------------
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
createHome = false;
|
createHome = false;
|
||||||
group = "remotebuild";
|
group = "remotebuild";
|
||||||
|
|
||||||
openssh.authorizedKeys.keyFiles = [ ../keys/remotebuild.pub ];
|
openssh.authorizedKeys.keyFiles = [../keys/remotebuild.pub];
|
||||||
};
|
};
|
||||||
|
|
||||||
users.groups.remotebuild = {};
|
users.groups.remotebuild = {};
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
nix = {
|
nix = {
|
||||||
nrBuildUsers = 64;
|
nrBuildUsers = 64;
|
||||||
settings = {
|
settings = {
|
||||||
trusted-users = [ "remotebuild" ];
|
trusted-users = ["remotebuild"];
|
||||||
|
|
||||||
min-free = 10 * 1024 * 1024;
|
min-free = 10 * 1024 * 1024;
|
||||||
max-free = 200 * 1024 * 1024;
|
max-free = 200 * 1024 * 1024;
|
||||||
@@ -26,6 +26,5 @@
|
|||||||
MemoryAccounting = true;
|
MemoryAccounting = true;
|
||||||
MemoryMax = "90%";
|
MemoryMax = "90%";
|
||||||
OOMScoreAdjust = 500;
|
OOMScoreAdjust = 500;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
networking.firewall.allowedTCPPorts = [ 22 ];
|
networking.firewall.allowedTCPPorts = [22];
|
||||||
|
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
ports = [ 22 ];
|
ports = [22];
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
PermitRootLogin = "no";
|
PermitRootLogin = "no";
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
{ inputs, pkgs, ... }: {
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraCompatPackages = with pkgs; [
|
extraCompatPackages = with pkgs; [
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
programs.thunar = {
|
programs.thunar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = with pkgs.xfce; [
|
plugins = with pkgs.xfce; [
|
||||||
|
|||||||
@@ -1,24 +1,16 @@
|
|||||||
{ config, hostname, ... }:
|
{config, ...}: {
|
||||||
{
|
|
||||||
boot = {
|
boot = {
|
||||||
kernelModules = [ "acpi_call" ];
|
kernelModules = ["acpi_call"];
|
||||||
extraModulePackages = with config.boot.kernelPackages; [ acpi_call ];
|
extraModulePackages = with config.boot.kernelPackages; [acpi_call];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.tlp = {
|
services.tlp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
|
TLP_DEFAULT_MODE = "BAT";
|
||||||
|
|
||||||
TLP_DEFAULT_MODE =
|
TLP_PERSISTENT_DEFAULT = 0;
|
||||||
if hostname == "laptop"
|
|
||||||
then "BAT"
|
|
||||||
else "AC";
|
|
||||||
|
|
||||||
TLP_PERSISTENT_DEFAULT =
|
|
||||||
if hostname == "laptop"
|
|
||||||
then 0
|
|
||||||
else 1;
|
|
||||||
|
|
||||||
CPU_BOOST_ON_AC = 1;
|
CPU_BOOST_ON_AC = 1;
|
||||||
CPU_BOOST_ON_BAT = 0;
|
CPU_BOOST_ON_BAT = 0;
|
||||||
|
|||||||
@@ -1,12 +1,15 @@
|
|||||||
{ inputs, username, hostname, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
imports = [ inputs.home-manager.nixosModules.home-manager ];
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
# imports = [inputs.home-manager.nixosModules.home-manager];
|
||||||
|
|
||||||
users.defaultUserShell = pkgs.zsh;
|
users.defaultUserShell = pkgs.zsh;
|
||||||
|
|
||||||
users.users.${username} = {
|
users.users.mike = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "${username}";
|
description = "mike";
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"networkmanager"
|
"networkmanager"
|
||||||
"wheel"
|
"wheel"
|
||||||
@@ -17,19 +20,19 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager = {
|
# home-manager = {
|
||||||
useGlobalPkgs = true;
|
# useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
# useUserPackages = true;
|
||||||
extraSpecialArgs = { inherit inputs username hostname; };
|
# extraSpecialArgs = {inherit inputs username hostname;};
|
||||||
|
#
|
||||||
users.${username} = {
|
# users.${username} = {
|
||||||
imports = [ ../../home/home.nix ];
|
# imports = [../../home-manager/home.nix];
|
||||||
programs.home-manager.enable = true;
|
# programs.home-manager.enable = true;
|
||||||
home = {
|
# home = {
|
||||||
stateVersion = "24.05";
|
# stateVersion = "24.05";
|
||||||
username = "${username}";
|
# username = "${username}";
|
||||||
homeDirectory = "/home/${username}";
|
# homeDirectory = "/home/${username}";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
{ pkgs, username, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
boot.kernel.sysctl = {"vm.max_map_count" = 2147483642;};
|
||||||
users.users.${username}.extraGroups = [ "libvirtd" ];
|
|
||||||
boot.kernel.sysctl = { "vm.max_map_count" = 2147483642; };
|
|
||||||
|
|
||||||
# Install necessary packages
|
# Install necessary packages
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
@@ -29,7 +27,7 @@
|
|||||||
qemu = {
|
qemu = {
|
||||||
swtpm.enable = true;
|
swtpm.enable = true;
|
||||||
ovmf.enable = true;
|
ovmf.enable = true;
|
||||||
ovmf.packages = [ pkgs.OVMFFull.fd ];
|
ovmf.packages = [pkgs.OVMFFull.fd];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -40,7 +40,6 @@
|
|||||||
dconf
|
dconf
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
# X Server settings
|
# X Server settings
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -78,8 +77,8 @@
|
|||||||
src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
owner = "eRgo35";
|
owner = "eRgo35";
|
||||||
repo = "dwm";
|
repo = "dwm";
|
||||||
rev = "697d8236b237aa219595d54b0913acbc9582823f";
|
rev = "main";
|
||||||
hash = "sha256-yFEQRrU+3pxiY5gPEV7lGaTF0tm8DLiQyBRRbrqD8hU=";
|
hash = "sha256-1syRNBc/i8uSbJ4Kp/4+m8xnh5xkyY1eQvFf1/RXi2U=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
43
hosts/server/configuration.nix
Normal file
43
hosts/server/configuration.nix
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# This is your system's configuration file.
|
||||||
|
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
# You can import other NixOS modules here
|
||||||
|
imports = [
|
||||||
|
# If you want to use modules your own flake exports (from modules/nixos):
|
||||||
|
# outputs.nixosModules.example
|
||||||
|
|
||||||
|
# Or modules from other flakes (such as nixos-hardware):
|
||||||
|
# inputs.hardware.nixosModules.common-cpu-amd
|
||||||
|
# inputs.hardware.nixosModules.common-ssd
|
||||||
|
|
||||||
|
# You can also split up your configuration and import pieces of it here:
|
||||||
|
# ./users.nix
|
||||||
|
|
||||||
|
# Import your generated (nixos-generate-config) hardware configuration
|
||||||
|
./hardware-configuration.nix
|
||||||
|
|
||||||
|
../modules/common.nix
|
||||||
|
|
||||||
|
../modules/nh.nix
|
||||||
|
../modules/tlp.nix
|
||||||
|
../modules/ssh.nix
|
||||||
|
../modules/boot.nix
|
||||||
|
../modules/users.nix
|
||||||
|
../modules/nvidia.nix
|
||||||
|
../modules/ollama.nix
|
||||||
|
../modules/fstrim.nix
|
||||||
|
../modules/system.nix
|
||||||
|
../modules/network.nix
|
||||||
|
../modules/configuration.nix
|
||||||
|
#../modules/lanzaboot.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.hostName = "server";
|
||||||
|
}
|
||||||
59
hosts/thor/configuration.nix
Normal file
59
hosts/thor/configuration.nix
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
# This is your system's configuration file.
|
||||||
|
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
# You can import other NixOS modules here
|
||||||
|
imports = [
|
||||||
|
# If you want to use modules your own flake exports (from modules/nixos):
|
||||||
|
# outputs.nixosModules.example
|
||||||
|
|
||||||
|
# Or modules from other flakes (such as nixos-hardware):
|
||||||
|
# inputs.hardware.nixosModules.common-cpu-amd
|
||||||
|
# inputs.hardware.nixosModules.common-ssd
|
||||||
|
|
||||||
|
# You can also split up your configuration and import pieces of it here:
|
||||||
|
# ./users.nix
|
||||||
|
|
||||||
|
# Import your generated (nixos-generate-config) hardware configuration
|
||||||
|
./hardware-configuration.nix
|
||||||
|
|
||||||
|
../modules/common.nix
|
||||||
|
|
||||||
|
../modules/adb.nix
|
||||||
|
../modules/ananicy.nix
|
||||||
|
../modules/bluetooth.nix
|
||||||
|
../modules/boot.nix
|
||||||
|
../modules/common.nix
|
||||||
|
../modules/development.nix
|
||||||
|
../modules/distributed-builds.nix
|
||||||
|
../modules/fstrim.nix
|
||||||
|
../modules/gaming.nix
|
||||||
|
# ../modules/greetd.nix
|
||||||
|
../modules/gsettings.nix
|
||||||
|
# ../modules/kde.nix
|
||||||
|
# ../modules/lanzaboot.nix
|
||||||
|
../modules/network.nix
|
||||||
|
../modules/nh.nix
|
||||||
|
# ../modules/nvidia.nix
|
||||||
|
../modules/ollama.nix
|
||||||
|
../modules/packages.nix
|
||||||
|
../modules/pipewire.nix
|
||||||
|
../modules/printing.nix
|
||||||
|
# ../modules/remote-builder.nix
|
||||||
|
../modules/security.nix
|
||||||
|
../modules/ssh.nix
|
||||||
|
# ../modules/steam.nix
|
||||||
|
../modules/tlp.nix
|
||||||
|
../modules/users.nix
|
||||||
|
../modules/vm.nix
|
||||||
|
../modules/xserver.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.hostName = "thor";
|
||||||
|
}
|
||||||
@@ -1,30 +1,34 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usb_storage" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/efcf6f2f-7d44-441e-84a9-0a9725be0b72";
|
device = "/dev/disk/by-uuid/efcf6f2f-7d44-441e-84a9-0a9725be0b72";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/0656-C8A6";
|
device = "/dev/disk/by-uuid/0656-C8A6";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = ["fmask=0077" "dmask=0077"];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
59
hosts/zion/configuration.nix
Normal file
59
hosts/zion/configuration.nix
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
# This is your system's configuration file.
|
||||||
|
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
# You can import other NixOS modules here
|
||||||
|
imports = [
|
||||||
|
# If you want to use modules your own flake exports (from modules/nixos):
|
||||||
|
# outputs.nixosModules.example
|
||||||
|
|
||||||
|
# Or modules from other flakes (such as nixos-hardware):
|
||||||
|
# inputs.hardware.nixosModules.common-cpu-amd
|
||||||
|
# inputs.hardware.nixosModules.common-ssd
|
||||||
|
|
||||||
|
# You can also split up your configuration and import pieces of it here:
|
||||||
|
# ./users.nix
|
||||||
|
|
||||||
|
# Import your generated (nixos-generate-config) hardware configuration
|
||||||
|
./hardware-configuration.nix
|
||||||
|
|
||||||
|
../modules/common.nix
|
||||||
|
|
||||||
|
../modules/adb.nix
|
||||||
|
../modules/ananicy.nix
|
||||||
|
# ../modules/bluetooth.nix
|
||||||
|
../modules/boot.nix
|
||||||
|
../modules/common.nix
|
||||||
|
../modules/development.nix
|
||||||
|
# ../modules/distributed-builds.nix
|
||||||
|
../modules/fstrim.nix
|
||||||
|
../modules/gaming.nix
|
||||||
|
# ../modules/greetd.nix
|
||||||
|
../modules/gsettings.nix
|
||||||
|
# ../modules/kde.nix
|
||||||
|
# ../modules/lanzaboot.nix
|
||||||
|
../modules/network.nix
|
||||||
|
../modules/nh.nix
|
||||||
|
../modules/nvidia.nix
|
||||||
|
../modules/ollama.nix
|
||||||
|
../modules/packages.nix
|
||||||
|
../modules/pipewire.nix
|
||||||
|
../modules/printing.nix
|
||||||
|
../modules/remote-builder.nix
|
||||||
|
../modules/security.nix
|
||||||
|
../modules/ssh.nix
|
||||||
|
../modules/steam.nix
|
||||||
|
# ../modules/tlp.nix
|
||||||
|
../modules/users.nix
|
||||||
|
../modules/vm.nix
|
||||||
|
../modules/xserver.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.hostName = "zion";
|
||||||
|
}
|
||||||
@@ -1,32 +1,36 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = ["kvm-amd"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/9b9ed0c3-1236-499b-b9c3-51e6c4d02483";
|
device = "/dev/disk/by-uuid/9b9ed0c3-1236-499b-b9c3-51e6c4d02483";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/17B9-AFFF";
|
device = "/dev/disk/by-uuid/17B9-AFFF";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = ["fmask=0077" "dmask=0077"];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [
|
||||||
[ { device = "/dev/disk/by-uuid/d6820248-2865-4b52-9893-174309c9e684"; }
|
{device = "/dev/disk/by-uuid/d6820248-2865-4b52-9893-174309c9e684";}
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
6
modules/home-manager/default.nix
Normal file
6
modules/home-manager/default.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# Add your reusable home-manager modules to this directory, on their own file (https://nixos.wiki/wiki/Module).
|
||||||
|
# These should be stuff you would like to share with others, not your personal configurations.
|
||||||
|
{
|
||||||
|
# List your module files here
|
||||||
|
# my-module = import ./my-module.nix;
|
||||||
|
}
|
||||||
6
modules/nixos/default.nix
Normal file
6
modules/nixos/default.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# Add your reusable NixOS modules to this directory, on their own file (https://nixos.wiki/wiki/Module).
|
||||||
|
# These should be stuff you would like to share with others, not your personal configurations.
|
||||||
|
{
|
||||||
|
# List your module files here
|
||||||
|
# my-module = import ./my-module.nix;
|
||||||
|
}
|
||||||
23
overlays/default.nix
Normal file
23
overlays/default.nix
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# This file defines overlays
|
||||||
|
{inputs, ...}: {
|
||||||
|
# This one brings our custom packages from the 'pkgs' directory
|
||||||
|
additions = final: _prev: import ../pkgs final.pkgs;
|
||||||
|
|
||||||
|
# This one contains whatever you want to overlay
|
||||||
|
# You can change versions, add patches, set compilation flags, anything really.
|
||||||
|
# https://nixos.wiki/wiki/Overlays
|
||||||
|
modifications = final: prev: {
|
||||||
|
# example = prev.example.overrideAttrs (oldAttrs: rec {
|
||||||
|
# ...
|
||||||
|
# });
|
||||||
|
};
|
||||||
|
|
||||||
|
# When applied, the unstable nixpkgs set (declared in the flake inputs) will
|
||||||
|
# be accessible through 'pkgs.unstable'
|
||||||
|
unstable-packages = final: _prev: {
|
||||||
|
unstable = import inputs.nixpkgs-unstable {
|
||||||
|
system = final.system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
5
pkgs/default.nix
Normal file
5
pkgs/default.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Custom packages, that can be defined similarly to ones from nixpkgs
|
||||||
|
# You can build them using 'nix build .#example'
|
||||||
|
pkgs: {
|
||||||
|
# example = pkgs.callPackage ./example { };
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user