Compare commits

...

5 commits

5 changed files with 48 additions and 16 deletions

6
flake.lock generated
View file

@ -594,11 +594,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1744098102,
"narHash": "sha256-tzCdyIJj9AjysC3OuKA+tMD/kDEDAF9mICPDU7ix0JA=",
"lastModified": 1744932701,
"narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c8cd81426f45942bb2906d5ed2fe21d2f19d95b7",
"rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef",
"type": "github"
},
"original": {

View file

@ -27,17 +27,17 @@ inputs: let
modules = concatLists [
# This is used to pre-emptively set the hostPlatform for nixpkgs.
# Also, we set the system hostname here.
[
# self.nixosModules.user
]
(singleton {
networking.hostName = hostname;
nixpkgs.hostPlatform = system;
})
(flatten (
concatLists [
# configuration for the host, passed as an argument.
(singleton ./${hostname}/default.nix)
# common configuration, which all hosts share.
(singleton ./common.nix)
# Import all files called module.nix from my modules directory.
(
filter (hasSuffix "module.nix") (
map toString (listFilesRecursive ../modules)

View file

@ -4,11 +4,14 @@
pkgs,
...
}: let
cfg = config.modules.services.greetd;
uwsmEnabled = config.modules.services.uwsm.enable;
inherit (lib.meta) getExe;
inherit (lib.modules) mkIf;
inherit (lib.options) mkOption mkEnableOption;
inherit (lib.types) str listOf;
inherit (lib.modules) mkIf;
inherit (config.meta.mainUser) username;
cfg = config.modules.services.greetd;
uwsmEnabled = config.modules.services.uwsm.enable;
in {
options.modules.services.greetd = {
enable = mkEnableOption "greetd";
@ -25,24 +28,31 @@ in {
type = str;
default =
if uwsmEnabled
then "uwsm start Hyprland"
then "${getExe config.programs.uwsm.package} start Hyprland"
else "Hyprland";
};
};
config = mkIf cfg.enable {
services.greetd = {
enable = true;
package = pkgs.greetd;
settings.default_session = {
services.greetd = let
session = {
command = ''
${pkgs.greetd.tuigreet}/bin/tuigreet \
-c \"${cfg.session}\" \
-r
-r
-t --time-format "DD.MM.YYYY"
--asteriks'';
# command = "${getExe config.programs.uwsm.package} start hyprland-uwsm.desktop";
# user = username;
};
in {
enable = true;
package = pkgs.greetd;
vt = 7;
settings = {
default_session = session;
initial_session = session;
};
};
};
}

View file

@ -6,6 +6,17 @@ in {
];
networking = {
enableIPv6 = true;
# INFO: This disables wpa_supplicant,
# I use nenetworkmanager instead.
wireless.enable = false;
dhcpcd = {
# faster boot times
wait = "background";
extraConfig = "noarp";
};
nameservers = [
# quad9 DNS
"9.9.9.9"
@ -14,8 +25,16 @@ in {
};
services.resolved = {
enable = true;
dnssec = "false";
# quad9 dns
fallbackDns = ["9.9.9.9" "2620::fe::fe"];
};
users.users.${username}.extraGroups = ["networkmanager"];
systemd = {
network = {
enable = true;
wait-online.anyInterface = true;
};
};
}

View file

@ -1,15 +1,17 @@
{
config,
lib,
pkgs,
...
}: let
# inherit (config.modules.style) cursor;
inherit (builtins) toString;
in {
programs.hyprland.settings = {
# Hyprland settings
# Programs which get executed at Hyprland start.
exec-once = [
"uwsm finalize"
"hyprctl setcursor BreezeX-RosePine-Linux 32"
"[workspace special:keepassxc; silent;tile] ${pkgs.keepassxc}/bin/keepassxc"
@ -22,6 +24,7 @@ in {
"${pkgs.wlsunset}/bin/wlsunset -S 06:00 -s 20:00"
"${pkgs.lxqt.lxqt-policykit}/bin/lxqt-policykit-agent"
"hyprctl dispatch split-workspace 1"
];
};
}