Compare commits

..

144 Commits

Author SHA1 Message Date
henrov 8a2c0bbe0f Added themed Thunar 2026-03-14 12:37:00 +00:00
henrov ba61474ff1 Added Thunar 2026-03-14 12:34:00 +00:00
henrov 7519d6b400 Added uwsm to wayland.nix 2026-03-14 12:27:32 +00:00
henrov d8c89696e3 Added theming.conf 2026-03-14 12:23:01 +00:00
henrov e15a3bb943 Removed theming from hyprland.nix 2026-03-14 12:20:56 +00:00
henrov 06a87da933 Theming + hyprland catpp mocha colors 2026-03-14 12:17:48 +00:00
henrov fd2736dc07 qvfs added 2026-03-14 12:07:23 +00:00
henrov 0730ea8df1 Added THunar 2026-03-14 12:04:06 +00:00
henrov c45c9403df Adding Wofi theming 2026-03-14 12:36:22 +01:00
henrov 1274d0e1f0 Adding networking 2026-03-14 12:29:41 +01:00
henrov 8df20fcd79 Adding networking 2026-03-14 12:25:12 +01:00
henrov c0188f1760 Adding networking 2026-03-14 12:22:41 +01:00
henrov 6401f44a93 Adding networking 2026-03-14 12:17:48 +01:00
henrov 0a35846424 Adding networking 2026-03-14 12:17:09 +01:00
henrov 6a8063631b Adding networking 2026-03-14 12:00:15 +01:00
henrov 676d6d74c0 Adding networking 2026-03-14 11:59:36 +01:00
henrov 0b03fe684f Adding networking 2026-03-14 11:58:47 +01:00
henrov bb631afc79 Adding networking 2026-03-14 11:54:50 +01:00
henrov 67a7c99144 Adding networking 2026-03-14 11:53:17 +01:00
henrov c3d0fb6550 Added networking 2026-03-14 11:51:32 +01:00
henrov 8b86bf34d1 Added networking 2026-03-13 23:54:28 +01:00
henrov a641aee119 Added networking 2026-03-13 23:51:53 +01:00
henrov 1574a5ae47 Added networking 2026-03-13 23:48:55 +01:00
henrov 8da47fabc4 Login manager Error 2026-03-13 23:14:42 +01:00
henrov d0cbd7d4d2 Login manager Error 2026-03-13 23:07:08 +01:00
henrov 10f49d6846 Login manager Error 2026-03-13 21:28:42 +01:00
henrov 37e4eac7be Login manager Error 2026-03-13 21:27:19 +01:00
henrov 3ac4b04d95 Display Error 2026-03-13 20:31:03 +01:00
henrov 5b598590cf Display Error 2026-03-13 20:29:08 +01:00
henrov a1a163f17e Display Error 2026-03-13 20:27:04 +01:00
henrov 50145b88c3 Display Error 2026-03-13 20:22:44 +01:00
henrov eb0872b7fd Version 25.11 2026-03-13 20:14:55 +01:00
henrov 865e3c0e4b Version 25.11 2026-03-13 20:09:43 +01:00
henrov 0c83b8462d Further modularization of machine 2026-03-13 20:02:47 +01:00
henrov 9b94e7535c Further modularization of machine 2026-03-13 20:01:50 +01:00
henrov a35fd355a7 Further modularization of machine 2026-03-13 20:00:31 +01:00
henrov df97635951 Further modularization of machine 2026-03-13 19:52:56 +01:00
henrov ef89893db5 Further modularization of machine 2026-03-13 19:48:37 +01:00
henrov 0f4ce11546 Further modularization of machine 2026-03-13 19:45:07 +01:00
henrov 07c2856fd4 Enabled dbus-broker 2026-03-13 19:35:27 +01:00
henrov 4694da2dd6 working on hyor 2026-03-13 17:42:46 +01:00
henrov 88650f6393 working on hyor 2026-03-13 17:31:52 +01:00
henrov 73b3b5b43f working on hernov 2026-03-13 17:30:54 +01:00
henrov b2e38639aa working on hernov 2026-03-13 17:30:17 +01:00
henrov 3acb7b78d4 working on hernov 2026-03-13 17:22:53 +01:00
henrov 99f1e6956d working on zsh 2026-03-13 17:20:50 +01:00
henrov 0da371bb8b Recreated files 2026-03-13 17:19:33 +01:00
henrov d9e7e7bfeb Recreated files 2026-03-12 21:17:32 +01:00
henrov 3ca7a32d44 Recreated files 2026-03-12 21:12:58 +01:00
henrov 6afa7224e5 Recreated files 2026-03-12 21:11:50 +01:00
henrov f1de0823a1 Recreated flake files 2026-03-12 21:08:41 +01:00
henrov f4951eb155 Recreated flake files 2026-03-12 20:48:48 +01:00
henrov 7af2119207 Recreated flake files 2026-03-12 20:42:25 +01:00
henrov 629b86ab29 Recreated flake files 2026-03-12 20:36:21 +01:00
henrov b35fd97f96 Recreated flake files 2026-03-12 20:34:49 +01:00
henrov 387cd991b3 Recreated flake files 2026-03-12 20:21:09 +01:00
henrov bdc47630be Recreated flake files 2026-03-12 20:18:18 +01:00
henrov df8534e3aa Recreated flake files 2026-03-12 20:17:15 +01:00
henrov c98314ec83 REMOVED readme.HTNML 2026-03-12 20:04:12 +01:00
henrov 6eefb5c06b Recreated flake files 2026-03-12 19:54:41 +01:00
henrov a4eef272cb Update flake.nix 2026-03-12 19:50:48 +01:00
henrov afeb2c0c82 Recreated flake files 2026-03-12 19:49:12 +01:00
henrov 47cddfa9af removed uncommented comments 2026-03-12 19:47:28 +01:00
henrov 36bc759878 Recreated flake files 2026-03-12 19:46:20 +01:00
henrov 3bd2a99a9e working on machines 2026-03-12 16:05:14 +01:00
henrov 25dbfc7684 working on machines 2026-03-12 16:04:27 +01:00
henrov dde45de99f working on machines 2026-03-12 16:03:44 +01:00
henrov 16cdfc423e working on machines 2026-03-12 16:03:06 +01:00
henrov 615ed922e6 working on machines 2026-03-12 15:58:28 +01:00
henrov a0758e4317 working on machines 2026-03-12 15:55:29 +01:00
henrov 0b24b9b524 working on machines 2026-03-12 15:54:33 +01:00
henrov a71d7682f3 working on machines 2026-03-12 15:53:54 +01:00
henrov 7075d85ea1 working on machines 2026-03-12 15:53:19 +01:00
henrov d81e57778e working on machines 2026-03-12 15:52:37 +01:00
henrov e749e1068f working on machines 2026-03-12 15:51:34 +01:00
henrov 7e04c761d2 working on home-manager 2026-03-12 09:31:14 +01:00
henrov d19a1392d3 working on home-manager 2026-03-12 09:29:58 +01:00
henrov 5f568e093e working on waybar 2026-03-11 20:46:13 +01:00
henrov 4cfa042fb3 working on waybar 2026-03-11 20:34:47 +01:00
henrov e312f5a645 working on waybar 2026-03-11 20:32:34 +01:00
henrov 2da3c4bd30 working on waybar 2026-03-11 20:18:58 +01:00
henrov 4d14f2ae16 working on waybar 2026-03-11 20:04:43 +01:00
henrov 61474dc847 working on waybar 2026-03-11 20:02:45 +01:00
henrov 999231e4f9 working on waybar 2026-03-11 20:01:41 +01:00
henrov 6596f0784d working on waybar 2026-03-11 19:57:55 +01:00
henrov d6736ab99d working on waybar 2026-03-11 19:54:54 +01:00
henrov 47895c3562 working on waybar 2026-03-11 19:53:29 +01:00
henrov 5830793d0c working on waybar 2026-03-11 19:51:06 +01:00
henrov 89b46e9a84 working on eww 2026-03-11 19:50:53 +01:00
henrov 8b9973e7d3 working on eww 2026-03-11 19:38:24 +01:00
henrov 1e40ebcc9a working on eww 2026-03-11 19:32:01 +01:00
henrov dc946a1c39 working on eww 2026-03-11 17:02:31 +01:00
henrov ca5588d248 working on eww 2026-03-11 16:53:15 +01:00
henrov 5850bb8518 working on eww 2026-03-11 16:31:29 +01:00
henrov 1a10c80bd7 working on eww 2026-03-11 16:15:14 +01:00
henrov 0920d68637 working on eww 2026-03-11 16:09:30 +01:00
henrov 31b7b50fdc working on eww 2026-03-11 16:09:07 +01:00
henrov 9e01d35ce4 working on eww 2026-03-11 16:02:26 +01:00
henrov f33211449f working on wofi 2026-03-11 15:35:54 +01:00
henrov e067487594 working on wofi 2026-03-11 15:33:03 +01:00
henrov 6819fec633 working on wofi 2026-03-11 15:27:50 +01:00
henrov 100d1359f3 working on wofi 2026-03-11 15:24:46 +01:00
henrov 6e0ef11f68 working on wofi 2026-03-11 15:06:27 +01:00
henrov ef73ff7b19 working on wofi 2026-03-11 15:03:34 +01:00
henrov 177b7cc3b4 working on wofi 2026-03-11 15:02:13 +01:00
henrov 2186bda854 working on wofi 2026-03-11 15:00:29 +01:00
henrov 1219d03218 working on wofi 2026-03-11 14:55:52 +01:00
henrov cda39b3c91 working on wofi 2026-03-11 14:55:08 +01:00
henrov a7c150d089 working on wofi 2026-03-11 14:53:53 +01:00
henrov f2a1a49d09 working on starship 2026-03-11 14:43:42 +01:00
henrov f0ed605cf4 working on starship 2026-03-11 14:41:43 +01:00
henrov c2315c04ce working on starship 2026-03-11 14:41:04 +01:00
henrov 09e4b1e2b1 working on starship 2026-03-11 14:39:27 +01:00
henrov 610a3a1e98 working on starship 2026-03-11 14:37:41 +01:00
henrov 849e35b939 working on starship 2026-03-11 14:37:01 +01:00
henrov 71cf8dc28a working on starship 2026-03-11 14:31:16 +01:00
henrov 066ed6adae working on zsh 2026-03-11 14:27:17 +01:00
henrov df66cb06e7 working on zsh 2026-03-11 14:26:23 +01:00
henrov ddcab845d2 working on zsh 2026-03-11 14:25:25 +01:00
henrov 1f23989e3c working on zsh 2026-03-11 14:23:47 +01:00
henrov 0f1a6aa916 working on zsh 2026-03-11 14:23:13 +01:00
henrov 9146ac0124 working on zsh 2026-03-11 14:21:24 +01:00
henrov cf816ede62 working on zsh 2026-03-09 21:32:49 +01:00
henrov 033493fb5d working on zsh 2026-03-09 21:29:09 +01:00
henrov 1cf12b84d0 working on zsh 2026-03-09 21:24:17 +01:00
henrov c292ea0090 working on zsh 2026-03-09 20:56:49 +01:00
henrov d6bee91d8e working on zsh 2026-03-09 20:53:25 +01:00
henrov 204f9fca9a working on zsh 2026-03-09 20:38:26 +01:00
henrov d045e41a6e working on zsh 2026-03-09 20:29:04 +01:00
henrov e8fb3f97a6 working on zsh 2026-03-09 20:27:34 +01:00
henrov 1a1b8c8d50 working on zsh 2026-03-09 20:10:30 +01:00
henrov 2e4c07dbb5 working on zsh 2026-03-09 20:09:01 +01:00
henrov 9449445970 working on zsh 2026-03-09 20:07:27 +01:00
henrov e41398a744 working on zsh 2026-03-09 20:05:35 +01:00
henrov 25b11a576c working on zsh 2026-03-09 20:02:10 +01:00
henrov 7ae558672f working on zsh 2026-03-09 20:01:12 +01:00
henrov a7e5893a43 working on zsh 2026-03-09 19:54:57 +01:00
henrov 30a97d3bc9 working on zsh 2026-03-09 19:47:30 +01:00
henrov 6b076115a1 working on zsh 2026-03-09 19:44:18 +01:00
henrov 6d393aec40 working on zsh 2026-03-09 19:40:50 +01:00
henrov b1339e9aa6 working on zsh 2026-03-09 19:37:59 +01:00
henrov e75e2b3dac working on zsh 2026-03-09 19:24:55 +01:00
henrov cbde195c4f working on zsh 2026-03-09 19:22:58 +01:00
henrov 963c5db09a working on zsh 2026-03-09 16:26:38 +01:00
8855 changed files with 3379 additions and 1112 deletions
+1140 -566
View File
File diff suppressed because it is too large Load Diff
+764 -175
View File
File diff suppressed because it is too large Load Diff
-88
View File
@@ -1,88 +0,0 @@
typeset -U path cdpath fpath manpath
for profile in ${(z)NIX_PROFILES}; do
fpath+=($profile/share/zsh/site-functions $profile/share/zsh/$ZSH_VERSION/functions $profile/share/zsh/vendor-completions)
done
HELPDIR="${ZSH_HELPDIR:-${XDG_DATA_HOME:-$HOME/.local/share}/zsh/$ZSH_VERSION/help}"
# Source zsh-autosuggestions (use environment variable)
if [ -n "$ZSH_AUTOSUGGESTIONS_PATH" ]; then
source "$ZSH_AUTOSUGGESTIONS_PATH"
ZSH_AUTOSUGGEST_STRATEGY=(history)
fi
# oh-my-zsh extra settings for plugins
plugins=(git sudo extract colored-man-pages command-not-found history docker kubectl)
source "$ZSH/oh-my-zsh.sh"
# Source zoxide (use environment variable)
if [ -n "$ZOXIDE_INIT" ]; then
eval "$($ZOXIDE_INIT zsh)"
fi
# History options should be set in .zshrc and after oh-my-zsh sourcing.
HISTSIZE="10000"
SAVEHIST="10000"
HISTFILE="${XDG_CONFIG_HOME:-$HOME/.config}/zsh/.zsh_history"
mkdir -p "$(dirname "$HISTFILE")"
# Source fzf (use environment variable)
if [[ $options[zle] = on ]] && [ -n "$FZF_ZSH" ]; then
source <($FZF_ZSH --zsh)
fi
# Source zsh-syntax-highlighting (use environment variable)
if [ -n "$ZSH_SYNTAX_HIGHLIGHTING_PATH" ]; then
source "$ZSH_SYNTAX_HIGHLIGHTING_PATH"
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main)
fi
# Source catppuccin zsh-syntax-highlighting (use environment variable)
if [ -n "$CATPPUCCIN_ZSH_SYNTAX_PATH" ]; then
source "$CATPPUCCIN_ZSH_SYNTAX_PATH"
fi
# Set shell options
set_opts=(
HIST_FCNTL_LOCK HIST_IGNORE_DUPS HIST_IGNORE_SPACE SHARE_HISTORY autocd
NO_APPEND_HISTORY NO_EXTENDED_HISTORY NO_HIST_EXPIRE_DUPS_FIRST
NO_HIST_FIND_NO_DUPS NO_HIST_IGNORE_ALL_DUPS NO_HIST_SAVE_NO_DUPS
)
for opt in "${set_opts[@]}"; do
setopt "$opt"
done
unset opt set_opts
# Source starship (use environment variable)
if [[ $TERM != "dumb" ]] && [ -n "$STARSHIP_INIT" ]; then
eval "$($STARSHIP_INIT zsh)"
fi
# Kitty shell integration
if test -n "$KITTY_INSTALLATION_DIR"; then
export KITTY_SHELL_INTEGRATION="no-rc"
autoload -Uz -- "$KITTY_INSTALLATION_DIR/shell-integration/zsh/kitty-integration"
kitty-integration
unfunction kitty-integration
fi
# Source direnv (use environment variable)
if [ -n "$DIRENV_HOOK" ]; then
eval "$($DIRENV_HOOK zsh)"
fi
# Aliases
# alias -- la='eza -a'
# alias -- ll='eza -l'
# alias -- lla='eza -la'
# alias -- ls='eza'
# alias -- lt='eza --tree'
# Eat shell integration
[ -n "$EAT_SHELL_INTEGRATION_DIR" ] && source "$EAT_SHELL_INTEGRATION_DIR/zsh"
# Source user aliases
if [ -f "$XDG_CONFIG_HOME/zsh/aliases.zsh" ]; then
source "$XDG_CONFIG_HOME/zsh/aliases.zsh"
fi
@@ -1,55 +0,0 @@
#!/usr/bin/env zsh
# --- Environment Variables ---
export EDITOR="nvim"
export PATH="$HOME/.local/bin:$PATH"
export PATH="$HOME/.cargo/bin:$PATH" # Example: Add Rust's cargo binaries
# --- Aliases ---
# (You can move these from your Nix config to here if you prefer)
alias gs="git status"
alias ga="git add"
alias gc="git commit -m"
alias gp="git push"
alias gco="git checkout"
alias ll="exa --icons -la --group-directories-first"
alias ls="exa --icons -a --group-directories-first"
# --- Functions ---
# Example: Create a new directory and cd into it
mkcd() {
mkdir -p "$1" && cd "$1"
}
# --- Shell Options ---
setopt HIST_IGNORE_ALL_DUPS # Ignore duplicate commands in history
setopt HIST_IGNORE_SPACE # Ignore commands starting with a space
setopt APPEND_HISTORY # Append to history file, don't overwrite
setopt INC_APPEND_HISTORY # Append to history file as soon as the command is entered
# --- Key Bindings ---
# Example: Edit command line in $EDITOR
autoload -U edit-command-line
zle -N edit-command-line
bindkey '^xe' edit-command-line # Ctrl+x, e
# --- Prompt Customization ---
# (Starship usually handles this, but you can add pre-starship prompts here)
# --- Load other files ---
# Source other files (e.g., secrets, local overrides)
[[ -f "$HOME/.zshrc.local" ]] && source "$HOME/.zshrc.local"
# --- Fuzzy Finder (fzf) ---
# If not already loaded in .zshrc
[[ $- == *i* ]] && source "$(brew --prefix)/opt/fzf/shell/key-bindings.zsh" 2>/dev/null
[[ $- == *i* ]] && source "$(brew --prefix)/opt/fzf/shell/completion.zsh" 2>/dev/null
# --- Conditional Loading ---
# Only load if not already loaded
if [[ -z "$TMUX" ]]; then
# Example: Start tmux if not already in a session
if command -v tmux &>/dev/null && [ -n "$PS1" ]; then
exec tmux
fi
fi
@@ -0,0 +1,12 @@
{ config, pkgs, ... }:
{
services.pipewire = {
enable = true;
alsa.enable = true; # ALSA compatibility
pulse.enable = true; # PulseAudio compatibility
wireplumber.enable = true; # Session manager for PipeWire
};
# Realtime privileges for pro audio (optional)
security.rtkit.enable = true;
}
@@ -0,0 +1,28 @@
{ config, pkgs, ... }:
{
# Enable Bluetooth hardware and daemon
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
packages = with pkgs; [ bluez ];
};
# Enable Bluetooth audio support in PipeWire
services.pipewire = {
config.pulse = {
bluez5.enable = true;
};
};
# Optional: Additional Bluetooth settings
hardware.bluetooth.extraConfig = ''
AutoEnable=true
DiscoverableTimeout=0
PairableTimeout=0
'';
# Install a graphical Bluetooth manager (optional)
environment.systemPackages = with pkgs; [
blueman
];
}
@@ -0,0 +1,13 @@
{ config, pkgs, lib, ... }:
{
services.dbus = lib.mkForce {
enable = true; # Force this to be true
};
# Configure dbus-broker via its configuration file
environment.etc."dbus-broker/launch.conf".text = ''
[General]
LogLevel=warning
MaxConnectionsPerUser=2048
'';
}
@@ -0,0 +1,38 @@
{
config,
pkgs,
lib,
user,
inputs,
flakeRoot,
...
}:
{
options = {
wm = lib.mkOption {
type = lib.types.str;
default = "hyprland";
description = "Type of window manager to use";
};
};
config = {
# Minimal settings that must be defined here
networking.hostName = "traveldroid";
wm.type = "hyprland";
# User configuration
users.users.${user.username} = {
isNormalUser = true;
extraGroups = [
"wheel"
"networkmanager"
];
hashedPassword = user.hashedPassword;
home = user.homeDirectory;
};
# Optional: Enable auto-login for testing
services.getty.autologinUser = user.username;
};
}
@@ -0,0 +1,38 @@
{
config,
pkgs,
lib,
...
}:
{
networking = {
useDHCP = lib.mkDefault true;
networkmanager.enable = true;
networkmanager.wifi.backend = "iwd";
wireless.iwd.enable = true;
wireless.userControlled.enable = true;
firewall = {
enable = true;
# KDE Connect: discovery + encrypted connections
allowedTCPPortRanges = [
{
from = 1714;
to = 1764;
}
];
allowedUDPPortRanges = [
{
from = 1714;
to = 1764;
}
];
};
};
# Install NetworkManager and wofi
environment.systemPackages = with pkgs; [
networkmanager
wofi
];
}
@@ -0,0 +1,9 @@
{ config, pkgs, user, ... }:
{
environment.sessionVariables = {
XDG_SESSION_TYPE = "wayland"; # Session type
XDG_CURRENT_DESKTOP = "Hyprland"; # Desktop environment
XCURSOR_SIZE = "24"; # Cursor size
# Add other session-wide variables here (e.g., QT_QPA_PLATFORM, SDL_VIDEODRIVER)
};
}
@@ -1,33 +1,23 @@
{ config, pkgs, lib, user, inputs, flakeRoot,... }: {
config,
pkgs,
lib,
user,
inputs,
flakeRoot,
...
}:
{ {
imports = [ imports = [
./boot.nix ./boot.nix
./hardware-configuration.nix ./hardware-configuration.nix
./machine.nix
./dbus.nix
./audio.nix
./xdg.nix
./session.nix
./networking.nix
inputs.home-manager.nixosModules.home-manager
]; ];
options = {
wm = lib.mkOption {
type = lib.types.str;
default = "hyprland";
description = "Type of window manager to use";
};
};
config = {
# Minimal settings that must be defined here
networking.hostName = "traveldroid";
wm.type = "hyprland";
# User configuration
users.users.${user.username} = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" ];
hashedPassword = user.hashedPassword;
home = user.homeDirectory;
};
# Optional: Enable auto-login for testing
services.getty.autologinUser = user.username;
};
} }
@@ -0,0 +1,7 @@
{ config, pkgs, ... }:
{
xdg.portal = {
enable = true;
config.system.default = [ "hyprland" "gtk" ];
};
}
@@ -1,4 +1,4 @@
{ mkShell }: { mkShell, ... }:
mkShell { mkShell {
buildInputs = with import <nixpkgs> {}; [ buildInputs = with import <nixpkgs> {}; [
nil nil
+6
View File
@@ -0,0 +1,6 @@
{ config, pkgs, lib, ... }:
{
imports = [
./user.nix
];
}
+26
View File
@@ -0,0 +1,26 @@
{
config,
pkgs,
lib,
inputs,
...
}:
let
user = import ./henrov.nix;
in
{
home-manager.users.${user.username} = {
home.stateVersion = "25.11";
home.username = user.username;
home.homeDirectory = user.homeDirectory;
home.packages = with pkgs; [
direnv
git-extras
];
};
# Ensure the user is in the necessary groups
users.users.${config.users.users.${user.username}.username} = {
extraGroups = [ "networkmanager" ];
}
@@ -12,11 +12,11 @@ $mainMod = SUPER
# bind = $mainMod CTRL, p, exec, grimblast -n -f copysave screen # bind = $mainMod CTRL, p, exec, grimblast -n -f copysave screen
# Terminal / launcher / kill / reload # Terminal / launcher / kill / reload
# bind = $mainMod, E, exec, thunar bind = $mainMod, E, exec, thunar
bind = $mainMod, RETURN, exec, kitty bind = $mainMod, RETURN, exec, kitty
bind = $mainMod, D, exec, wofi --show drun bind = $mainMod, D, exec, wofi --show drun
bind = ALT, D, exec, wofi --show drun bind = ALT, D, exec, wofi --show drun
# bind = $mainMod, Q, killactive, bind = $mainMod, Q, killactive,
bind = $mainMod SHIFT, Q, exit, bind = $mainMod SHIFT, Q, exit,
bind = $mainMod SHIFT, R, exec, hyprctl reload bind = $mainMod SHIFT, R, exec, hyprctl reload
@@ -1,14 +1,15 @@
source = ./variables.conf source = ./variables.conf
source = ./theming.conf
# source = ./behaviour.conf # source = ./behaviour.conf
# source = ./layout.conf # source = ./layout.conf
# source = ./animations.conf source = ./animations.conf
# source = ./layer-rules.conf # source = ./layer-rules.conf
# source = ./window-rules.conf # source = ./window-rules.conf
# source = ./monitor-rules.conf # source = ./monitor-rules.conf
# source = ./workspace-rules.conf # source = ./workspace-rules.conf
source = ./bindings.conf source = ./bindings.conf
# source = ./exec-once.conf source = ./exec-once.conf
general { general {
gaps_in = 2 gaps_in = 2
@@ -0,0 +1,114 @@
# Catppuccin Mocha for Hyprland
# Colors (match your variables.conf or override here)
$base = #1e1e2e
$inactive = rgba(595959aa)
$mantle = #181825
$crust = #11111b
$surface0 = #313244
$surface1 = #45475a
$surface2 = #585b70
$overlay0 = #6c7086
$overlay1 = #7f849c
$overlay2 = #9399b2
$subtext0 = #a6adc8
$subtext1 = #bac2de
$text = #cdd6f4
$lavender = #b4befe
$blue = #89b4fa
$sapphire = #74c7ec
$sky = #89dceb
$teal = #94e2d5
$green = #a6e3a1
$yellow = #f9e2af
$peach = #fab387
$maroon = #eba0ac
$red = #f38ba8
$mauve = #cba6f7
$pink = #f5c2e7
$flamingo = #f2cdcd
$rosewater = #f5e0dc
# General theming
general {
col.active_border = $blue $green 45deg
col.inactive_border = $surface1 80%
col.urgent_border = $red
col.float_border_active = $blue
col.float_border_inactive = $surface1
col.focused_title = $text
col.unfocused_title = $subtext0
col.backdrop = $base
col.backdrop_title = $overlay0
col.backdrop_border = $surface1
col.backdrop_float_border = $surface1
col.backdrop_float_border_active = $blue
col.backdrop_float_title = $overlay0
col.backdrop_float_title_active = $text
col.backdrop_float_urgent = $red
col.backdrop_float_urgent_title = $text
col.backdrop_float_urgent_border = $red
col.backdrop_group_active = $surface1
col.backdrop_group_active_border = $blue
col.backdrop_group_active_title = $text
col.backdrop_group_inactive = $surface1
col.backdrop_group_inactive_border = $surface1
col.backdrop_group_inactive_title = $overlay0
col.backdrop_group_urgent = $red
col.backdrop_group_urgent_border = $red
col.backdrop_group_urgent_title = $text
}
# Window decorations
decoration {
rounding = 6
blur = yes
blur_size = 3
blur_passes = 2
drop_shadow = yes
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(0, 0, 0, 0.8)
col.shadow_active = rgba(0, 0, 0, 0.5)
col.shadow_inactive = rgba(0, 0, 0, 0.3)
}
# Input fields (e.g., Hyprctl menus)
input_field {
col.background = $surface0
col.border = $blue
col.text = $text
col.placeholder = $overlay1
}
# Hyprbar (if used)
hyprbar {
col.background = $surface0 90%
col.text = $text
col.icon = $text
col.icon_unoccupied = $overlay1
col.urgent = $red
col.urgent_text = $text
col.active_workspace = $blue
col.inactive_workspace = $overlay0
col.occupied_workspace = $subtext0
}
# Hyprlock (if used)
hyprlock {
col.background = $base
col.input_field = $surface0
col.text = $text
col.time_text = $blue
col.date_text = $green
col.wrong_password = $red
col.wrong_password_bg = $surface0
}
# Hypridle (if used)
hypridle {
col.lock = $base
col.lock_input_field = $surface0
col.lock_text = $text
col.lock_time_text = $blue
col.lock_date_text = $green
}
@@ -3,7 +3,6 @@ todoist
# browsers # browsers
brave brave
vivaldi
chromium chromium
# utils # utils
@@ -19,6 +18,8 @@ solaar
baobab baobab
duf duf
zed-editor zed-editor
eza
z-lua
# office # office
obsidian obsidian
@@ -0,0 +1,72 @@
##############################################
# Aliases (source-of-truth)
#
# This file is written in bash/zsh alias syntax in [bash_zsh], [bash_specific], [zsh_specific].
# Fish has different syntax; the Nix module translates [bash_zsh] into fish format and then
# appends [fish_specific] as-is.
##############################################
##############################################
# Generic aliases (bash/zsh)
# These are intended to be available in bash and zsh.
##############################################
[bash_zsh]
alias ll='ls -lah'
alias gs='git status'
alias ga='git add'
alias gc='git commit'
alias gp='git push'
alias gcp='git add . && git commit && git push'
alias cd='z'
alias nps='xdg-open https://search.nixos.org'
alias hvnx='cd ~/Repos/nixos/henrovnix_ok'
alias emt='hvnx && emacs README.org --batch -f org-babel-tangle && emacs -Q --batch README.org -f org-html-export-to-html'
alias nxs='hvnx && sudo nixos-rebuild switch --flake .#traveldroid'
alias nxt='hvnx && sudo nixos-rebuild test --flake .#traveldroid'
alias nxv='hvnx && sudo nixos-rebuild build-vm --flake .#traveldroid && "$(ls -1 ./result/bin/run-*-vm | head -n 1)"'
alias rb='systemctl reboot'
alias po='systemctl poweroff'
alias fpl='flatpak list'
alias fps='flatpak search'
alias fpi='flatpak install'
alias fpr='flatpak run'
alias nxc='ssh henrov@nextcloud.data-pro.nu'
alias vs='code'
alias blog='cd ~/Repos/blog && ll'
alias keys='hyprctl binds'
##############################################
# Shell-specific aliases / examples
#
# Everything below is COMMENTED OUT on purpose.
# These examples show syntax or commands that are shell-specific
# (or behave differently across shells).
##############################################
[bash_specific]
# Enable recursive globbing (**)
# alias sg='shopt -s globstar'
[zsh_specific]
# Recursive globbing works by default in zsh; this prints matches one-per-line
# alias recglob='print -l **/*.nix'
[fish_specific]
# Fish has its own language; this is fish-only syntax (not bash/zsh)
# alias setvar='set -gx EDITOR emacs'
[dash_specific]
# dash is a minimal POSIX shell; shown here only as an example
# alias com='command -v ls'
[nushell_specific]
# Nushell pipelines structured data; this is nu-only syntax
# alias fbf='ls | where size > 1mb | get name'
@@ -0,0 +1,15 @@
##############################################
# Enabled shells (source-of-truth)
#
# Edit this file in the repo:
# ./assets/conf/dev/terminal/enabled_shells.conf
#
# After changing, rebuild Home Manager / your system as you normally do.
##############################################
[enabled_shells]
bash = yes
zsh = yes
fish = no
dash = no
nushell = no
+127
View File
@@ -0,0 +1,127 @@
:root {
--base: #1e1e2e;
--mantle: #181825;
--crust: #11111b;
--text: #cdd6f4;
--subtext1: #bac2de;
--subtext0: #a6adc8;
--overlay2: #9399b2;
--overlay1: #7f849c;
--overlay0: #6c7086;
--surface2: #585b70;
--surface1: #45475a;
--surface0: #313244;
--lavender: #b4befe;
--blue: #89b4fa;
--sapphire: #74c7ec;
--teal: #94e2d5;
--green: #a6e3a1;
--yellow: #f9e2af;
--peach: #fab387;
--maroon: #eba0ac;
--red: #f38ba8;
--mauve: #cba6f7;
--pink: #f5c2e7;
--flamingo: #f2cdcd;
--rosewater: #f5e0dc;
}
* {
all: unset;
color: var(--text);
font-family:
FiraCode Nerd Font,
monospace;
font-size: 12px;
}
window {
border: 1px solid var(--surface0);
background-color: #1e1e2ee6;
border-radius: 8px;
margin: 0;
padding: 0;
box-shadow: 0 2px 10px #0003;
}
box {
spacing: 8px;
background-color: #0000;
padding: 4px 8px;
}
label {
color: var(--text);
padding: 2px 6px;
}
button {
color: var(--text);
background-color: var(--surface1);
border-radius: 4px;
padding: 2px 8px;
transition: all 0.2s;
}
button:hover {
background-color: var(--surface2);
color: var(--lavender);
}
button:active {
background-color: var(--blue);
color: var(--crust);
}
.workspace {
color: var(--subtext1);
background-color: #0000;
border-radius: 4px;
margin: 0 2px;
padding: 2px 8px;
}
.workspace.active {
background-color: var(--blue);
color: var(--base);
}
.workspace.urgent {
background-color: var(--red);
color: var(--crust);
}
.workspace.focused {
background-color: var(--lavender);
color: var(--base);
}
#clock {
color: var(--peach);
background-color: #0000;
padding: 2px 8px;
}
#cpu,
#ram,
#temp {
color: var(--green);
background-color: #0000;
padding: 2px 8px;
}
#volume {
color: var(--mauve);
}
#battery {
color: var(--green);
}
#battery.discharging {
color: var(--yellow);
}
#battery.critical {
color: var(--red);
}
+79
View File
@@ -0,0 +1,79 @@
;; Main bar widget
(defwidget bar []
(box :class "bar" :orientation "h" :space-evenly false :font "FiraCode Nerd Font 10"
;; Left: Workspaces (Hyprland)
(box :class "workspaces" :orientation "h"
(label :class "workspace" :id "workspace_1" :text "1")
(label :class "workspace" :id "workspace_2" :text "2")
(label :class "workspace" :id "workspace_3" :text "3")
(label :class "workspace" :id "workspace_4" :text "4")
(label :class "workspace" :id "workspace_5" :text "5")
)
;; Center: Empty (placeholder for alignment)
(box :halign "center" :hexpand true)
;; Right: System modules
(box :class "right-items" :orientation "h" :spacing 8
;; Idle inhibitor
(button :class "idle-inhibitor" :onclick "eww update idle_inhibitor_icon='\uF472'; notify-send 'Idle inhibitor' 'Activated'"
:label (label :id "idle_inhibitor_icon" :text "\uF472"))
;; PulseAudio
(button :class "pulseaudio" :onclick "pavucontrol"
:label (label :id "pulseaudio_label" :text "\uF028 100%"))
;; Network
(button :class "network" :onclick "impala" :onclick-right "nm-connection-editor"
:label (label :id "network_label" :text "Disconnected !"))
;; Battery
(button :class "battery" :label (label :id "battery_label" :text "100% \uF0E4"))
;; Tray placeholder (requires external tray like waybar-tray)
(box :class "tray" :orientation "h" :spacing 4
(label :text "Tray"))
;; Clock
(button :class "clock" :onclick "flatpak run eu.betterbird.Betterbird -calendar"
:label (label :id "clock_label" :text "Mon, 01 Jan 2024 - 12:00"))
)
)
)
;; Window definition
(defwindow bar-window
:geometry (geometry :x 0 :y 0 :width 1920 :height 34 :anchor "top left")
:layer "top"
:exclusivity "ignore"
(bar)
)
;; Scripts to update dynamic content
(defpoll [1000] ;; Update every second
;; Update PulseAudio volume
(setq pulseaudio-volume (exec "pamixer --get-volume"))
(setq pulseaudio-muted (exec "pamixer --get-mute"))
(if (string= pulseaudio-muted "true")
(eww update pulseaudio_label="\uF026")
(eww update pulseaudio_label=(strfmt "{}% {}" pulseaudio-volume (if (> (string->number pulseaudio-volume) 50) "\uF028" "\uF027"))
)
;; Update network status
(setq network-essid (exec "nmcli -t -f TYPE,NAME dev status | awk -F: '/wifi/{print $2}'"))
(if (string-empty? network-essid)
(eww update network_label="Disconnected !")
(eww update network_label=(strfmt "\uF1EB ({})" network-essid))
)
;; Update clock
(eww update clock_label=(strftime "%a, %d %b %Y - %H:%M"))
;; Update battery status
(setq battery-capacity (exec "cat /sys/class/power_supply/BAT0/capacity"))
(setq battery-status (exec "cat /sys/class/power_supply/BAT0/status"))
(if (string= battery-status "Charging")
(eww update battery_label=(strfmt "{}% \uF0E4" battery-capacity))
(eww update battery_label=(strfmt "{}% \uF079" battery-capacity))
)
)
@@ -0,0 +1,84 @@
# vim:ft=kitty
## name: Catppuccin Kitty Mocha
## author: Catppuccin Org
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #cdd6f4
background #1e1e2e
selection_foreground #1e1e2e
selection_background #f5e0dc
# Cursor colors
cursor #f5e0dc
cursor_text_color #1e1e2e
# Scrollbar colors
scrollbar_handle_color #9399b2
scrollbar_track_color #45475a
# URL color when hovering with mouse
url_color #f5e0dc
# Kitty window border colors
active_border_color #b4befe
inactive_border_color #6c7086
bell_border_color #f9e2af
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #11111b
active_tab_background #cba6f7
inactive_tab_foreground #cdd6f4
inactive_tab_background #181825
tab_bar_background #11111b
# Colors for marks (marked text in the terminal)
mark1_foreground #1e1e2e
mark1_background #b4befe
mark2_foreground #1e1e2e
mark2_background #cba6f7
mark3_foreground #1e1e2e
mark3_background #74c7ec
# The 16 terminal colors
# black
color0 #45475a
color8 #585b70
# red
color1 #f38ba8
color9 #f38ba8
# green
color2 #a6e3a1
color10 #a6e3a1
# yellow
color3 #f9e2af
color11 #f9e2af
# blue
color4 #89b4fa
color12 #89b4fa
# magenta
color5 #f5c2e7
color13 #f5c2e7
# cyan
color6 #94e2d5
color14 #94e2d5
# white
color7 #bac2de
color15 #a6adc8
@@ -10,3 +10,6 @@ map ctrl+shift+c copy_to_clipboard
background_opacity 0.2 background_opacity 0.2
background_blur 1 background_blur 1
dynamic_background_opacity yes dynamic_background_opacity yes
font_family FiraCode Nerd Font
font_size 10.0
+113
View File
@@ -0,0 +1,113 @@
{
"layer": "top",
"height": 34,
//"modules-left": ["hyprland/window"],
"modules-center": ["hyprland/workspaces" ],
"modules-right": [
"idle_inhibitor",
"pulseaudio",
"network",
// "cpu",
// "memory",
// "temperature",
"battery",
"tray",
"clock",
"custom/notifications",
],
/*
"custom/notifications": {
"tooltip": false,
"return-type": "json",
"exec-if": "which swaync-client",
"exec": "swaync-client -swb",
"format": "{icon}",
"format-icons": {
"notification": "",
"none": "",
"dnd-notification": "󰂠",
"dnd-none": "󰪓",
},
"on-click": "swaync-client -t",
"on-click-right": "swaync-client -d",
"on-click-middle": "swaync-client -dn",
},
*/
"idle_inhibitor": {
"tooltip": true,
"format": "{icon}",
"format-icons": {
"activated": "  ",
"deactivated": " 󰒲 ",
},
"tooltip-format-activated": "Staying awake",
"tooltip-format-deactivated": "Might sleep....",
},
"pulseaudio": {
"format": "{volume}% {icon}",
"format-bluetooth": "{volume}% {icon}",
"format-muted": "",
"format-icons": {
"headphones": "",
"headset": "",
"phone": "",
"portable": "",
"default": ["", ""],
},
"on-click": "pavucontrol",
},
"network": {
"format-wifi": " ({bandwidthDownBits})",
"format-ethernet": " ({bandwidthDownBits})",
"format-disconnected": "Disconnected ⚠",
"tooltip-format-wifi": "{essid} ({signalStrength}%)",
"tooltip-format-ethernet": "{ifname}: {ipaddr}/{cidr}",
"on-click": "impala",
"on-click-right": "nm-connection-editor",
},
"cpu": {
"format": "{usage}%  ",
"tooltip": false,
},
"memory": {
"format": "{percentage}%  ",
},
"temperature": {
"format": "{temperatureC}°C ",
"tooltip": false,
},
"tray": {
"spacing": 10,
"icon-size": 14,
},
"clock": {
"format": "{:%a, %d %b %Y - %H:%M}",
"tooltip": false,
"on-click": "flatpak run eu.betterbird.Betterbird -calendar",
},
"battery": {
"bat": "BAT0",
"states": {
"good": 95,
"warning": 30,
"critical": 15,
},
"format": "{capacity}% {icon}",
"format-charging": "{capacity}% 󰂄",
"format-plugged": "{capacity}%  ",
"format-icons": ["󰁺", "󰁼", "󰁾", "󰂀", "󱈏 "],
},
}
@@ -0,0 +1,225 @@
/* --- Hyprland palette (ported) --- */
@define-color base rgba(30, 30, 46, 1.0); /* 1e1e2eff */
@define-color inactive rgba(89, 89, 89, 0.667); /* 595959aa */
@define-color blue rgba(51, 204, 255, 0.933); /* 33ccffee */
@define-color green rgba(0, 255, 153, 0.933); /* 00ff99ee */
/* extra colors you referenced but didnt define */
@define-color text rgba(255, 255, 255, 1.0);
@define-color surface1 rgba(255, 255, 255, 0.08);
@define-color subtext1 rgba(255, 255, 255, 0.35);
@define-color red rgba(255, 0, 0, 0.90);
@define-color overlay1 rgba(255, 255, 255, 0.35);
@define-color yellow rgba(255, 215, 0, 0.95);
* {
font-family:
Aporetic Sans Mono,
Iosevka Nerd Font,
Roboto,
Helvetica,
Arial,
sans-serif;
font-size: 13px;
}
window#waybar {
background-color: transparent;
color: @text;
transition-property: background-color;
border-bottom: 0px solid rgba(0, 0, 0, 0);
transition-duration: 0.5s;
}
#workspaces button {
padding: 0px 1px;
min-width: 80px;
background-color: transparent;
color: @text;
border: 2px solid @inactive;
border-radius: 10px;
}
#custom-notifications.empty {
color: @overlay1;
}
#custom-notifications.unread {
color: @yellow;
}
#workspaces button:hover {
background-color: @surface1;
color: @text;
}
#workspaces button.active {
padding: 0px 1px;
min-width: 80px;
color: @text;
border-radius: 10px;
font-weight: bold;
border: 1px solid transparent;
background:
linear-gradient(rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.15))
padding-box,
linear-gradient(45deg, @blue, @green) border-box;
}
#custom-hyprscroll_overflow.overflow {
padding: 0px 1px;
min-width: 80px;
color: @text;
border-radius: 10px;
font-weight: bold;
border: 1px dashed transparent;
background:
linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))
padding-box,
linear-gradient(45deg, @blue, @green) border-box;
}
#custom-hyprscroll_overflow.overflow {
background:
linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))
padding-box,
linear-gradient(45deg, @blue, @green) border-box;
}
#custom-hyprscroll_overflow.hidden {
padding: 0;
margin: 0;
min-width: 0;
border: 0;
background: transparent;
opacity: 0;
}
#clock,
#idle_inhibitor,
#battery,
#cpu,
#memory,
#temperature,
#network,
#pulseaudio,
#tray {
margin: 0 5px;
padding: 0 2px;
}
#idle_inhibitor.activated {
background-color: @green;
}
#battery.charging {
color: @green;
}
@keyframes blink {
to {
background-color: #ffffff;
color: black;
}
}
#battery.warning:not(.charging) {
color: white;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#window,
#workspaces {
margin: 0 4px;
}
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
#network.disconnected {
background-color: @red;
}
#temperature.critical {
background-color: @red;
}
/* =========================================================
* Notifications
* ========================================================= */
#custom-notifications {
margin: 0 4px;
padding: 0 4px;
min-width: 0;
}
#custom-notifications.empty {
color: @overlay1;
}
#custom-notifications.unread {
color: @yellow;
}
/* =========================================================
* Hyprscroll overflow indicator (custom/hyprscroll_overflow)
* States: .ok, .overflow, .error
* ========================================================= */
/* Default (no overflow): subtle pill, still hoverable for tooltip */
#custom-hyprscroll_overflow.ok {
padding: 0px 1px;
min-width: 80px;
color: @subtext1;
border-radius: 10px;
/* subtle outline so you know it's there */
border: 1px solid rgba(255, 255, 255, 0.12);
background: rgba(255, 255, 255, 0.03);
}
/* Make it feel interactive (hover) */
#custom-hyprscroll_overflow.ok:hover {
color: @text;
background-color: @surface1;
border: 1px solid rgba(255, 255, 255, 0.18);
}
/* Overflow state: you already have this; keep it.
Optional: add hover tweak so it "pops" a bit. */
#custom-hyprscroll_overflow.overflow:hover {
background:
linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1))
padding-box,
linear-gradient(45deg, @blue, @green) border-box;
}
/* Error state: clear but not screaming */
#custom-hyprscroll_overflow.error {
padding: 0px 1px;
min-width: 80px;
color: @text;
border-radius: 10px;
border: 1px solid rgba(255, 0, 0, 0.55);
background: rgba(255, 0, 0, 0.15);
font-weight: bold;
}
/* Optional: if you keep .hidden in the script for any reason */
#custom-hyprscroll_overflow.hidden {
padding: 0;
margin: 0;
min-width: 0;
border: 0;
background: transparent;
opacity: 0;
}
@@ -0,0 +1,75 @@
/* Catppuccin Mocha theme for Wofi with transparency and rounded corners */
@define-color base rgba(30, 30, 46, 0.9); /* Added transparency */
@define-color surface0 rgba(49, 50, 68, 0.95); /* Added transparency */
@define-color surface1 #45475A;
@define-color surface2 #585B70;
@define-color text #CDD6F4;
@define-color lavender #B4BEFE;
@define-color blue #89B4FA;
@define-color sapphire #74C7EC;
@define-color teal #94E2D5;
@define-color green #A6E3A1;
@define-color yellow #F9E2AF;
@define-color peach #FAB387;
@define-color maroon #EBA0AC;
@define-color red #F38BA8;
@define-color mauve #CBA6F7;
@define-color pink #F5C2E7;
@define-color flamingo #F2CDCD;
@define-color rosewater #F5E0DC;
* {
background-color: transparent;
color: @text;
font-family: "JetBrainsMono Nerd Font", monospace;
font-size: 12pt;
}
#main {
background-color: @base;
border: 1px solid @surface0;
border-radius: 10px; /* Rounded corners */
padding: 20px;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
#input {
background-color: @surface0;
color: @text;
border: 1px solid @surface1;
border-radius: 10px; /* Rounded corners */
padding: 5px 10px;
margin-bottom: 10px;
}
#entry {
background-color: transparent;
color: @text;
border-radius: 10px; /* Rounded corners */
padding: 5px 10px;
margin: 2px 0;
}
#entry:focus {
background-color: @surface1;
color: @lavender;
border-radius: 10px; /* Rounded corners */
}
#entry:selected {
background-color: @surface2;
color: @text;
border-radius: 10px; /* Rounded corners */
}
#scrollbar {
background-color: @surface0;
border-radius: 10px; /* Rounded corners */
width: 8px;
}
#scrollbar.handle {
background-color: @blue;
border-radius: 10px; /* Rounded corners */
}
@@ -0,0 +1,38 @@
[global]
allow_images = true
allow_markup = true
show_drun = true:apps,false:others
show_run = true
show_files = false
show_windowed = false
show_dmenu = false
show_ssh = false
show_power = false
width = 800
height = 600
# Center on the active monitor
x = 50%
y = 50%
lines = 10
columns = 1
sort_order = last-used
sort_method = fuzzy
allow_scrolling = true
scroll_wrap = true
scroll_step = 10
cycle = true
hide_scroll = false
hide_search = false
show_labels = true
label_search = true
label_run = Run
label_files = Files
label_windowed = Windows
label_drun = Applications
label_dmenu = Commands
label_ssh = SSH
label_power = Power
prompt = >

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 94 KiB

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 126 KiB

Before

Width:  |  Height:  |  Size: 290 KiB

After

Width:  |  Height:  |  Size: 290 KiB

Before

Width:  |  Height:  |  Size: 306 KiB

After

Width:  |  Height:  |  Size: 306 KiB

Before

Width:  |  Height:  |  Size: 391 KiB

After

Width:  |  Height:  |  Size: 391 KiB

Before

Width:  |  Height:  |  Size: 203 KiB

After

Width:  |  Height:  |  Size: 203 KiB

Before

Width:  |  Height:  |  Size: 382 KiB

After

Width:  |  Height:  |  Size: 382 KiB

Before

Width:  |  Height:  |  Size: 224 KiB

After

Width:  |  Height:  |  Size: 224 KiB

Before

Width:  |  Height:  |  Size: 221 KiB

After

Width:  |  Height:  |  Size: 221 KiB

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 98 KiB

Before

Width:  |  Height:  |  Size: 123 KiB

After

Width:  |  Height:  |  Size: 123 KiB

Before

Width:  |  Height:  |  Size: 133 KiB

After

Width:  |  Height:  |  Size: 133 KiB

Before

Width:  |  Height:  |  Size: 136 KiB

After

Width:  |  Height:  |  Size: 136 KiB

Before

Width:  |  Height:  |  Size: 149 KiB

After

Width:  |  Height:  |  Size: 149 KiB

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 114 KiB

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 112 KiB

+12
View File
@@ -0,0 +1,12 @@
#!/run/current-system/sw/bin/bash
# Get a list of available Wi-Fi networks
networks=$(nmcli -t -f SSID device wifi list)
# Show the list using wofi with dmenu mode
selected=$(echo "$networks" | wofi --show dmenu --width=300 --height=500 --prompt="Select a network")
# Connect to the selected network with the --ask option
if [ -n "$selected" ]; then
nmcli --ask device wifi connect "$selected"
fi

Some files were not shown because too many files have changed in this diff Show More