Initial commit unclean

This commit is contained in:
2025-08-30 20:31:10 +02:00
commit 4ebc8b23fe
50 changed files with 5191 additions and 0 deletions

23
users/admin/home.nix Normal file
View File

@@ -0,0 +1,23 @@
# Only config stuff you cannot config with dotfiles
# Or stuff that does not interfere with the dotfiles
{ config, pkgs, inputs, ... }:
{
imports = [
# Load all the to be installed packages
# inputs.xremap-flake.homeManagerModules.default
];
home = {
username = "admin";
homeDirectory = "/home/admin";
sessionVariables = {
EDITOR = "nvim";
};
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
home.stateVersion = "24.11";
}

25
users/guest/home.nix Normal file
View File

@@ -0,0 +1,25 @@
# Only config stuff you cannot config with dotfiles
# Or stuff that does not interfere with the dotfiles
{ config, pkgs, inputs, ... }:
{
imports = [
# Load all the to be installed packages
# inputs.xremap-flake.homeManagerModules.default
];
home = {
username = "guest";
homeDirectory = "/home/guest";
sessionVariables = {
EDITOR = "nvim";
STATUS_USER = "guest";
};
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
home.stateVersion = "24.11";
}

24
users/horst/home.nix Normal file
View File

@@ -0,0 +1,24 @@
# Only config stuff you cannot config with dotfiles
# Or stuff that does not interfere with the dotfiles
{ config, pkgs, inputs, ... }:
{
imports = [
# Load all the to be installed packages
# inputs.xremap-flake.homeManagerModules.default
];
home = {
username = "horst";
homeDirectory = "/home/horst";
sessionVariables = {
EDITOR = "nvim";
};
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
home.stateVersion = "24.11";
}

BIN
users/jonas/backg.jpg Normal file
View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

137
users/jonas/home.nix Normal file
View File

@@ -0,0 +1,137 @@
# Only config stuff you cannot config with dotfilesho
# Or stuff that does not interfere with the dotfiles
{ config, pkgs, inputs, ... }:
{
imports = [
# Load all the to be installed packages
./packages.nix
# inputs.xremap-flake.homeManagerModules.default
# inputs.stylix.homeManagerModules.stylix
];
# This is very build intense
# wayland.windowManager.hyprland = {
# enable = true;
# plugins = [
# inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo
# ];
# };
services.gnome-keyring.enable = true;
home.packages = [ pkgs.gcr ]; # Provides org.gnome.keyring.SystemPrompter
# change the defaults because I can!
xdg.mimeApps = {
enable = true;
defaultApplications = {
# Set for web-related content
"text/html" = "firefox.desktop";
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = "firefox.desktop";
"x-scheme-handler/about" = "firefox.desktop";
"x-scheme-handler/unknown" = "firefox.desktop";
"application/pdf" = "sioyek.desktop";
"application/rnote" = "rnote.desktop";
"video/mp4" = "mpv.desktop";
"image/*" = "fehcustom.desktop";
};
};
# custom feh
xdg.desktopEntries.fehcustom = {
name = "FehCustom";
terminal = false;
exec = "${pkgs.feh}/bin/feh -d --keep-zoom-vp --draw-exif --start-at %u";
};
# xdg.desktopEntries.flowblade = {
# name = "Flowblade";
# terminal = false;
# exec = "${pkgs.flowblade}/bin/flowblade";
# };
home = {
username = "jonas";
homeDirectory = "/home/jonas";
sessionVariables = {
EDITOR = "nvim";
HTTP_HOME = "duckduckgo.com";
MANPAGER="nvim +Man!";
};
shellAliases = {
testt = "echo 'test'";
flk = "sudo nixos-rebuild switch --flake '~/configuration/nixos#'";
};
pointerCursor = {
gtk.enable = true;
name = "catppuccin-frappe-rosewater-cursors";
package = pkgs.catppuccin-cursors.frappeRosewater;
#hyprcursor.enable = true;
#hyprcursor.size = 16;
size = 18;
};
};
# stylix.enable = true;
# stylix.image = ./backg.jpg;
# Theming gtk
gtk = {
enable = true;
iconTheme = {
package = pkgs.papirus-icon-theme;
name = "Papirus-Dark";
};
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
};
# Qt6 Configuration Tool (qt6ct) configuration
qt = {
enable = true;
platformTheme.name = "qtct";
style.name = "Kvantum";
};
xdg.configFile."Kvantum/kvantum.kvconfig".source = (pkgs.formats.ini { }).generate "kvantum.kvconfig" {
General.theme = "Catppuccin-Frappe-Rosewater";
};
xdg.configFile."qt6ct/qt6ct.conf".source = pkgs.writeTextFile {
name = "qt6ct.conf";
text = ''
[Appearance]
color_scheme_path=${pkgs.qt6ct}/share/qt6ct/colors/airy.conf
custom_palette=false
icon_theme=Papirus-Dark
standard_dialogs=default
style=kvantum
'';
};
# starship - an customizable prompt for any shell
programs.starship = {
enable = true;
settings = {
add_newline = false;
aws.disabled = true;
gcloud.disabled = true;
line_break.disabled = true;
sudo = {
disabled = false;
symbol = "SUDO ";
style = "bold red";
};
};
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
home.stateVersion = "24.11";
}

126
users/jonas/home_lite.nix Normal file
View File

@@ -0,0 +1,126 @@
# Only config stuff you cannot config with dotfilesho
# Or stuff that does not interfere with the dotfiles
{ config, pkgs, inputs, ... }:
{
imports = [
# Load all the to be installed packages
./packages.nix
# inputs.xremap-flake.homeManagerModules.default
# inputs.stylix.homeManagerModules.stylix
];
# This is very build intense
# wayland.windowManager.hyprland = {
# enable = true;
# plugins = [
# inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo
# ];
# };
# change the defaults because I can!
xdg.mimeApps = {
enable = true;
defaultApplications = {
# Set for web-related content
"text/html" = "firefox.desktop";
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = "firefox.desktop";
"x-scheme-handler/about" = "firefox.desktop";
"x-scheme-handler/unknown" = "firefox.desktop";
"application/pdf" = "sioyek.desktop";
"video/mp4" = "mpv.desktop";
"image/*" = "fehcustom.desktop";
};
};
# custom feh
xdg.desktopEntries.fehcustom = {
name = "FehCustom";
terminal = false;
exec = "${pkgs.feh}/bin/feh -d --keep-zoom-vp --draw-exif --start-at %u";
};
home = {
username = "jonas";
homeDirectory = "/home/jonas";
sessionVariables = {
EDITOR = "nvim";
HTTP_HOME = "duckduckgo.com";
MANPAGER="nvim +Man!";
};
shellAliases = {
testt = "echo 'test'";
flk = "sudo nixos-rebuild switch --flake '~/configuration/nixos#'";
};
pointerCursor = {
gtk.enable = true;
name = "catppuccin-frappe-rosewater-cursors";
package = pkgs.catppuccin-cursors.frappeRosewater;
size = 18;
};
};
# stylix.enable = true;
# stylix.image = ./backg.jpg;
# Theming gtk
gtk = {
enable = true;
iconTheme = {
package = pkgs.papirus-icon-theme;
name = "Papirus-Dark";
};
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
};
# Qt6 Configuration Tool (qt6ct) configuration
qt = {
enable = true;
platformTheme.name = "qtct";
style.name = "Kvantum";
};
xdg.configFile."Kvantum/kvantum.kvconfig".source = (pkgs.formats.ini { }).generate "kvantum.kvconfig" {
General.theme = "Catppuccin-Frappe-Rosewater";
};
xdg.configFile."qt6ct/qt6ct.conf".source = pkgs.writeTextFile {
name = "qt6ct.conf";
text = ''
[Appearance]
color_scheme_path=${pkgs.qt6ct}/share/qt6ct/colors/airy.conf
custom_palette=false
icon_theme=Papirus-Dark
standard_dialogs=default
style=kvantum
'';
};
# starship - an customizable prompt for any shell
programs.starship = {
enable = true;
settings = {
add_newline = false;
aws.disabled = true;
gcloud.disabled = true;
line_break.disabled = true;
sudo = {
disabled = false;
symbol = "SUDO ";
style = "bold red";
};
};
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
home.stateVersion = "24.11";
}

227
users/jonas/packages.nix Normal file
View File

@@ -0,0 +1,227 @@
{ pkgs, ...}:
{
home.packages = with pkgs; [
(catppuccin-kvantum.override {
accent = "rosewater";
variant = "frappe";
})
weechat
just
iamb
wiki-tui
# some helpers and new stuff to try
vscode
mise
direnv
nushell
visidata
vuls
# add scanner
simple-scan
obsidian
rclone
scc
broot
gron
xh
#jujutsu # this is currently insecure
pkgs.unstable.spotify-player
pipewire
mesa
sops
gimp
audio-recorder
cheese
age
kdePackages.konsole
kdePackages.dolphin
git-lfs
# Privacy stuff
tor
torsocks
w3m
timer
castero
qbittorrent
lynx
links2
newsboat
discord
blender
audacity
slack
zoom-us
vlc
thunderbird
steam
obsidian
obs-studio
prismlauncher
inkscape
shotcut
#openshot-qt
#flowblade
papirus-folders
todo-txt-cli
systemctl-tui
acpi
zsh
feh
watson
slides
kdePackages.falkon
epiphany
imagemagick
xdragon
luarocks
lua
gradle
openjdk
chafa
libpulseaudio
pavucontrol
findutils.locate
ethtool
qalculate-qt
wl-clip-persist
btop
fastfetch
zathura
eza
fuzzel
catppuccin-cursors
networkmanagerapplet
gdu
hyprpaper
tokei
fzf
gcc
gnumake
lazygit
nodejs
ripgrep
pkgs.signal-desktop
unison
trash-cli
starship
python3
fd
ttyper
zoxide
vim
tofi
bat
clipse
dunst
killall
libreoffice
perl
pipx
wpgtk
waybar
stow
brightnessctl
anki
pkgs.unstable.typst
dnsmasq
davfs2
mediainfo
powertop
#midori
exiftool
gtk4.dev
curl
sioyek
qt6.qtbase
libpulseaudio
xournalpp
rnote
libinput
libGL
libglvnd
emacs
cargo
hyprshot
hyprpicker
hyprsunset
wl-clipboard
mpv
gitui
keepassxc
kitty
wlsunset
pkgs.unstable.yazi
neovim
htop
alpine
#tree
#pkgs.qt5.full
wget
tmux
zip
xz
unzip
p7zip
jq # A lightweight and flexible command-line JSON processor
yq-go # yaml processor https://github.com/mikefarah/yq
mtr # A network diagnostic tool
iperf3
dnsutils # `dig` + `nslookup`
ldns # replacement of `dig`, it provide the command `drill`
aria2 # A lightweight multi-protocol & multi-source command-line download utility
socat # replacement of openbsd-netcat
nmap # A utility for network discovery and security auditing
ipcalc # it is a calculator for the IPv4/v6 addresses
# misc
cowsay
file
which
gnused
gnutar
gawk
zstd
gnupg
# nix related
# it provides the command `nom` works just like `nix`
# with more details log output
nix-output-monitor
# productivity
hugo # static site generator
glow # markdown previewer in terminal
iotop # io monitoring
iftop # network monitoring
# system call monitoring
strace # system call monitoring
ltrace # library call monitoring
lsof # list open files
# system tools
sysstat
lm_sensors # for `sensors` command
pciutils # lspci
usbutils # lsusb
];
}

86
users/root/home.nix Normal file
View File

@@ -0,0 +1,86 @@
# Only config stuff you cannot config with dotfiles
# Or stuff that does not interfere with the dotfiles
# Changed my mind
# Just do whats fun
{ config, pkgs, inputs, ... }:
{
imports = [
# Load all the to be installed packages
# ./packages.nix
# inputs.xremap-flake.homeManagerModules.default
# inputs.stylix.homeManagerModules.stylix
];
home = {
username = "root";
sessionVariables = {
EDITOR = "nvim";
HTTP_HOME = "duckduckgo.com";
MANPAGER="nvim +Man!";
};
shellAliases = {
testting = "echo 'test'";
};
};
home.packages = with pkgs; [
acpi
zsh
zoxide
btop
yazi
unzip
feh
];
programs.zsh = {
enable = true;
initContent = ''
# Load Starship prompt
eval "$(starship init zsh)"
'';
};
programs.bash = {
enable = true;
bashrcExtra = ''
# Interactive shell check
[[ $- != *i* ]] && return
# Load Starship prompt
if command -v starship >/dev/null 2>&1; then
eval "$(starship init bash)"
fi
# Add any other bash aliases or functions here
alias ll='ls -l'
alias la='ls -A'
'';
profileExtra = ''
# Source the bashrc
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
'';
};
# starship - an customizable prompt for any shell
programs.starship = {
enable = true;
settings = {
add_newline = false;
aws.disabled = true;
gcloud.disabled = true;
line_break.disabled = true;
};
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
home.stateVersion = "24.11";
}

24
users/theo/home.nix Normal file
View File

@@ -0,0 +1,24 @@
# Only config stuff you cannot config with dotfiles
# Or stuff that does not interfere with the dotfiles
{ config, pkgs, inputs, ... }:
{
imports = [
# Load all the to be installed packages
# inputs.xremap-flake.homeManagerModules.default
];
home = {
username = "theo";
homeDirectory = "/home/theo";
sessionVariables = {
EDITOR = "nvim";
};
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
home.stateVersion = "24.11";
}

37
users/users.nix Normal file
View File

@@ -0,0 +1,37 @@
{ config, lib, pkgs, ... }:
{
# Define a user account. Don't forget to set a password with passwd.
users.defaultUserShell = pkgs.zsh;
# Define groups
users.groups.dummy = {};
users.users = {
jonas = {
isNormalUser = true;
extraGroups = [ "docker" "input" "scanner" "lp" "davfs2" "wheel" "audio" "networkmanager" ];
};
theo = {
isNormalUser = true;
};
horst = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" ];
};
gui = {
isNormalUser = true;
};
shared = {
isNormalUser = true;
};
dummy = {
# Testing what this does
isNormalUser = false;
isSystemUser = true;
# Set this to be safe
group = "dummy";
};
};
}