niri + noctalia

This commit is contained in:
Joshua Falkenberg
2026-09-11 13:17:53 +02:00
parent 435a535caf
commit ec22c69ea0
7 changed files with 124 additions and 25 deletions
+27 -5
View File
@@ -1,8 +1,8 @@
{
description = "Declarative NixOS desktop configuration";
description = "fe5hua's flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
home-manager = {
url = "github:nix-community/home-manager";
@@ -10,14 +10,30 @@
};
impermanence.url = "github:nix-community/impermanence";
impermanence.inputs.nixpkgs.follows = "nixpkgs";
impermanence.inputs.home-manager.follows = "home-manager";
sops-nix.url = "github:Mic92/sops-nix";
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
disko.url = "github:nix-community/disko";
disko.url = "github:nix-community/disko/latest";
disko.inputs.nixpkgs.follows = "nixpkgs";
noctalia = {
url = "github:noctalia-dev/noctalia";
inputs.nixpkgs.follows = "nixpkgs";
};
niri-flake.url = "github:sodiboo/niri-flake";
noctalia-greeter = {
url = "github:noctalia-dev/noctalia-greeter";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
{
inputs@{
nixpkgs,
home-manager,
impermanence,
@@ -29,17 +45,23 @@
nixosConfigurations.desktop = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit inputs;
};
modules = [
disko.nixosModules.disko
impermanence.nixosModules.impermanence
sops-nix.nixosModules.sops
home-manager.nixosModules.home-manager
inputs.niri-flake.nixosModules.niri
inputs.noctalia.nixosModules.default
inputs.noctalia-greeter.nixosModules.default
./hosts/desktop
./modules/base.nix
./modules/boot.nix
./modules/ephemeral-root.nix
./modules/impermanence.nix
./modules/persistence.nix
./modules/secrets.nix
./modules/desktop.nix
+54 -6
View File
@@ -1,16 +1,64 @@
{ pkgs, ... }:
{ pkgs, inputs, ... }:
{
home.stateVersion = "26.05";
imports = [
inputs.niri-flake.homeModules.niri
inputs.noctalia.homeModules.default
];
programs.home-manager.enable = true;
programs.niri = {
enable = true;
settings = {
layout = {
gaps = 8;
};
};
};
programs.noctalia = {
enable = true;
settings = {
shell.settings_show_advanced = true;
theme = {
mode = "dark";
source = "builtin";
builtin = "Catppuccin";
};
};
};
programs.git = {
enable = true;
userName = "fe5hua";
userEmail = "gitea@fe5hua.de";
};
home.packages = with pkgs; [
age
sops
home.sessionVariables = {
# EDITOR = "vim";
};
home.persistence."/persist" = {
directories = [
"nixos-config"
"Downloads"
"Music"
"Pictures"
"Documents"
"Videos"
"Projects"
# "VirtualBox VMs"
# { directory = ".gnupg"; mode = "0700"; }
# { directory = ".ssh"; mode = "0700"; }
# { directory = ".nixops"; mode = "0700"; }
# { directory = ".local/share/keyrings"; mode = "0700"; }
# ".local/share/direnv"
];
files = [
];
};
home.stateVersion = "26.05";
programs.home-manager.enable = true;
}
+5 -1
View File
@@ -1,4 +1,4 @@
{ config, ... }:
{ config, inputs, ... }:
{
imports = [
@@ -28,6 +28,10 @@
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {
inherit inputs;
};
users.user = import ../../home/user.nix;
};
+15
View File
@@ -23,6 +23,21 @@
wget
htop
tree
age
sops
ghostty
librewolf
nautilus
xdg-utils
xdg-user-dirs
wl-clipboard
grim
slurp
playerctl
brightnessctl
file
unzip
zip
];
programs.git.enable = true;
+22 -2
View File
@@ -1,7 +1,27 @@
{ ... }:
{ pkgs, ... }:
{
hardware.graphics = {
programs.niri = {
enable = true;
settings = {
environment."NIXOS_OZONE_WL" = "1";
};
};
programs.noctalia = {
enable = true;
systemd.enable = false;
recommendedServices.enable = false;
};
programs.noctalia-greeter = {
enable = true;
settings = {
session.default = "niri";
};
};
hardware.graphics.enable = true;
}
-4
View File
@@ -1,4 +0,0 @@
{ ... }:
{
}
-6
View File
@@ -7,12 +7,6 @@
hideMounts = true;
directories = [
{
directory = "/home/user/nixos-config";
user = "user";
group = "users";
}
"/var/lib/nixos"
];