24 Commits

Author SHA1 Message Date
julian 327ceed460 Install mise 2026-06-02 21:51:39 +02:00
julian 0c1df548a2 Do not use binarycache anymore 2026-06-02 21:51:39 +02:00
julian 948ac61d8b Fix deprecation warnings 2026-06-01 23:35:03 +02:00
julian c0d6d4483d Migrate more config to stylix 2026-06-01 23:14:06 +02:00
julian f6c123e3bf Use stylix instead of unmaintained nix-colors 2026-06-01 23:06:54 +02:00
julian 5ecb1594d1 Upgrade to nixos 26.04 2026-06-01 22:27:35 +02:00
julian 8ce210ad1f Install more fonts by default 2026-05-17 15:51:34 +02:00
julian 2526cc4d63 Update flake 2026-05-17 14:49:05 +02:00
julian 59ecf03ecf Add mise integration to direnv 2026-05-17 14:48:57 +02:00
julian 7f6910098d Add mise to development suite 2026-05-17 11:27:28 +02:00
julian 1015048fc5 Remove discord from open-messaging 2026-05-17 11:27:01 +02:00
julian 831f49e8bd Update flake 2026-04-24 11:53:22 +02:00
julian 8acb99770c Add devenv to v3ms 2026-04-24 11:52:20 +02:00
julian 7488da102e Add tmux to v3ms 2026-04-24 11:52:20 +02:00
julian be5e9cce07 Fix screenshots on hyprland
Update Nix Flake / update-flake (push) Failing after 12s
2026-04-13 08:25:30 +02:00
julian 0eddfbef58 Install .desktop file for smath-studio
Update Nix Flake / update-flake (push) Failing after 19s
2026-03-26 09:02:32 +01:00
julian bdb85b6161 Add smath-studio packet 2026-03-26 08:50:33 +01:00
julian 64392b695e Fix recursion on self
Update Nix Flake / update-flake (push) Failing after 22s
2026-03-23 21:57:18 +01:00
julian 8896788bfd Delete unneeded standalone hm configs 2026-03-23 20:58:19 +01:00
julian eec600d1d0 Move common host features to features-nixos folder 2026-03-23 20:57:12 +01:00
julian b31791b9ef Rename pkgs to packages 2026-03-23 20:43:11 +01:00
julian 8de280d7e5 Remove my own trys for pob wrapper 2026-03-23 20:39:47 +01:00
julian 8c8a6121bc Remove unused users 2026-03-23 20:38:38 +01:00
julian f1296e7675 Remove unused pianonix config 2026-03-23 20:37:54 +01:00
134 changed files with 1728 additions and 2571 deletions
+1 -9
View File
@@ -1,17 +1,15 @@
keys: keys:
- &primary age1ee5udznhadk6m7jtglu4709rep080yjyd2ukzdl8jma4mm92y3psv0slpg - &primary age1ee5udznhadk6m7jtglu4709rep080yjyd2ukzdl8jma4mm92y3psv0slpg
- &aspi-ssh age1q8lc5340gz5xw2f57nglrss68wv0j0hf36py2pdtrl6ky3yrq9qqk0njr4 - &aspi-ssh age1q8lc5340gz5xw2f57nglrss68wv0j0hf36py2pdtrl6ky3yrq9qqk0njr4
- &pianonix-ssh age1tguyu2yd5xv8rgjjl50cq6dq5rr7umqgv098dgre4u9wyj30ea7sexw62c
- &builder-ssh age1kw4kmdm45zprvdkrrpvgq966l7585vhusmum083qlwnr0xxgd3uqatcyja - &builder-ssh age1kw4kmdm45zprvdkrrpvgq966l7585vhusmum083qlwnr0xxgd3uqatcyja
- &kardorf-ssh age15lxw97z03q40xrdscnxqqugh5ky5aqrerg2t2rphkcqm6rnllurq8v98q5 - &kardorf-ssh age15lxw97z03q40xrdscnxqqugh5ky5aqrerg2t2rphkcqm6rnllurq8v98q5
creation_rules: creation_rules:
- path_regex: hosts/common/secrets.yaml$ - path_regex: hosts/secrets-common.yaml$
key_groups: key_groups:
- age: - age:
- *primary - *primary
- *aspi-ssh - *aspi-ssh
- *pianonix-ssh
- *kardorf-ssh - *kardorf-ssh
- path_regex: hosts/builder/secrets.yaml$ - path_regex: hosts/builder/secrets.yaml$
@@ -19,9 +17,3 @@ creation_rules:
- age: - age:
- *primary - *primary
- *builder-ssh - *builder-ssh
- path_regex: hosts/pianonix/secrets*
key_groups:
- age:
- *primary
- *pianonix-ssh
-33
View File
@@ -1,33 +0,0 @@
{
config,
pkgs,
inputs,
...
}: let
inherit (inputs.nix-colors.lib-contrib {inherit pkgs;}) gtkThemeFromScheme;
in {
# Do not make conditional, just toggle things on and off
imports = [inputs.nix-colors.homeManagerModules.default]; # TODO: what does this do
# home.sessionVariables.GTK_THEME = "Catppuccin-Mocha-Compact-Blue-dark";
gtk = {
enable = true;
theme = {
name = inputs.nix-colors.colorschemes.${config.colorscheme.name}.slug;
package = gtkThemeFromScheme {
scheme = inputs.nix-colors.colorschemes.${config.colorscheme.name};
};
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
cursorTheme = {
package = pkgs.apple-cursor;
name = "macOS";
size = 24;
};
};
xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-gtk];
}
@@ -1,46 +0,0 @@
{
options,
config,
lib,
pkgs,
inputs,
...
}: let
inherit
(inputs.nix-colors.colorschemes.${builtins.toString config.colorscheme.name})
palette
;
in {
programs.hyprlock.enable = true;
programs.hyprlock.settings = {
general = {
disable_loading_bar = true;
hide_cursor = true;
ignore_empty_input = true;
};
background = [
{
color = "#${palette.base00}";
# path = "screenshot";
# blur_passes = 3;
# blur_size = 8;
}
];
input-field = [
{
size = "200, 50";
position = "0, -80";
monitor = "";
dots_center = true;
fade_on_empty = false;
font_color = "#${palette.base0B}";
inner_color = "#${palette.base01}";
outer_color = "#${palette.base05}";
outline_thickness = 5;
placeholder_text = "Password...";
}
];
};
}
@@ -1,30 +0,0 @@
{
options,
config,
lib,
pkgs,
inputs,
...
}: let
inherit
(inputs.nix-colors.colorschemes.${builtins.toString config.colorscheme.name})
palette
;
in {
home.packages = with pkgs; [libnotify];
services.mako = {
enable = true;
settings = {
defaultTimeout = "5000"; # milliseconds, can be overwritten by notification sender
backgroundColor = "#${palette.base00}";
textColor = "#${palette.base05}";
borderColor = "#${palette.base0D}";
progressColor = "over #${palette.base02}";
extraConfig = ''
[urgency=high]
border-color=#${palette.base09}
# '';
};
};
}
@@ -1,36 +0,0 @@
{
options,
config,
pkgs,
lib,
inputs,
...
}: let
palette = (inputs.nix-colors.colorschemes.${builtins.toString config.colorscheme.name}).palette;
in {
programs.waybar = {
enable = true;
# systemd.enable = true;
settings.mainBar = builtins.fromJSON (builtins.readFile ./config.json);
};
xdg.configFile."waybar/style.css".source = ./style.css;
xdg.configFile."waybar/theme.css".text = ''
/*
bg - background
fg - foreground
*/
/* Main Colors */
@define-color background #${palette.base00};
@define-color foreground #${palette.base05};
/* Workspace Button Colors */
@define-color hover-bg #${palette.base01};
@define-color hover-fg #${palette.base05};
@define-color active-bg #${palette.base02};
@define-color active-fg #${palette.base0A};
@define-color urgent-bg #${palette.base08};
@define-color urgent-fg #${palette.base00};
'';
}
@@ -1,39 +0,0 @@
{
options,
config,
lib,
pkgs,
inputs,
...
}: let
inherit
(inputs.nix-colors.colorschemes.${builtins.toString config.colorscheme.name})
palette
;
in {
home.packages = with pkgs; [wlogout];
# xdg.configFile."wlogout/style.css".text = ''
# * {
# all: unset;
# font-family: JetBrains Mono Nerd Font;
# }
# window {
# background-color: #${palette.base00};
# }
# button {
# color: #${palette.base01};
# font-size: 64px;
# background-color: rgba(0,0,0,0);
# outline-style: none;
# margin: 5px;
# }
# button:focus, button:active, button:hover {
# color: #${palette.base0D};
# transition: ease 0.4s;
# }
# '';
}
@@ -1,86 +0,0 @@
{
options,
config,
lib,
pkgs,
inputs,
...
}: let
inherit
(inputs.nix-colors.colorschemes.${builtins.toString config.colorscheme.name})
palette
;
in {
home.packages = with pkgs; [wofi];
xdg.configFile."wofi/config".source = ./config;
xdg.configFile."wofi/style.css".text = ''
window {
margin: 5px;
border: 5px solid #181926;
background-color: #${palette.base00};
border-radius: 15px;
font-family: "JetBrainsMono";
font-size: 14px;
}
#input {
all: unset;
min-height: 36px;
padding: 4px 10px;
margin: 4px;
border: none;
color: #${palette.base05};
font-weight: bold;
background-color: #${palette.base01};
outline: none;
border-radius: 15px;
margin: 10px;
margin-bottom: 2px;
}
#inner-box {
margin: 4px;
padding: 10px;
font-weight: bold;
border-radius: 15px;
}
#outer-box {
margin: 0px;
padding: 3px;
border: none;
border-radius: 15px;
border: 5px solid #${palette.base01};
}
#scroll {
margin-top: 5px;
border: none;
border-radius: 15px;
margin-bottom: 5px;
}
#text:selected {
color: #${palette.base01};
margin: 0px 0px;
border: none;
border-radius: 15px;
}
#entry {
margin: 0px 0px;
border: none;
border-radius: 15px;
background-color: transparent;
}
#entry:selected {
margin: 0px 0px;
border: none;
border-radius: 15px;
background: #${palette.base0D};
background-size: 400% 400%;
}
'';
}
-18
View File
@@ -1,18 +0,0 @@
{
flake.nixosModules.base = {
inputs,
config,
...
}: {
system.hydraAutoUpgrade = {
# Only enable if not dirty
enable = inputs.self ? rev;
dates = "*:0/10"; # Every 10 minutes
instance = "http://hydra.julian-mutter.de";
project = "dotfiles";
jobset = "main";
job = "hosts.${config.networking.hostName}";
oldFlakeRef = "self";
};
};
}
-40
View File
@@ -1,40 +0,0 @@
# Common config for all hosts
{
flake.nixosModules.base = {
inputs,
outputs,
pkgs,
lib,
...
}: {
imports = [
inputs.home-manager.nixosModules.home-manager
];
# Replaces the (modulesPath + "/installer/scan/not-detected.nix") from default hardware-configuration.nix
# Enables non-free firmware
hardware.enableRedistributableFirmware = true;
# Networking
networking.networkmanager = {
enable = true;
plugins = with pkgs; [
networkmanager-openconnect
];
};
services.resolved.enable = false;
# MDNS Taken by avahi
# networking.networkmanager.dns = "none";
networking.nameservers = lib.mkDefault [
"1.1.1.1"
"8.8.8.8"
];
# HM module
home-manager.useGlobalPkgs = true; # hm module uses the pkgs of the nixos config
home-manager.backupFileExtension = "hm-backup"; # backup conflicting files. So hm activation never fails
home-manager.extraSpecialArgs = {
inherit inputs outputs;
};
};
}
-12
View File
@@ -1,12 +0,0 @@
{
flake.nixosModules.base = {
programs.fish = {
enable = true;
vendor = {
completions.enable = true;
config.enable = true;
functions.enable = true;
};
};
};
}
-28
View File
@@ -1,28 +0,0 @@
{
flake.nixosModules.base = {
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "de_DE.UTF-8";
LC_IDENTIFICATION = "de_DE.UTF-8";
LC_MEASUREMENT = "de_DE.UTF-8";
LC_MONETARY = "de_DE.UTF-8";
LC_NAME = "de_DE.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "de_DE.UTF-8";
LC_TELEPHONE = "de_DE.UTF-8";
LC_TIME = "de_DE.UTF-8";
};
# Keymap
services.xserver.xkb = {
layout = "de";
variant = "";
};
console.keyMap = "de";
time.timeZone = "Europe/Berlin";
};
}
-48
View File
@@ -1,48 +0,0 @@
{
flake.nixosModules.base = {outputs, ...}: {
# Apply overlays
nixpkgs = {
# TODO: apply this to hm and nixos without duplicate code
overlays = builtins.attrValues outputs.overlays;
config = {
nvidia.acceptLicense = true;
allowUnfree = true;
allowUnfreePredicate = _: true; # TODO: what is this
warn-dirty = false;
permittedInsecurePackages = [
"olm-3.2.16"
];
};
};
# optimize at every build, slows down builds
# better to do optimise.automatic for regular optimising
# nix.settings.auto-optimise-store = lib.mkDefault true;
nix.settings.experimental-features = [
"nix-command"
"flakes"
"ca-derivations"
];
# warn-dirty = false;
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
persistent = true;
};
nix.optimise = {
automatic = true;
dates = ["weekly"]; # Optional; allows customizing optimisation schedule
persistent = true;
};
programs.nix-ld.enable = true;
# TODO: is this useful?, what does it do?
# nix.settings.flake-registry = ""; # Disable global flake registry
# Add each flake input as a registry and nix_path
# registry = lib.mapAttrs (_: flake: { inherit flake; }) flakeInputs;
# nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
};
}
-11
View File
@@ -1,11 +0,0 @@
{
flake.nixosModules.base = {pkgs, ...}: {
# Packages needed as root
environment.systemPackages = with pkgs; [
vim
htop
mc
gparted-xhost # needs to be installed as system package so it can be actually opened
];
};
}
-24
View File
@@ -1,24 +0,0 @@
{
flake.nixosModules.base = {
inputs,
config,
...
}: let
isEd25519 = k: k.type == "ed25519";
getKeyPath = k: k.path;
keys = builtins.filter isEd25519 config.services.openssh.hostKeys;
in {
imports = [inputs.sops-nix.nixosModules.sops];
sops.age = {
sshKeyPaths = map getKeyPath keys;
# TODO: remove? only rely on ssh or pgp keys (e.g. ubikey like misterio is using!!!)
# keyFile = "/home/julian/.config/sops/age/keys.txt";
# Generate key if none of the above worked. With this, building will still work, just without secrets
generateKey = false; # TODO: building should not work without secrets!?
};
sops.defaultSopsFile = ./secrets.yaml;
};
}
+16
View File
@@ -0,0 +1,16 @@
{
inputs,
config,
...
}: {
system.hydraAutoUpgrade = {
# Only enable if not dirty
enable = inputs.self ? rev;
dates = "*:0/10"; # Every 10 minutes
instance = "http://hydra.julian-mutter.de";
project = "dotfiles";
jobset = "main";
job = "hosts.${config.networking.hostName}";
oldFlakeRef = "self";
};
}
+47
View File
@@ -0,0 +1,47 @@
# Common config for all hosts
{
inputs,
outputs,
pkgs,
lib,
...
}: {
imports =
[
./fish.nix # fish for admin
./locale.nix
./nix.nix
./sops.nix
./root.nix
]
++ [
inputs.home-manager.nixosModules.home-manager
]
++ (builtins.attrValues outputs.nixosModules);
# Replaces the (modulesPath + "/installer/scan/not-detected.nix") from default hardware-configuration.nix
# Enables non-free firmware
hardware.enableRedistributableFirmware = true;
# Networking
networking.networkmanager = {
enable = true;
plugins = with pkgs; [
networkmanager-openconnect
];
};
services.resolved.enable = false;
# MDNS Taken by avahi
# networking.networkmanager.dns = "none";
networking.nameservers = lib.mkDefault [
"1.1.1.1"
"8.8.8.8"
];
# HM module
home-manager.useGlobalPkgs = true; # hm module uses the pkgs of the nixos config
home-manager.backupFileExtension = "hm-backup"; # backup conflicting files. So hm activation never fails
home-manager.extraSpecialArgs = {
inherit inputs outputs;
};
}
+10
View File
@@ -0,0 +1,10 @@
{
programs.fish = {
enable = true;
vendor = {
completions.enable = true;
config.enable = true;
functions.enable = true;
};
};
}
+26
View File
@@ -0,0 +1,26 @@
{
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "de_DE.UTF-8";
LC_IDENTIFICATION = "de_DE.UTF-8";
LC_MEASUREMENT = "de_DE.UTF-8";
LC_MONETARY = "de_DE.UTF-8";
LC_NAME = "de_DE.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "de_DE.UTF-8";
LC_TELEPHONE = "de_DE.UTF-8";
LC_TIME = "de_DE.UTF-8";
};
# Keymap
services.xserver.xkb = {
layout = "de";
variant = "";
};
console.keyMap = "de";
time.timeZone = "Europe/Berlin";
}
+46
View File
@@ -0,0 +1,46 @@
{outputs, ...}: {
# Apply overlays
nixpkgs = {
# TODO: apply this to hm and nixos without duplicate code
overlays = builtins.attrValues outputs.overlays;
config = {
nvidia.acceptLicense = true;
allowUnfree = true;
allowUnfreePredicate = _: true; # TODO: what is this
warn-dirty = false;
permittedInsecurePackages = [
"olm-3.2.16"
];
};
};
# optimize at every build, slows down builds
# better to do optimise.automatic for regular optimising
# nix.settings.auto-optimise-store = lib.mkDefault true;
nix.settings.experimental-features = [
"nix-command"
"flakes"
"ca-derivations"
];
# warn-dirty = false;
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
persistent = true;
};
nix.optimise = {
automatic = true;
dates = ["weekly"]; # Optional; allows customizing optimisation schedule
persistent = true;
};
programs.nix-ld.enable = true;
# TODO: is this useful?, what does it do?
# nix.settings.flake-registry = ""; # Disable global flake registry
# Add each flake input as a registry and nix_path
# registry = lib.mapAttrs (_: flake: { inherit flake; }) flakeInputs;
# nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
}
+9
View File
@@ -0,0 +1,9 @@
{pkgs, ...}: {
# Packages needed as root
environment.systemPackages = with pkgs; [
vim
htop
mc
gparted-xhost # needs to be installed as system package so it can be actually opened
];
}
+23
View File
@@ -0,0 +1,23 @@
{
pwd,
inputs,
config,
...
}: let
isEd25519 = k: k.type == "ed25519";
getKeyPath = k: k.path;
keys = builtins.filter isEd25519 config.services.openssh.hostKeys;
in {
imports = [inputs.sops-nix.nixosModules.sops];
sops.age = {
sshKeyPaths = map getKeyPath keys;
# TODO: remove? only rely on ssh or pgp keys (e.g. ubikey like misterio is using!!!)
# keyFile = "/home/julian/.config/sops/age/keys.txt";
# Generate key if none of the above worked. With this, building will still work, just without secrets
generateKey = false; # TODO: building should not work without secrets!?
};
sops.defaultSopsFile = "${pwd}/hosts/secrets-common.yaml";
}
+1 -3
View File
@@ -1,9 +1,8 @@
{ {
flake.nixosModules.authentication = {
pkgs, pkgs,
lib, lib,
... ...
}: { }: {
# Make programs like nextcloud client access saved passwords # Make programs like nextcloud client access saved passwords
services.gnome.gnome-keyring.enable = true; services.gnome.gnome-keyring.enable = true;
@@ -27,5 +26,4 @@
}; };
}; };
}; };
};
} }
-2
View File
@@ -1,5 +1,4 @@
{ {
flake.nixosModules.avahi = {
# MDNS on local network # MDNS on local network
services.avahi = { services.avahi = {
enable = true; enable = true;
@@ -10,5 +9,4 @@
ipv4 = true; ipv4 = true;
ipv6 = true; ipv6 = true;
}; };
};
} }
+2 -4
View File
@@ -1,16 +1,15 @@
{ {
flake.nixosModules.binarycaches = {
lib, lib,
outputs, outputs,
... ...
}: { }: {
# Setup binary caches # Setup binary caches
nix.settings = { nix.settings = {
substituters = [ substituters = [
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
"https://cache.nixos.org/" "https://cache.nixos.org/"
"https://hyprland.cachix.org" "https://hyprland.cachix.org"
"http://binarycache.julian-mutter.de" # "http://binarycache.julian-mutter.de"
"https://devenv.cachix.org" "https://devenv.cachix.org"
]; ];
trusted-public-keys = [ trusted-public-keys = [
@@ -29,5 +28,4 @@
# Ensure we can still build when missing-server is not accessible # Ensure we can still build when missing-server is not accessible
fallback = true; fallback = true;
}; };
};
} }
-2
View File
@@ -1,5 +1,4 @@
{ {
flake.nixosModules.boot-efi = {
# Bootloader # Bootloader
# Use this for simple nix boot menu, if no dual boot required # Use this for simple nix boot menu, if no dual boot required
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
@@ -15,5 +14,4 @@
"nfs" "nfs"
"cifs" "cifs"
]; ];
};
} }
-2
View File
@@ -1,7 +1,5 @@
{ {
flake.nixosModules.docker = {
virtualisation.docker = { virtualisation.docker = {
enable = true; enable = true;
}; };
};
} }
+1 -3
View File
@@ -1,8 +1,6 @@
{ {pkgs, ...}: {
flake.nixosModules.flatpak = {pkgs, ...}: {
services.flatpak.enable = true; services.flatpak.enable = true;
xdg.portal.enable = true; xdg.portal.enable = true;
xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-gtk]; xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-gtk];
xdg.portal.config.common.default = "*"; # Use first portal implementation found xdg.portal.config.common.default = "*"; # Use first portal implementation found
};
} }
+1 -3
View File
@@ -1,5 +1,4 @@
{ {pkgs, ...}: {
flake.nixosModules.gamemode = {pkgs, ...}: {
programs.gamemode = { programs.gamemode = {
enable = true; enable = true;
settings = { settings = {
@@ -19,5 +18,4 @@
}; };
}; };
}; };
};
} }
+1 -3
View File
@@ -1,15 +1,13 @@
{ {
flake.nixosModules.gdm = {
config, config,
lib, lib,
pkgs, pkgs,
... ...
}: { }: {
services.xserver.displayManager.gdm = { services.xserver.displayManager.gdm = {
enable = true; enable = true;
}; };
# unlock GPG keyring on login # unlock GPG keyring on login
security.pam.services.gdm.enableGnomeKeyring = true; security.pam.services.gdm.enableGnomeKeyring = true;
};
} }
+6 -11
View File
@@ -1,8 +1,4 @@
{ {
flake.nixosModules.greetd = {config, ...}: let
homeCfgs = config.home-manager.users;
julianCfg = homeCfgs.julian;
in {
users.extraUsers.greeter = { users.extraUsers.greeter = {
# For caching # For caching
home = "/tmp/greeter-home"; home = "/tmp/greeter-home";
@@ -11,12 +7,12 @@
programs.regreet = { programs.regreet = {
enable = true; enable = true;
iconTheme = julianCfg.gtk.iconTheme; # iconTheme = julianCfg.gtk.iconTheme;
theme = julianCfg.gtk.theme; # theme = julianCfg.gtk.theme;
# font = julianCfg.fontProfiles.regular; # TODO: do # # font = julianCfg.fontProfiles.regular; # TODO: do
cursorTheme = { # cursorTheme = {
inherit (julianCfg.gtk.cursorTheme) name package; # inherit (julianCfg.gtk.cursorTheme) name package;
}; # };
cageArgs = [ cageArgs = [
"-s" "-s"
"-m" "-m"
@@ -35,5 +31,4 @@
# }; # };
# }; # };
}; };
};
} }
+1 -3
View File
@@ -1,10 +1,9 @@
{ {
flake.nixosModules.i3 = {
config, config,
lib, lib,
pkgs, pkgs,
... ...
}: { }: {
services.xserver.windowManager.i3.enable = true; services.xserver.windowManager.i3.enable = true;
services.xserver.windowManager.i3.package = pkgs.i3-gaps; services.xserver.windowManager.i3.package = pkgs.i3-gaps;
services.displayManager.defaultSession = "none+i3"; services.displayManager.defaultSession = "none+i3";
@@ -14,5 +13,4 @@
enable = true; enable = true;
lockerCommand = "${pkgs.i3lock}/bin/i3lock --ignore-empty-password --color=000000"; lockerCommand = "${pkgs.i3lock}/bin/i3lock --ignore-empty-password --color=000000";
}; };
};
} }
-2
View File
@@ -1,5 +1,4 @@
{ {
flake.nixosModules.kerberos = {
security.krb5.enable = true; security.krb5.enable = true;
security.krb5.settings = { security.krb5.settings = {
# domain_realm = { # domain_realm = {
@@ -21,5 +20,4 @@
}; };
}; };
}; };
};
} }
+3 -5
View File
@@ -1,12 +1,11 @@
{ {
flake.nixosModules.openssh = {
outputs, outputs,
lib, lib,
config, config,
... ...
}: let }: let
hosts = lib.attrNames outputs.nixosConfigurations; hosts = lib.attrNames outputs.nixosConfigurations;
in { in {
services.openssh = { services.openssh = {
enable = true; enable = true;
settings = { settings = {
@@ -16,7 +15,7 @@
# TODO: what does this do # TODO: what does this do
# Let WAYLAND_DISPLAY be forwarded # Let WAYLAND_DISPLAY be forwarded
AcceptEnv = "WAYLAND_DISPLAY"; # AcceptEnv = "WAYLAND_DISPLAY";
X11Forwarding = true; X11Forwarding = true;
}; };
@@ -47,5 +46,4 @@
# ]); # ]);
# }); # });
# }; # };
};
} }
+1 -3
View File
@@ -1,5 +1,4 @@
{ {pkgs, ...}: {
flake.nixosModules.pcmanfm = {pkgs, ...}: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
shared-mime-info # extended mimetype support shared-mime-info # extended mimetype support
lxmenu-data # open with "Installed Applications" lxmenu-data # open with "Installed Applications"
@@ -7,5 +6,4 @@
]; ];
services.gvfs.enable = true; # Mount, trash, and other functionalities services.gvfs.enable = true; # Mount, trash, and other functionalities
};
} }
-2
View File
@@ -1,5 +1,4 @@
{ {
flake.nixosModules.pipewire = {
security.rtkit.enable = true; security.rtkit.enable = true;
services.pulseaudio.enable = false; services.pulseaudio.enable = false;
services.pipewire = { services.pipewire = {
@@ -26,5 +25,4 @@
}; };
}; };
}; };
};
} }
+2 -4
View File
@@ -1,12 +1,10 @@
{ {config, ...}: let
flake.nixosModules.podman = {config, ...}: let
dockerEnabled = config.virtualisation.docker.enable; dockerEnabled = config.virtualisation.docker.enable;
in { in {
virtualisation.podman = { virtualisation.podman = {
enable = true; enable = true;
dockerCompat = !dockerEnabled; dockerCompat = !dockerEnabled;
dockerSocket.enable = !dockerEnabled; dockerSocket.enable = !dockerEnabled;
defaultNetwork.settings.dns_enabled = true; defaultNetwork.settings.dns_enabled = true;
}; };
};
} }
+1 -3
View File
@@ -1,14 +1,12 @@
{ {
flake.nixosModules.redshift = {
config, config,
lib, lib,
pkgs, pkgs,
... ...
}: { }: {
# Set location used by redshift # Set location used by redshift
location.provider = "manual"; location.provider = "manual";
location.latitude = 47.92; location.latitude = 47.92;
location.longitude = 10.12; location.longitude = 10.12;
services.redshift.enable = true; services.redshift.enable = true;
};
} }
@@ -1,5 +1,4 @@
{ {
flake.nixosModules.remote-builder = {
nix.distributedBuilds = true; nix.distributedBuilds = true;
nix.settings.builders-use-substitutes = true; nix.settings.builders-use-substitutes = true;
@@ -32,5 +31,4 @@
# speedFactor = 1; # speedFactor = 1;
# } # }
]; ];
};
} }
+1 -3
View File
@@ -1,10 +1,9 @@
{ {
flake.nixosModules.thunar = {
config, config,
lib, lib,
pkgs, pkgs,
... ...
}: { }: {
programs.thunar.enable = true; programs.thunar.enable = true;
programs.xfconf.enable = true; # Persist saved preferences programs.xfconf.enable = true; # Persist saved preferences
programs.thunar.plugins = with pkgs.xfce; [ programs.thunar.plugins = with pkgs.xfce; [
@@ -14,5 +13,4 @@
]; ];
services.gvfs.enable = true; # Mount, trash, and other functionalities services.gvfs.enable = true; # Mount, trash, and other functionalities
services.tumbler.enable = true; # Thumbnail support for images services.tumbler.enable = true; # Thumbnail support for images
};
} }
+1 -3
View File
@@ -1,14 +1,12 @@
{ {
flake.nixosModules.virtualbox = {
config, config,
lib, lib,
pkgs, pkgs,
... ...
}: { }: {
virtualisation.virtualbox.host.enable = true; virtualisation.virtualbox.host.enable = true;
# virtualisation.virtualbox.host.enableExtensionPack = true; # virtualisation.virtualbox.host.enableExtensionPack = true;
# virtualisation.virtualbox.guest.enable = true; # virtualisation.virtualbox.guest.enable = true;
# virtualisation.virtualbox.guest.x11 = true; # virtualisation.virtualbox.guest.x11 = true;
users.extraGroups.vboxusers.members = ["julian"]; users.extraGroups.vboxusers.members = ["julian"];
};
} }
-2
View File
@@ -1,5 +1,4 @@
{ {
flake.nixosModules.wireguard = {
networking.wg-quick.interfaces = { networking.wg-quick.interfaces = {
julian = { julian = {
configFile = "/etc/wireguard/julian.conf"; configFile = "/etc/wireguard/julian.conf";
@@ -10,5 +9,4 @@
autostart = false; autostart = false;
}; };
}; };
};
} }
-2
View File
@@ -1,5 +1,4 @@
{ {
flake.nixosModules.wireshark = {
programs.wireshark = { programs.wireshark = {
enable = true; enable = true;
dumpcap.enable = true; dumpcap.enable = true;
@@ -7,5 +6,4 @@
}; };
users.users.julian.extraGroups = ["wireshark"]; users.users.julian.extraGroups = ["wireshark"];
};
} }
-2
View File
@@ -1,8 +1,6 @@
{ {
flake.nixosModules.xserver = {
services.xserver = { services.xserver = {
enable = true; enable = true;
wacom.enable = true; wacom.enable = true;
}; };
};
} }
+6 -7
View File
@@ -1,12 +1,12 @@
{ {
flake.nixosModules.users.julian = { pwd,
pkgs, pkgs,
config, config,
lib, lib,
... ...
}: let }: let
ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups; ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups;
in { in {
users.mutableUsers = false; users.mutableUsers = false;
users.users.julian = { users.users.julian = {
description = "Julian"; description = "Julian";
@@ -30,7 +30,7 @@
]; ];
openssh.authorizedKeys.keys = lib.splitString "\n" ( openssh.authorizedKeys.keys = lib.splitString "\n" (
builtins.readFile ../../../../homes/julian/ssh.pub builtins.readFile ./ssh.pub
); );
# hashedPasswordFile = config.sops.secrets.julian-password.path; # hashedPasswordFile = config.sops.secrets.julian-password.path;
hashedPassword = "$y$j9T$N33kLJQbV8soUoCbDkpwA1$r/yahJDgOPo4GGOrAi6BUG5zLTzmaBrA5NQ4nno561A"; hashedPassword = "$y$j9T$N33kLJQbV8soUoCbDkpwA1$r/yahJDgOPo4GGOrAi6BUG5zLTzmaBrA5NQ4nno561A";
@@ -41,12 +41,11 @@
}; };
sops.secrets.julian-password = { sops.secrets.julian-password = {
sopsFile = ../../secrets.yaml; sopsFile = "${pwd}/hosts/secrets-common.yaml";
neededForUsers = true; neededForUsers = true;
}; };
home-manager.users.julian = import ../../../../homes/julian/${config.networking.hostName}.nix; home-manager.users.julian = import "${pwd}/homes/julian/${config.networking.hostName}.nix";
security.pam.services.swaylock = {}; # Make swaylock unlocking work security.pam.services.swaylock = {}; # Make swaylock unlocking work
};
} }
-30
View File
@@ -1,30 +0,0 @@
{
flake.nixosModules.users.pob = {
pkgs,
config,
...
}: let
ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups;
in {
users.mutableUsers = false;
users.users.pob = {
description = "A helper user to use another profile for some applications";
group = "pob";
isNormalUser = true;
shell = pkgs.fish;
extraGroups = ifTheyExist [
"networkmanager"
];
packages = with pkgs; [
firefox
wineWowPackages.stable # 32-bit and 64-bit wine
winetricks
];
};
users.groups.pob = {};
security.sudo.extraConfig = ''
julian ALL=(pob) NOPASSWD: ALL
'';
};
}
+2 -4
View File
@@ -1,11 +1,10 @@
{ {
flake.nixosModules.users.wolfi = {
pkgs, pkgs,
config, config,
... ...
}: let }: let
ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups; ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups;
in { in {
users.mutableUsers = false; users.mutableUsers = false;
users.users.wolfi = { users.users.wolfi = {
description = "Wolfi"; description = "Wolfi";
@@ -28,5 +27,4 @@
packages = [pkgs.home-manager]; packages = [pkgs.home-manager];
}; };
users.groups.wolfi = {}; users.groups.wolfi = {};
};
} }
-99
View File
@@ -1,99 +0,0 @@
{
flake.nixosModules.users.yukari = {
pkgs,
config,
lib,
outputs,
...
}: let
ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups;
in {
users.mutableUsers = false;
users.users.yukari = {
description = "Yukari";
group = "yukari";
isNormalUser = true;
shell = pkgs.fish;
extraGroups = ifTheyExist [
"networkmanager"
"audio"
"network"
"video"
"podman"
"docker"
"git"
"gamemode"
];
createHome = true;
hashedPassword = "$y$j9T$rGuTL0rfiy7ht8L58BGCw0$fN.KwHjYlIitFEPHndKvV06ezgeWzP3/58o1kkviZwB";
packages = [pkgs.home-manager];
};
users.groups.yukari = {};
home-manager.users.yukari = {
imports =
[
../../../../homes/julian/features/fonts
../../../../homes/julian/features/suites/cli
]
++ (builtins.attrValues outputs.homeManagerModules);
home = {
username = lib.mkDefault "yukari";
homeDirectory = lib.mkDefault "/home/${config.home.username}";
stateVersion = lib.mkDefault "23.11";
sessionPath = ["$HOME/.local/bin"];
packages = with pkgs; [
arandr
calibre # ebook manager and viewer
# digikam
discord
discord-ptb # in case discord updates take their time
# dvdisaster
# element-desktop
# rocketchat-desktop
thunderbird
telegram-desktop # telegram
# schildichat-desktop # not updated regularly
nheko
evince # Simple pdf reader, good for focusing on document content
firefox
vivaldi
# geogebra
cheese
handbrake
# kitty # Terminal, already available as feature
libnotify
libreoffice
mate.engrampa
nomacs # Image viewer
kdePackages.okular # Pdf reader with many features, good for commenting documents
pavucontrol
qalculate-gtk # Nice gui calculator
qpdfview
# qutebrowser
# realvnc-vnc-viewer
# rustdesk
tor-browser
# frajul.pob-dev-version # Path of Building
vlc
wineWowPackages.stable # 32-bit and 64-bit wine
winetricks
xclip # x11 clipboard access from terminal
xfce.mousepad # simple text editor
xournalpp # Edit pdf files
zoom-us # Video conferencing
zotero # Manage papers and other sources
pdfpc # Present slides in pdf form
];
};
programs = {
home-manager.enable = true;
git.enable = true;
};
};
};
}
Generated
+285 -129
View File
@@ -1,18 +1,70 @@
{ {
"nodes": { "nodes": {
"base16-schemes": { "base16": {
"inputs": {
"fromYaml": "fromYaml"
},
"locked": {
"lastModified": 1755819240,
"narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
"owner": "SenchoPens",
"repo": "base16.nix",
"rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "base16.nix",
"type": "github"
}
},
"base16-fish": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1696158499, "lastModified": 1765809053,
"narHash": "sha256-5yIHgDTPjoX/3oDEfLSQ0eJZdFL1SaCfb9d6M0RmOTM=", "narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=",
"owner": "tomyun",
"repo": "base16-fish",
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
"type": "github"
},
"original": {
"owner": "tomyun",
"repo": "base16-fish",
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
"type": "github"
}
},
"base16-helix": {
"flake": false,
"locked": {
"lastModified": 1776754714,
"narHash": "sha256-E3OAK27smtATTmX45uoTSRsVD+Y+ZiVVfgM/tjpbtYg=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "base16-schemes", "repo": "base16-helix",
"rev": "a9112eaae86d9dd8ee6bb9445b664fba2f94037a", "rev": "4d508123037e7851ad36ebf7d9c48b0e9e1eb581",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "base16-schemes", "repo": "base16-helix",
"type": "github"
}
},
"base16-vim": {
"flake": false,
"locked": {
"lastModified": 1732806396,
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
"type": "github" "type": "github"
} }
}, },
@@ -58,11 +110,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769524058, "lastModified": 1780290312,
"narHash": "sha256-zygdD6X1PcVNR2PsyK4ptzrVEiAdbMqLos7utrMDEWE=", "narHash": "sha256-eTAlX0CwgB84Ts3GaBd944A3DRXVMzgA0EqroZBISUo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "71a3fc97d80881e91710fe721f1158d3b96ae14d", "rev": "115e5211780054d8a890b41f0b7734cafad54dfe",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -71,6 +123,22 @@
"type": "github" "type": "github"
} }
}, },
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1779670703,
"narHash": "sha256-UdfMivNMwCCqQsYDg5pSz8X2IOaOrIZLIIy+Bg3CO2o=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "942159e73e40bf785816f7f1f5feed9ef3d7c8f9",
"type": "github"
},
"original": {
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"type": "github"
}
},
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
@@ -111,11 +179,32 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768135262, "lastModified": 1778716662,
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -162,7 +251,7 @@
}, },
"flake-utils_3": { "flake-utils_3": {
"inputs": { "inputs": {
"systems": "systems_4" "systems": "systems_5"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@@ -178,21 +267,36 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_4": { "fromYaml": {
"inputs": { "flake": false,
"systems": "systems_6"
},
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731966426,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
"owner": "numtide", "owner": "SenchoPens",
"repo": "flake-utils", "repo": "fromYaml",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "rev": "106af9e2f715e2d828df706c386a685698f3223b",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "numtide", "owner": "SenchoPens",
"repo": "flake-utils", "repo": "fromYaml",
"type": "github"
}
},
"gnome-shell": {
"flake": false,
"locked": {
"lastModified": 1767737596,
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
"type": "github"
},
"original": {
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
"type": "github" "type": "github"
} }
}, },
@@ -203,16 +307,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770260404, "lastModified": 1780341248,
"narHash": "sha256-3iVX1+7YUIt23hBx1WZsUllhbmP2EnXrV8tCRbLxHc8=", "narHash": "sha256-PPWavrpeQFqE3bEShp9xcWeh2xyVbUucjBbG64MLRl0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "0d782ee42c86b196acff08acfbf41bb7d13eed5b", "rev": "4baa8ac595f6122d2899093f575347af9c4e66d7",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-25.11", "ref": "release-26.05",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@@ -257,34 +361,6 @@
"type": "github" "type": "github"
} }
}, },
"ixx": {
"inputs": {
"flake-utils": [
"nixvim",
"nuschtosSearch",
"flake-utils"
],
"nixpkgs": [
"nixvim",
"nuschtosSearch",
"nixpkgs"
]
},
"locked": {
"lastModified": 1754860581,
"narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=",
"owner": "NuschtOS",
"repo": "ixx",
"rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"ref": "v0.1.1",
"repo": "ixx",
"type": "github"
}
},
"music-reader": { "music-reader": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
@@ -326,25 +402,6 @@
"type": "github" "type": "github"
} }
}, },
"nix-colors": {
"inputs": {
"base16-schemes": "base16-schemes",
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1707825078,
"narHash": "sha256-hTfge2J2W+42SZ7VHXkf4kjU+qzFqPeC9k66jAUBMHk=",
"owner": "misterio77",
"repo": "nix-colors",
"rev": "b01f024090d2c4fc3152cd0cf12027a7b8453ba1",
"type": "github"
},
"original": {
"owner": "misterio77",
"repo": "nix-colors",
"type": "github"
}
},
"nix-gl": { "nix-gl": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
@@ -373,11 +430,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772945408, "lastModified": 1780210899,
"narHash": "sha256-PMt48sEQ8cgCeljQ9I/32uoBq/8t8y+7W/nAZhf72TQ=", "narHash": "sha256-4axz3OBPTKa6LIkXV8n0lc63MQU+et2CB5DGobEAi6k=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "1c1d8ea87b047788fd7567adf531418c5da321ec", "rev": "97df9dc0b7c924344b793a15c1e8e4522ebb854e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -444,12 +501,15 @@
} }
}, },
"nixos-hardware": { "nixos-hardware": {
"inputs": {
"nixpkgs": "nixpkgs_4"
},
"locked": { "locked": {
"lastModified": 1770882871, "lastModified": 1780310866,
"narHash": "sha256-nw5g+xl3veea+maxJ2/81tMEA/rPq9aF1H5XF35X+OE=", "narHash": "sha256-fPBRVf6A5xlACYcOI59shGrjURuvwu0lRsDoSCEXt/I=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "af04cb78aa85b2a4d1c15fc7270347e0d0eda97b", "rev": "4ed851c979641e28597a05086332d75cdc9e395f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -474,28 +534,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-lib": {
"locked": {
"lastModified": 1697935651,
"narHash": "sha256-qOfWjQ2JQSQL15KLh6D7xQhx0qgZlYZTYlcEiRuAMMw=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "e1e11fdbb01113d85c7f41cada9d2847660e3902",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1770841267, "lastModified": 1780243769,
"narHash": "sha256-9xejG0KoqsoKEGp2kVbXRlEYtFFcDTHjidiuX8hGO44=", "narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ec7c70d12ce2fc37cb92aff673dcdca89d187bae", "rev": "331800de5053fcebacf6813adb5db9c9dca22a0c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -535,16 +580,29 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1770770419, "lastModified": 1767892417,
"narHash": "sha256-iKZMkr6Cm9JzWlRYW/VPoL0A9jVKtZYiU4zSrVeetIs=", "narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
"type": "tarball",
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz"
},
"original": {
"type": "tarball",
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1780203844,
"narHash": "sha256-K5sT4jTpGs15ADhviMKNBH38REpPf5Q6mM1+N6cArVE=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "6c5e707c6b5339359a9a9e215c5e66d6d802fd7a", "rev": "b51242d7d43689db2f3be91bd05d5b24fbb469c4",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-25.11", "ref": "nixos-26.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@@ -555,44 +613,45 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"nuschtosSearch": "nuschtosSearch", "systems": "systems_4"
"systems": "systems_5"
}, },
"locked": { "locked": {
"lastModified": 1769049374, "lastModified": 1780214453,
"narHash": "sha256-h0Os2qqNyycDY1FyZgtbn28VF1ySP74/n0f+LDd8j+w=", "narHash": "sha256-Bfq9y0X6Vs4UPb67u7hN3jt7fJKHtl3+g0lBSDebRNg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "b8f76bf5751835647538ef8784e4e6ee8deb8f95", "rev": "167da56c3ab1e51751a6ae4a997ed66587f9edae",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "nixos-25.11", "ref": "nixos-26.05",
"repo": "nixvim", "repo": "nixvim",
"type": "github" "type": "github"
} }
}, },
"nuschtosSearch": { "nur": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_3", "flake-parts": [
"ixx": "ixx", "stylix",
"flake-parts"
],
"nixpkgs": [ "nixpkgs": [
"nixvim", "stylix",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1768249818, "lastModified": 1779766384,
"narHash": "sha256-ANfn5OqIxq3HONPIXZ6zuI5sLzX1sS+2qcf/Pa0kQEc=", "narHash": "sha256-P7Ohnlq8b8b2fU+Sgkrej7LBTM60LBTkHleLuYzmLmU=",
"owner": "NuschtOS", "owner": "nix-community",
"repo": "search", "repo": "NUR",
"rev": "b6f77b88e9009bfde28e2130e218e5123dc66796", "rev": "57800b7ab648725ccd33551d01484ee14952ad3f",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NuschtOS", "owner": "nix-community",
"repo": "search", "repo": "NUR",
"type": "github" "type": "github"
} }
}, },
@@ -603,17 +662,17 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"impermanence": "impermanence", "impermanence": "impermanence",
"music-reader": "music-reader", "music-reader": "music-reader",
"nix-colors": "nix-colors",
"nix-gl": "nix-gl", "nix-gl": "nix-gl",
"nix-index-database": "nix-index-database", "nix-index-database": "nix-index-database",
"nix-matlab": "nix-matlab", "nix-matlab": "nix-matlab",
"nixos-generators": "nixos-generators", "nixos-generators": "nixos-generators",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_5",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"nixvim": "nixvim", "nixvim": "nixvim",
"sheet-organizer": "sheet-organizer", "sheet-organizer": "sheet-organizer",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"stylix": "stylix",
"systems": "systems_7", "systems": "systems_7",
"yazi-flavors": "yazi-flavors" "yazi-flavors": "yazi-flavors"
} }
@@ -621,7 +680,7 @@
"sheet-organizer": { "sheet-organizer": {
"inputs": { "inputs": {
"crane": "crane", "crane": "crane",
"flake-utils": "flake-utils_4", "flake-utils": "flake-utils_3",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
@@ -647,11 +706,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770683991, "lastModified": 1777944972,
"narHash": "sha256-xVfPvXDf9QN3Eh9dV+Lw6IkWG42KSuQ1u2260HKvpnc=", "narHash": "sha256-VfGRo1qTBKOe3s2gOv8LSoA6Fk19PvBlwQ1ECN0Evn8=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "8b89f44c2cc4581e402111d928869fe7ba9f7033", "rev": "c591bf665727040c6cc5cb409079acb22dcce33c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -660,6 +719,39 @@
"type": "github" "type": "github"
} }
}, },
"stylix": {
"inputs": {
"base16": "base16",
"base16-fish": "base16-fish",
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_2",
"gnome-shell": "gnome-shell",
"nixpkgs": [
"nixpkgs"
],
"nur": "nur",
"systems": "systems_6",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1780256506,
"narHash": "sha256-wEXN/OoZt9HfsKBL6694p2Y9xRlwfUbdn/M107U8fVU=",
"owner": "nix-community",
"repo": "stylix",
"rev": "8ed48a41087feeb66372ff718021a9512fc552b3",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "stylix",
"type": "github"
}
},
"systems": { "systems": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
@@ -765,6 +857,70 @@
"type": "github" "type": "github"
} }
}, },
"tinted-kitty": {
"flake": false,
"locked": {
"lastModified": 1735730497,
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-kitty",
"type": "github"
}
},
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1777806186,
"narHash": "sha256-PDF0/wObw4nIsSBeXVYLsloXOiphXCgIdsrNcVXguKs=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "0c94645546f4f3ddac77a1a5fce54eb95bf50795",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "schemes",
"type": "github"
}
},
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1778379944,
"narHash": "sha256-wPDFzMGSlARlw0Sfsn48Q2+jPSfk6N0Ng6BC/d+7Q24=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "fe0203a198690e71a5ff11e08812a4673de3678d",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-tmux",
"type": "github"
}
},
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1778378178,
"narHash": "sha256-OXPXRIQgGwV77HjYRryOHguh4ALX96jkg+tseLkGgHA=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "9cd816033ff969415b190722cddf134e78a5665f",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-zed",
"type": "github"
}
},
"utils": { "utils": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
@@ -786,11 +942,11 @@
"yazi-flavors": { "yazi-flavors": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1770522883, "lastModified": 1780204176,
"narHash": "sha256-tCAJXPV7s1akc+zHGdWjmdMPG4NpBE92vcO7LAvI5TI=", "narHash": "sha256-qWNArjWuxWL+rOjLzyIniW5hJgWiAWTCgXmMXJpaWZE=",
"owner": "yazi-rs", "owner": "yazi-rs",
"repo": "flavors", "repo": "flavors",
"rev": "4c5753789ea535540e868e2764127be9230cef23", "rev": "0f9204bc948c8313963f5c9d571a82edc201f8aa",
"type": "github" "type": "github"
}, },
"original": { "original": {
+97 -160
View File
@@ -3,20 +3,24 @@
inputs = { inputs = {
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
systems.url = "github:nix-systems/default-linux"; systems.url = "github:nix-systems/default-linux";
nixos-hardware.url = "github:nixos/nixos-hardware"; nixos-hardware.url = "github:nixos/nixos-hardware";
impermanence.url = "github:nix-community/impermanence"; impermanence.url = "github:nix-community/impermanence";
nix-colors.url = "github:misterio77/nix-colors";
deploy-rs.url = "github:serokell/deploy-rs"; deploy-rs.url = "github:serokell/deploy-rs";
stylix = {
url = "github:nix-community/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-generators = { nixos-generators = {
url = "github:nix-community/nixos-generators"; url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-25.11"; url = "github:nix-community/home-manager/release-26.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nix-index-database = { nix-index-database = {
@@ -36,16 +40,13 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
flake-parts.url = "github:hercules-ci/flake-parts";
import-tree.url = "github:vic/import-tree";
# Various flakes # Various flakes
yazi-flavors = { yazi-flavors = {
url = "github:yazi-rs/flavors"; url = "github:yazi-rs/flavors";
flake = false; flake = false;
}; };
nixvim = { nixvim = {
url = "github:nix-community/nixvim/nixos-25.11"; url = "github:nix-community/nixvim/nixos-26.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nix-matlab = { nix-matlab = {
@@ -64,163 +65,99 @@
}; };
}; };
outputs = inputs: outputs = {
inputs.flake-parts.lib.mkFlake {inherit inputs;} (inputs.import-tree self,
[ nixpkgs,
./hosts home-manager,
./features-nixos systems,
./homes ...
./features-home-manager } @ inputs: let
# ./modules inherit (self) outputs;
# ./overlays lib = nixpkgs.lib // home-manager.lib;
# ./packages forEachSystem = f: lib.genAttrs (import systems) (system: f pkgsFor.${system});
]); pkgsFor = lib.genAttrs (import systems) (
# let system:
# inherit (self) outputs; import nixpkgs {
# lib = nixpkgs.lib // home-manager.lib; inherit system;
# forEachSystem = f: lib.genAttrs (import systems) (system: f pkgsFor.${system}); config.allowUnfree = true;
# pkgsFor = lib.genAttrs (import systems) ( }
# system: );
# import nixpkgs { in {
# inherit system; inherit lib;
# config.allowUnfree = true;
# config.permittedInsecurePackages = [
# "olm-3.2.16"
# ];
# warn-dirty = false;
# }
# );
# in {
# inherit lib;
# nixosModules = import ./modules/nixos; nixosModules = import ./modules/nixos;
# homeManagerModules = import ./modules/home-manager; homeManagerModules = import ./modules/home-manager;
# overlays = import ./overlays {inherit inputs outputs;}; overlays = import ./overlays {inherit inputs outputs;};
# # hydraJobs = import ./hydra.nix { inherit inputs outputs; }; # TODO add hydra jobs here?
# packages = forEachSystem (pkgs: import ./pkgs {inherit pkgs;}); packages = forEachSystem (pkgs: import ./packages {inherit pkgs;});
# devShells = forEachSystem (pkgs: import ./shell.nix {inherit pkgs;}); devShells = forEachSystem (pkgs: import ./shell.nix {inherit pkgs;});
# formatter = forEachSystem (pkgs: pkgs.alejandra); # nix fmt * formatter = forEachSystem (pkgs: pkgs.alejandra); # nix fmt *
# nixosConfigurations = { nixosConfigurations = {
# # Main laptop # Main laptop
# aspi = lib.nixosSystem { aspi = lib.nixosSystem {
# modules = [ modules = [
# ./hosts/aspi ./hosts/aspi
# ]; ];
# specialArgs = { specialArgs = {
# inherit inputs outputs; inherit inputs outputs;
# }; pwd = "${self}";
# }; };
# # Piano raspberry pi };
# # pianonix = lib.nixosSystem { kardorf = lib.nixosSystem {
# # modules = [./hosts/pianonix]; modules = [./hosts/kardorf];
# # specialArgs = { specialArgs = {
# # inherit inputs outputs; inherit inputs outputs;
# # }; pwd = "${self}";
# # }; };
# kardorf = lib.nixosSystem { };
# modules = [./hosts/kardorf]; builder = lib.nixosSystem {
# specialArgs = { modules = [./hosts/builder];
# inherit inputs outputs; specialArgs = {
# }; inherit inputs outputs;
# }; pwd = "${self}";
# builder = lib.nixosSystem { };
# modules = [./hosts/builder]; };
# specialArgs = { };
# inherit inputs outputs;
# };
# };
# };
# # Standalone HM # Standalone HM
# homeConfigurations = { homeConfigurations = {
# # Main laptop "julian@v3ms" = lib.homeManagerConfiguration {
# "julian@aspi" = lib.homeManagerConfiguration { modules = [
# modules = [ ./homes/julian/v3ms
# ./homes/julian/aspi.nix ./homes/julian/hm-standalone-config.nix
# ./homes/julian/hm-standalone-config.nix ];
# ]; pkgs = pkgsFor.x86_64-linux;
# pkgs = pkgsFor.x86_64-linux; extraSpecialArgs = {
# extraSpecialArgs = { inherit inputs outputs;
# inherit inputs outputs; pwd = "${self}";
# }; };
# }; };
# # Media server (RPi) "julian@quickstart" = lib.homeManagerConfiguration {
# # "julian@pianonix" = lib.homeManagerConfiguration { modules = [
# # modules = [ ./homes/julian/quickstart.nix
# # ./homes/julian/pianonix.nix ./homes/julian/hm-standalone-config.nix
# # ./homes/julian/hm-standalone-config.nix ];
# # ]; pkgs = pkgsFor.x86_64-linux;
# # pkgs = pkgsFor.aarch64-linux; extraSpecialArgs = {
# # extraSpecialArgs = { inherit inputs outputs;
# # inherit inputs outputs; pwd = "${self}";
# # }; };
# # }; };
# "julian@kardorf" = lib.homeManagerConfiguration { };
# modules = [
# ./homes/julian/kardorf.nix
# ./homes/julian/hm-standalone-config.nix
# ];
# pkgs = pkgsFor.x86_64-linux;
# extraSpecialArgs = {
# inherit inputs outputs;
# };
# };
# "julian@v3ms" = lib.homeManagerConfiguration {
# modules = [
# ./homes/julian/v3ms
# ./homes/julian/hm-standalone-config.nix
# ];
# pkgs = pkgsFor.x86_64-linux;
# extraSpecialArgs = {
# inherit inputs outputs;
# };
# };
# "julian@quickstart" = lib.homeManagerConfiguration {
# modules = [
# ./homes/julian/quickstart.nix
# ./homes/julian/hm-standalone-config.nix
# ];
# pkgs = pkgsFor.x86_64-linux;
# extraSpecialArgs = {
# inherit inputs outputs;
# };
# };
# };
# # deploy-rs node configuration # deploy-rs node configuration
# deploy.nodes = { deploy.nodes = {
# # pianonix = { builder = {
# # hostname = "pianonix.local"; hostname = "builder.julian-mutter.de";
# # profiles.system = { profiles.system = {
# # sshUser = "root"; sshUser = "root";
# # user = "root"; user = "root";
# # path = inputs.deploy-rs.lib.aarch64-linux.activate.nixos self.nixosConfigurations.pianonix; path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.builder;
# # confirmTimeout = 90; # default: 30s; raspberrypi takes a little longer restarting services remoteBuild = true;
# # }; };
# # }; };
};
# builder = { };
# hostname = "builder.julian-mutter.de";
# profiles.system = {
# sshUser = "root";
# user = "root";
# path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.builder;
# remoteBuild = true;
# };
# };
# };
# # substitutes: nixos-generate --flake .#pianonix -f sd-aarch64 --system aarch64-linux
# pianonix-image = inputs.nixos-generators.nixosGenerate {
# system = "aarch64-linux";
# format = "sd-aarch64";
# modules = [./hosts/pianonix];
# specialArgs = {
# inherit inputs outputs;
# };
# };
# };
} }
@@ -2,5 +2,6 @@
programs.direnv = { programs.direnv = {
enable = true; enable = true;
nix-direnv.enable = true; nix-direnv.enable = true;
mise.enable = true;
}; };
} }
@@ -41,7 +41,7 @@ in {
sqlite sqlite
# Code formatters for use with doom emacs # Code formatters for use with doom emacs
nixfmt-rfc-style # nix nixfmt # nix
alejandra # nix alejandra # nix
nixd # nix lsp nixd # nix lsp
@@ -5,7 +5,7 @@
}: }:
with lib; { with lib; {
home.file = { home.file = {
".config/starship.toml".source = ./starship.toml; # ".config/starship.toml".source = ./starship.toml;
".config/fish/conf.d/last-working-dir.fish".source = ./last-working-dir.fish; ".config/fish/conf.d/last-working-dir.fish".source = ./last-working-dir.fish;
}; };
@@ -7,6 +7,8 @@ with lib; {
fonts.fontconfig.enable = true; # required to autoload fonts from packages fonts.fontconfig.enable = true; # required to autoload fonts from packages
home.packages = with pkgs; [ home.packages = with pkgs; [
nerd-fonts.fira-code nerd-fonts.fira-code
nerd-fonts.jetbrains-mono
font-awesome font-awesome
dejavu_fonts dejavu_fonts
noto-fonts noto-fonts
@@ -16,5 +18,7 @@ with lib; {
fira-code fira-code
fira-code-symbols fira-code-symbols
source-code-pro source-code-pro
source-sans
roboto
]; ];
} }
@@ -4,12 +4,7 @@
config, config,
lib, lib,
... ...
}: let }: {
inherit
(inputs.nix-colors.colorschemes.${builtins.toString config.colorscheme.name})
palette
;
in {
imports = [ imports = [
# inputs.hyprland.homeManagerModules.default # inputs.hyprland.homeManagerModules.default
./waybar ./waybar
@@ -119,6 +114,8 @@ in {
# } # }
# ); # );
configType = "lua";
systemd = { systemd = {
enable = true; enable = true;
# Same as default, but stop graphical-session too # Same as default, but stop graphical-session too
@@ -183,6 +180,16 @@ in {
}; };
}; };
# Disable animations for selection, fixes screenshots
extraConfig = ''
# layerrule {
# name = no_anim_for_selection
# no_anim = on
# match:namespace = selection
# }
layerrule = noanim, selection
'';
settings = { settings = {
"$mod" = "SUPER"; "$mod" = "SUPER";
@@ -204,9 +211,6 @@ in {
gaps_out = 5; gaps_out = 5;
layout = "dwindle"; layout = "dwindle";
# "col.active_border" = "0xff${palette.base0C} 0xff${palette.base0D} 270deg";
# "col.inactive_border" = "0xff${palette.base00}";
}; };
decoration = { decoration = {
@@ -246,7 +250,7 @@ in {
}; };
exec = [ exec = [
"hyprctl setcursor ${config.gtk.cursorTheme.name} ${toString config.gtk.cursorTheme.size}" # "hyprctl setcursor ${config.gtk.cursorTheme.name} ${toString config.gtk.cursorTheme.size}"
"correct-workspace-locations" "correct-workspace-locations"
]; ];
@@ -435,18 +439,6 @@ in {
"$mod SHIFT,W,exec,${makoctl} restore" "$mod SHIFT,W,exec,${makoctl} restore"
] ]
); );
# plugin = {
# hyprbars = {
# bar_text_size = 10;
# bar_height = 16;
# bar_text_font = "Ubuntu Nerd Font";
# bar_precedence_over_border = true;
# bar_color = "rgb(${palette.base01})";
# hyprbars-button = [ "rgb(${palette.base03}), 14, 󰖭, hyprctl dispatch killactive" ];
# };
# };
}; };
}; };
} }
@@ -0,0 +1,22 @@
{
programs.hyprlock.enable = true;
programs.hyprlock.settings = {
general = {
disable_loading_bar = true;
hide_cursor = true;
ignore_empty_input = true;
};
input-field = [
{
size = "200, 50";
position = "0, -80";
monitor = "";
dots_center = true;
fade_on_empty = false;
outline_thickness = 5;
placeholder_text = "Password...";
}
];
};
}
@@ -0,0 +1,10 @@
{pkgs, ...}: {
home.packages = with pkgs; [libnotify];
services.mako = {
enable = true;
settings = {
defaultTimeout = "5000"; # milliseconds, can be overwritten by notification sender
};
};
}
@@ -31,7 +31,7 @@
in { in {
services.swayidle = { services.swayidle = {
enable = true; enable = true;
systemdTarget = "graphical-session.target"; systemdTargets = ["graphical-session.target"];
timeouts = timeouts =
# Lock screen # Lock screen
[ [
@@ -1,14 +1,7 @@
{ {
config,
pkgs,
...
}: let
inherit (config.colorscheme) colors;
in {
programs.swaylock = { programs.swaylock = {
enable = true; enable = true;
settings = { settings = {
color = "000000";
ignore-empty-password = true; ignore-empty-password = true;
indicator-idle-visible = false; indicator-idle-visible = false;
}; };
@@ -0,0 +1,29 @@
{config, ...}: let
palette = config.lib.stylix.colors;
in {
programs.waybar = {
enable = true;
# systemd.enable = true;
settings.mainBar = builtins.fromJSON (builtins.readFile ./config.json);
};
# xdg.configFile."waybar/style.css".source = ./style.css;
# xdg.configFile."waybar/theme.css".text = ''
# /*
# bg - background
# fg - foreground
# */
# /* Main Colors */
# @define-color background #${palette.base00};
# @define-color foreground #${palette.base05};
# /* Workspace Button Colors */
# @define-color hover-bg #${palette.base01};
# @define-color hover-fg #${palette.base05};
# @define-color active-bg #${palette.base02};
# @define-color active-fg #${palette.base0A};
# @define-color urgent-bg #${palette.base08};
# @define-color urgent-fg #${palette.base00};
# '';
}
@@ -0,0 +1,3 @@
{pkgs, ...}: {
home.packages = with pkgs; [wlogout];
}
@@ -0,0 +1,5 @@
{pkgs, ...}: {
home.packages = with pkgs; [wofi];
xdg.configFile."wofi/config".source = ./config;
}
@@ -22,9 +22,9 @@
# Prevent screen from going blank (check these settings with `xset q`) # Prevent screen from going blank (check these settings with `xset q`)
# And disable bell sound (b) # And disable bell sound (b)
xsession.initExtra = '' xsession.initExtra = ''
${pkgs.xorg.xset}/bin/xset s off ${pkgs.xset}/bin/xset s off
${pkgs.xorg.xset}/bin/xset -dpms ${pkgs.xset}/bin/xset -dpms
${pkgs.xorg.xset}/bin/xset b off ${pkgs.xset}/bin/xset b off
''; '';
xsession.windowManager.i3 = { xsession.windowManager.i3 = {
enable = true; enable = true;
@@ -18,7 +18,7 @@
fd fd
stylua stylua
black black
nixfmt-rfc-style # nixfmt nixfmt # nixfmt
]; ];
programs.nixvim = { programs.nixvim = {
@@ -37,7 +37,7 @@
usbutils # lsusb usbutils # lsusb
wget wget
wireguard-tools # wg-quick wireguard-tools # wg-quick
xorg.xkill xkill
zip zip
dig dig
@@ -1,5 +1,5 @@
{pkgs, ...}: { {pkgs, ...}: {
imports = [../../gtk]; imports = [./stylix.nix];
services.blueman-applet.enable = true; services.blueman-applet.enable = true;
services.nextcloud-client.enable = true; services.nextcloud-client.enable = true;
@@ -39,7 +39,7 @@
# kitty # Terminal, already available as feature # kitty # Terminal, already available as feature
libnotify libnotify
libreoffice libreoffice
mate.engrampa engrampa
nomacs # Image viewer nomacs # Image viewer
kdePackages.okular # Pdf reader with many features, good for commenting documents kdePackages.okular # Pdf reader with many features, good for commenting documents
pavucontrol pavucontrol
@@ -52,12 +52,11 @@
# rustdesk # rustdesk
tor-browser tor-browser
rusty-path-of-building # Path of Building for poe1 and poe2 rusty-path-of-building # Path of Building for poe1 and poe2
# frajul.pob-dev-version # Path of Building
vlc vlc
wineWowPackages.stable # 32-bit and 64-bit wine wineWow64Packages.stable # 32-bit and 64-bit wine
winetricks winetricks
xclip # x11 clipboard access from terminal xclip # x11 clipboard access from terminal
xfce.mousepad # simple text editor mousepad # simple text editor
xournalpp # Edit pdf files xournalpp # Edit pdf files
zoom-us # Video conferencing zoom-us # Video conferencing
zotero # Manage papers and other sources zotero # Manage papers and other sources
@@ -69,6 +68,5 @@
## My scripts ## My scripts
frajul.open-messaging frajul.open-messaging
frajul.xwacomcalibrate frajul.xwacomcalibrate
frajul.pob2-frajul
]; ];
} }
@@ -0,0 +1,10 @@
{
pkgs,
inputs,
...
}: {
imports = [inputs.stylix.homeModules.stylix];
stylix.enable = true;
stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
}
@@ -65,9 +65,13 @@
sops sops
pandoc # markdown preview pandoc # markdown preview
docker-compose docker-compose
mise
mise
## My scripts ## My scripts
frajul.deploy-to-pianopi frajul.deploy-to-pianopi
frajul.smath-studio
# frajul.rtklib # frajul.rtklib
(pkgs.writeShellScriptBin "matlab-rsp" '' (pkgs.writeShellScriptBin "matlab-rsp" ''

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