mirror of
https://github.com/Ascyii/nixos.git
synced 2026-01-01 06:44:26 -05:00
More refactor hard deleting
This commit is contained in:
111
flake.nix
111
flake.nix
@@ -1,144 +1,65 @@
|
|||||||
# This is the main flake containing all the nix related stuff
|
# This is the main flake containing all the nix related stuff
|
||||||
|
|
||||||
{
|
{
|
||||||
description = "Main system configuration management - Jonas Hahn";
|
description = "Main nixos system configuration management von Jonas Hahn ";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# The main nix inputs
|
|
||||||
nixpkgs.url = "nixpkgs/nixos-25.05";
|
nixpkgs.url = "nixpkgs/nixos-25.05";
|
||||||
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
|
||||||
nur = {
|
sops-nix = {
|
||||||
url = "github:nix-community/NUR";
|
url = "github:Mic92/sops-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
sops-nix.url = "github:Mic92/sops-nix";
|
|
||||||
# optional, not necessary for the module
|
|
||||||
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
|
|
||||||
# Other utility stuff may be moved to a seperate flake in the future
|
|
||||||
# Love this system of just rolling to a certain commit!
|
|
||||||
xremap-flake.url = "github:xremap/nix-flake?rev=8001f37b1ffe86e76b62f36afadee2f4acf90e70";
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-25.05";
|
url = "github:nix-community/home-manager/release-25.05";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
stylix.url = "github:danth/stylix/release-25.05";
|
xremap-flake.url = "github:xremap/nix-flake?rev=8001f37b1ffe86e76b62f36afadee2f4acf90e70";
|
||||||
|
|
||||||
#TODO: Add the mailserver to here
|
|
||||||
|
|
||||||
# Testing
|
|
||||||
#nix-snapd.url = "github:nix-community/nix-snapd";
|
|
||||||
#nix-snapd.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
#hyprland.url = "github:hyprwm/Hyprland";
|
|
||||||
# hyprland-plugins = {,
|
|
||||||
# url = "github:hyprwm/hyprland-plugins";
|
|
||||||
# #inputs.hyprland.follows = "hyprland";
|
|
||||||
# };
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, sops-nix, nixpkgs-unstable, nur, home-manager, stylix, ... }@inputs:
|
outputs = { self, nixpkgs, sops-nix, nixpkgs-unstable, home-manager, ... }@inputs:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
|
||||||
# Unserstand this overlay method or do another one
|
|
||||||
overlay-unstable = final: prev: {
|
overlay-unstable = final: prev: {
|
||||||
unstable = nixpkgs-unstable.legacyPackages.${prev.system};
|
unstable = nixpkgs-unstable.legacyPackages.${prev.system};
|
||||||
};
|
};
|
||||||
overlay-nur = final: prev: {
|
|
||||||
nur = nur.legacyPackages.${prev.system};
|
|
||||||
};
|
|
||||||
|
|
||||||
helperModules = [
|
helperModules = [
|
||||||
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable overlay-nur ]; })
|
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
# messed up firefox
|
|
||||||
#home-manager.backupFileExtension = "backup";
|
|
||||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||||
home-manager.users.jonas = import ./nixos/users/jonas/home.nix;
|
home-manager.users.jonas = import ./nixos/users/jonas/home.nix;
|
||||||
home-manager.users.root = import ./nixos/users/root/home.nix;
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
in {
|
||||||
in
|
|
||||||
{
|
|
||||||
# New thinkpad | main workstation
|
|
||||||
nixosConfigurations."thinix" = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [
|
|
||||||
# Use overlay magic with pkgs.unstable.<name>
|
|
||||||
./nixos/hosts/thinkpadt470s/configuration.nix
|
|
||||||
|
|
||||||
#nix-snapd.nixosModules.default
|
|
||||||
#{
|
|
||||||
# services.snap.enable = true;
|
|
||||||
#}
|
|
||||||
] ++ helperModules;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Acer laptop | second workstation
|
|
||||||
nixosConfigurations."nixyos" = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [
|
|
||||||
./nixos/hosts/asus-vivo/configuration.nix
|
|
||||||
] ++ helperModules;
|
|
||||||
};
|
|
||||||
|
|
||||||
nixosConfigurations."minoxy" = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [
|
|
||||||
./nixos/hosts/minoxy/configuration.nix
|
|
||||||
] ++ helperModules;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Cloudserver minimal without all the (bloat) stuff
|
|
||||||
nixosConfigurations."stranox" = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [
|
|
||||||
|
|
||||||
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable overlay-nur ]; })
|
|
||||||
./nixos/hosts/stranox/configuration.nix
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Other system configurations
|
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
# Testing server old computer
|
"thinix" = nixpkgs.lib.nixosSystem {
|
||||||
"misox" = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
./nixos/hosts/misox_msi/configuration.nix
|
# Use overlay magic with pkgs.unstable.<name>
|
||||||
] ++ helperModules;
|
./nixos/hosts/thinkpadt470s/configuration.nix
|
||||||
|
|
||||||
|
] ++ helperModules;
|
||||||
};
|
};
|
||||||
# Old Asus laptop
|
"nixyos" = nixpkgs.lib.nixosSystem {
|
||||||
"asuox" = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
./nixos/hosts/acer-katze/configuration.nix
|
./nixos/hosts/asus-vivo/configuration.nix
|
||||||
] ++ helperModules;
|
] ++ helperModules;
|
||||||
};
|
};
|
||||||
"gullfoss" = nixpkgs.lib.nixosSystem {
|
"minoxy" = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
./nixos/hosts/gullfoss/configuration.nix
|
./nixos/hosts/minoxy/configuration.nix
|
||||||
] ++ helperModules;
|
] ++ helperModules;
|
||||||
};
|
};
|
||||||
"fruitypi" = nixpkgs.lib.nixosSystem {
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [
|
|
||||||
./nixos/hosts/rpi3/configuration.nix
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,43 +1,27 @@
|
|||||||
# Only config stuff you cannot config with dotfilesho
|
{ pkgs, ... }:
|
||||||
# Or stuff that does not interfere with the dotfiles
|
|
||||||
|
|
||||||
{ config, pkgs, inputs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
# Load all the to be installed packages
|
|
||||||
./packages.nix
|
./packages.nix
|
||||||
# inputs.xremap-flake.homeManagerModules.default
|
|
||||||
# inputs.stylix.homeManagerModules.stylix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
services.gnome-keyring.enable = true;
|
||||||
|
|
||||||
# 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 = {
|
xdg.mimeApps = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultApplications = {
|
defaultApplications = {
|
||||||
# Set for web-related content
|
|
||||||
"text/html" = "firefox.desktop";
|
"text/html" = "firefox.desktop";
|
||||||
"x-scheme-handler/http" = "firefox.desktop";
|
"x-scheme-handler/http" = "firefox.desktop";
|
||||||
"x-scheme-handler/https" = "firefox.desktop";
|
"x-scheme-handler/https" = "firefox.desktop";
|
||||||
"x-scheme-handler/about" = "firefox.desktop";
|
"x-scheme-handler/about" = "firefox.desktop";
|
||||||
"x-scheme-handler/unknown" = "firefox.desktop";
|
"x-scheme-handler/unknown" = "firefox.desktop";
|
||||||
"application/pdf" = "sioyek.desktop";
|
"application/pdf" = "sioyek.desktop";
|
||||||
|
"application/rnote" = "rnote.desktop";
|
||||||
"video/mp4" = "mpv.desktop";
|
"video/mp4" = "mpv.desktop";
|
||||||
"image/*" = "fehcustom.desktop";
|
"image/*" = "fehcustom.desktop";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# custom feh
|
|
||||||
xdg.desktopEntries.fehcustom = {
|
xdg.desktopEntries.fehcustom = {
|
||||||
name = "FehCustom";
|
name = "FehCustom";
|
||||||
terminal = false;
|
terminal = false;
|
||||||
@@ -51,11 +35,9 @@
|
|||||||
EDITOR = "nvim";
|
EDITOR = "nvim";
|
||||||
HTTP_HOME = "duckduckgo.com";
|
HTTP_HOME = "duckduckgo.com";
|
||||||
MANPAGER="nvim +Man!";
|
MANPAGER="nvim +Man!";
|
||||||
|
|
||||||
};
|
};
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
testt = "echo 'test'";
|
fla = "sudo nixos-rebuild switch --flake '~/nixos#'";
|
||||||
flk = "sudo nixos-rebuild switch --flake '~/configuration/nixos#'";
|
|
||||||
};
|
};
|
||||||
pointerCursor = {
|
pointerCursor = {
|
||||||
gtk.enable = true;
|
gtk.enable = true;
|
||||||
@@ -65,10 +47,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# stylix.enable = true;
|
|
||||||
# stylix.image = ./backg.jpg;
|
|
||||||
|
|
||||||
# Theming gtk
|
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
@@ -81,7 +59,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Qt6 Configuration Tool (qt6ct) configuration
|
|
||||||
qt = {
|
qt = {
|
||||||
enable = true;
|
enable = true;
|
||||||
platformTheme.name = "qtct";
|
platformTheme.name = "qtct";
|
||||||
@@ -102,7 +79,6 @@
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
# starship - an customizable prompt for any shell
|
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
@@ -2,16 +2,12 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
(catppuccin-kvantum.override {
|
|
||||||
accent = "rosewater";
|
|
||||||
variant = "frappe";
|
|
||||||
})
|
|
||||||
weechat
|
weechat
|
||||||
just
|
just
|
||||||
|
gcr
|
||||||
iamb
|
iamb
|
||||||
wiki-tui
|
wiki-tui
|
||||||
|
|
||||||
# some helpers and new stuff to try
|
|
||||||
vscode
|
vscode
|
||||||
mise
|
mise
|
||||||
direnv
|
direnv
|
||||||
@@ -19,7 +15,6 @@
|
|||||||
visidata
|
visidata
|
||||||
vuls
|
vuls
|
||||||
|
|
||||||
# add scanner
|
|
||||||
simple-scan
|
simple-scan
|
||||||
obsidian
|
obsidian
|
||||||
rclone
|
rclone
|
||||||
@@ -28,8 +23,10 @@
|
|||||||
broot
|
broot
|
||||||
gron
|
gron
|
||||||
xh
|
xh
|
||||||
#jujutsu # this is currently insecure
|
|
||||||
pkgs.unstable.spotify-player
|
#jujutsu
|
||||||
|
|
||||||
|
unstable.spotify-player
|
||||||
pipewire
|
pipewire
|
||||||
mesa
|
mesa
|
||||||
|
|
||||||
@@ -42,7 +39,6 @@
|
|||||||
kdePackages.dolphin
|
kdePackages.dolphin
|
||||||
git-lfs
|
git-lfs
|
||||||
|
|
||||||
# Privacy stuff
|
|
||||||
tor
|
tor
|
||||||
torsocks
|
torsocks
|
||||||
w3m
|
w3m
|
||||||
@@ -79,6 +75,7 @@
|
|||||||
watson
|
watson
|
||||||
slides
|
slides
|
||||||
|
|
||||||
|
|
||||||
kdePackages.falkon
|
kdePackages.falkon
|
||||||
epiphany
|
epiphany
|
||||||
imagemagick
|
imagemagick
|
||||||
@@ -113,7 +110,7 @@
|
|||||||
lazygit
|
lazygit
|
||||||
nodejs
|
nodejs
|
||||||
ripgrep
|
ripgrep
|
||||||
pkgs.signal-desktop
|
signal-desktop
|
||||||
unison
|
unison
|
||||||
trash-cli
|
trash-cli
|
||||||
starship
|
starship
|
||||||
@@ -135,7 +132,7 @@
|
|||||||
stow
|
stow
|
||||||
brightnessctl
|
brightnessctl
|
||||||
anki
|
anki
|
||||||
pkgs.unstable.typst
|
unstable.typst
|
||||||
dnsmasq
|
dnsmasq
|
||||||
davfs2
|
davfs2
|
||||||
mediainfo
|
mediainfo
|
||||||
@@ -151,8 +148,8 @@
|
|||||||
xournalpp
|
xournalpp
|
||||||
rnote
|
rnote
|
||||||
libinput
|
libinput
|
||||||
libGL
|
libGL
|
||||||
libglvnd
|
libglvnd
|
||||||
emacs
|
emacs
|
||||||
cargo
|
cargo
|
||||||
hyprshot
|
hyprshot
|
||||||
@@ -164,12 +161,12 @@
|
|||||||
keepassxc
|
keepassxc
|
||||||
kitty
|
kitty
|
||||||
wlsunset
|
wlsunset
|
||||||
pkgs.unstable.yazi
|
unstable.yazi
|
||||||
neovim
|
neovim
|
||||||
htop
|
htop
|
||||||
alpine
|
alpine
|
||||||
#tree
|
#tree
|
||||||
#pkgs.qt5.full
|
#qt5.full
|
||||||
wget
|
wget
|
||||||
tmux
|
tmux
|
||||||
|
|
||||||
@@ -178,19 +175,19 @@
|
|||||||
unzip
|
unzip
|
||||||
p7zip
|
p7zip
|
||||||
|
|
||||||
jq # A lightweight and flexible command-line JSON processor
|
jq
|
||||||
yq-go # yaml processor https://github.com/mikefarah/yq
|
yq-go
|
||||||
|
|
||||||
mtr # A network diagnostic tool
|
mtr
|
||||||
iperf3
|
iperf3
|
||||||
dnsutils # `dig` + `nslookup`
|
dnsutils
|
||||||
ldns # replacement of `dig`, it provide the command `drill`
|
ldns
|
||||||
aria2 # A lightweight multi-protocol & multi-source command-line download utility
|
aria2
|
||||||
socat # replacement of openbsd-netcat
|
socat
|
||||||
nmap # A utility for network discovery and security auditing
|
nmap
|
||||||
ipcalc # it is a calculator for the IPv4/v6 addresses
|
ipcalc
|
||||||
|
|
||||||
# misc
|
# Misc
|
||||||
cowsay
|
cowsay
|
||||||
file
|
file
|
||||||
which
|
which
|
||||||
@@ -200,28 +197,25 @@
|
|||||||
zstd
|
zstd
|
||||||
gnupg
|
gnupg
|
||||||
|
|
||||||
# nix related
|
|
||||||
# it provides the command `nom` works just like `nix`
|
|
||||||
# with more details log output
|
|
||||||
nix-output-monitor
|
nix-output-monitor
|
||||||
|
|
||||||
# productivity
|
# Productivity
|
||||||
hugo # static site generator
|
hugo
|
||||||
glow # markdown previewer in terminal
|
glow
|
||||||
|
|
||||||
iotop # io monitoring
|
iotop
|
||||||
iftop # network monitoring
|
iftop
|
||||||
|
|
||||||
# system call monitoring
|
# System call monitoring
|
||||||
strace # system call monitoring
|
strace
|
||||||
ltrace # library call monitoring
|
ltrace
|
||||||
lsof # list open files
|
lsof
|
||||||
|
|
||||||
# system tools
|
# System tools
|
||||||
sysstat
|
sysstat
|
||||||
lm_sensors # for `sensors` command
|
lm_sensors
|
||||||
pciutils # lspci
|
pciutils
|
||||||
usbutils # lsusb
|
usbutils
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
20
user/users.nix
Normal file
20
user/users.nix
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
users.defaultUserShell = pkgs.zsh;
|
||||||
|
users.users = {
|
||||||
|
jonas = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [
|
||||||
|
"docker"
|
||||||
|
"input"
|
||||||
|
"scanner"
|
||||||
|
"lp"
|
||||||
|
"davfs2"
|
||||||
|
"wheel"
|
||||||
|
"audio"
|
||||||
|
"networkmanager"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
# 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";
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# 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";
|
|
||||||
}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
# 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";
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.9 MiB |
@@ -1,137 +0,0 @@
|
|||||||
# 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";
|
|
||||||
}
|
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
# 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";
|
|
||||||
}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
# 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";
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
{ 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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user