Thalia config lookin' good

This commit is contained in:
installer 2025-01-24 08:06:19 +00:00
parent 3aeb697621
commit 8be9f516c0
16 changed files with 1049 additions and 454 deletions

1099
flake.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -131,7 +131,7 @@
flake = false; flake = false;
}; };
lightly.url = "github:Bali10050/Darkly"; lightly.url = "github:Bali10050/Darkly";
#stylix.url = "github:danth/stylix"; stylix.url = "github:danth/stylix";
hyprland.url = "github:hyprwm/Hyprland"; hyprland.url = "github:hyprwm/Hyprland";
@ -182,6 +182,56 @@
inputs.quadlet-nix.nixosModules.quadlet inputs.quadlet-nix.nixosModules.quadlet
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
inputs.ucodenix.nixosModules.default inputs.ucodenix.nixosModules.default
inputs.stylix.nixosModules.stylix
home-manager.nixosModules.home-manager
{
home-manager = {
backupFileExtension = "hmbak";
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {
inherit inputs vars username;
};
sharedModules = with inputs; [
catppuccin.homeManagerModules.catppuccin
nix-flatpak.homeManagerModules.nix-flatpak
nix-index-database.hmModules.nix-index
nixvim.homeManagerModules.nixvim
nur.modules.homeManager.default
quadlet-nix.homeManagerModules.quadlet
nvf.homeManagerModules.default
sops-nix.homeManagerModules.sops
wayland-pipewire-idle-inhibit.homeModules.default
];
};
}
];
};
# Desktop
orion = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit inputs username;
vars = vars;
};
modules = [
./hosts/orion
inputs.catppuccin.nixosModules.catppuccin
# inputs.chaotic.nixosModules.default
# inputs.disko.nixosModules.disko
# ./hosts/desktop/disko.nix
# { _module.args.disks = [ "/dev/disk/by-id/nvme-CT2000T700SSD3_2413E8A197BB" ]; }
#inputs.lanzaboote.nixosModules.lanzaboote
inputs.stylix.nixosModules.stylix
inputs.nix-flatpak.nixosModules.nix-flatpak
inputs.nur.modules.nixos.default
inputs.quadlet-nix.nixosModules.quadlet
inputs.sops-nix.nixosModules.sops
inputs.ucodenix.nixosModules.default
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
home-manager = { home-manager = {

View File

@ -23,7 +23,7 @@
unfree.enable = true; unfree.enable = true;
desktop.enable = true; desktop.enable = true;
desktop.hostMonitorSettings = " desktop.hostMonitorSettings = "
monitor = , preferred, auto, 1 monitor = desc:Samsung Display Corp. ATNA40CU05-0, 2880x1800@120, auto, 1.5
"; ";
# gaming.enable = true; # gaming.enable = true;
@ -73,7 +73,7 @@
}; };
networking = { networking = {
hostName = "thalia-dev"; hostName = "orion";
wireless.enable = false; wireless.enable = false;
}; };

View File

@ -1,39 +1,35 @@
# Do not modify this file! It was generated by `nixos-generate-config` # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: { config, lib, pkgs, modulesPath, ... }:
{ {
imports = imports = [ ];
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "sd_mod" ]; boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "usbhid" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" =
{ device = "/dev/disk/by-uuid/a6b7a6ac-63c2-445b-99c9-7bcf28f2bfb3"; { device = "/dev/disk/by-uuid/6363f954-0b9a-4a3e-86d4-f28b438d2f15";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/09B6-4C96"; { device = "/dev/disk/by-uuid/58E9-3CF0";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
}; };
swapDevices = swapDevices = [ ];
[ { device = "/dev/disk/by-uuid/78e92e55-980d-4219-8da8-a55872e0ea63"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction # still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true; networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp8s0.useDHCP = lib.mkDefault true; # networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
} }

View File

@ -11,6 +11,10 @@ let
in in
with lib; with lib;
{ {
imports = [
./waybar.nix
];
home-manager.users.${username}.wayland.windowManager.hyprland = { home-manager.users.${username}.wayland.windowManager.hyprland = {
enable = true; enable = true;
xwayland.enable = true; xwayland.enable = true;

View File

@ -0,0 +1,277 @@
{
pkgs,
lib,
username,
config,
...
}:
let
betterTransition = "all 0.3s cubic-bezier(.55,-0.68,.48,1.682)";
clock24h = false;
in
with lib;
{
# Configure & Theme Waybar
home-manager.users.${username}.programs.waybar = {
enable = true;
package = pkgs.waybar;
settings = [
{
layer = "top";
position = "top";
modules-center = [ "hyprland/workspaces" ];
modules-left = [
"custom/startmenu"
"hyprland/window"
"pulseaudio"
"cpu"
"memory"
"idle_inhibitor"
];
modules-right = [
"custom/hyprbindings"
"custom/notification"
"custom/exit"
"battery"
"tray"
"clock"
];
"hyprland/workspaces" = {
format = "{name}";
format-icons = {
default = " ";
active = " ";
urgent = " ";
};
on-scroll-up = "hyprctl dispatch workspace e+1";
on-scroll-down = "hyprctl dispatch workspace e-1";
};
"clock" = {
format = if clock24h == true then '' {:L%H:%M}'' else '' {:L%I:%M %p}'';
tooltip = true;
tooltip-format = "<big>{:%A, %d.%B %Y }</big>\n<tt><small>{calendar}</small></tt>";
};
"hyprland/window" = {
max-length = 22;
separate-outputs = false;
rewrite = {
"" = " 🙈 No Windows? ";
};
};
"memory" = {
interval = 5;
format = " {}%";
tooltip = true;
};
"cpu" = {
interval = 5;
format = " {usage:2}%";
tooltip = true;
};
"disk" = {
format = " {free}";
tooltip = true;
};
"network" = {
format-icons = [
"󰤯"
"󰤟"
"󰤢"
"󰤥"
"󰤨"
];
format-ethernet = " {bandwidthDownOctets}";
format-wifi = "{icon} {signalStrength}%";
format-disconnected = "󰤮";
tooltip = false;
};
"tray" = {
spacing = 12;
};
"pulseaudio" = {
format = "{icon} {volume}% {format_source}";
format-bluetooth = "{volume}% {icon} {format_source}";
format-bluetooth-muted = " {icon} {format_source}";
format-muted = " {format_source}";
format-source = " {volume}%";
format-source-muted = "";
format-icons = {
headphone = "";
hands-free = "";
headset = "";
phone = "";
portable = "";
car = "";
default = [
""
""
""
];
};
on-click = "sleep 0.1 && pavucontrol";
};
"custom/exit" = {
tooltip = false;
format = "";
on-click = "sleep 0.1 && wlogout";
};
"custom/startmenu" = {
tooltip = false;
format = "";
# exec = "rofi -show drun";
on-click = "sleep 0.1 && rofi-launcher";
};
"custom/hyprbindings" = {
tooltip = false;
format = "󱕴";
on-click = "sleep 0.1 && list-hypr-bindings";
};
"idle_inhibitor" = {
format = "{icon}";
format-icons = {
activated = "";
deactivated = "";
};
tooltip = "true";
};
"custom/notification" = {
tooltip = false;
format = "{icon} {}";
format-icons = {
notification = "<span foreground='red'><sup></sup></span>";
none = "";
dnd-notification = "<span foreground='red'><sup></sup></span>";
dnd-none = "";
inhibited-notification = "<span foreground='red'><sup></sup></span>";
inhibited-none = "";
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
dnd-inhibited-none = "";
};
return-type = "json";
exec-if = "which swaync-client";
exec = "swaync-client -swb";
on-click = "sleep 0.1 && task-waybar";
escape = true;
};
"battery" = {
states = {
warning = 30;
critical = 15;
};
format = "{icon} {capacity}%";
format-charging = "󰂄 {capacity}%";
format-plugged = "󱘖 {capacity}%";
format-icons = [
"󰁺"
"󰁻"
"󰁼"
"󰁽"
"󰁾"
"󰁿"
"󰂀"
"󰂁"
"󰂂"
"󰁹"
];
on-click = "";
tooltip = false;
};
}
];
style = concatStrings [
''
* {
font-family: JetBrainsMono Nerd Font Mono;
font-size: 16px;
border-radius: 0px;
border: none;
min-height: 0px;
}
window#waybar {
background: rgba(0,0,0,0);
}
#workspaces {
color: #${config.stylix.base16Scheme.base00};
background: #${config.stylix.base16Scheme.base01};
margin: 4px 4px;
padding: 5px 5px;
border-radius: 16px;
}
#workspaces button {
font-weight: bold;
padding: 0px 5px;
margin: 0px 3px;
border-radius: 16px;
color: #${config.stylix.base16Scheme.base00};
background: linear-gradient(45deg, #${config.stylix.base16Scheme.base08}, #${config.stylix.base16Scheme.base0D});
opacity: 0.5;
transition: ${betterTransition};
}
#workspaces button.active {
font-weight: bold;
padding: 0px 5px;
margin: 0px 3px;
border-radius: 16px;
color: #${config.stylix.base16Scheme.base00};
background: linear-gradient(45deg, #${config.stylix.base16Scheme.base08}, #${config.stylix.base16Scheme.base0D});
transition: ${betterTransition};
opacity: 1.0;
min-width: 40px;
}
#workspaces button:hover {
font-weight: bold;
border-radius: 16px;
color: #${config.stylix.base16Scheme.base00};
background: linear-gradient(45deg, #${config.stylix.base16Scheme.base08}, #${config.stylix.base16Scheme.base0D});
opacity: 0.8;
transition: ${betterTransition};
}
tooltip {
background: #${config.stylix.base16Scheme.base00};
border: 1px solid #${config.stylix.base16Scheme.base08};
border-radius: 12px;
}
tooltip label {
color: #${config.stylix.base16Scheme.base08};
}
#window, #pulseaudio, #cpu, #memory, #idle_inhibitor {
font-weight: bold;
margin: 4px 0px;
margin-left: 7px;
padding: 0px 18px;
background: #${config.stylix.base16Scheme.base04};
color: #${config.stylix.base16Scheme.base00};
border-radius: 24px 10px 24px 10px;
}
#custom-startmenu {
color: #${config.stylix.base16Scheme.base0B};
background: #${config.stylix.base16Scheme.base02};
font-size: 28px;
margin: 0px;
padding: 0px 30px 0px 15px;
border-radius: 0px 0px 40px 0px;
}
#custom-hyprbindings, #network, #battery,
#custom-notification, #tray, #custom-exit {
font-weight: bold;
background: #${config.stylix.base16Scheme.base0F};
color: #${config.stylix.base16Scheme.base00};
margin: 4px 0px;
margin-right: 7px;
border-radius: 10px 24px 10px 24px;
padding: 0px 18px;
}
#clock {
font-weight: bold;
color: #0D0E15;
background: linear-gradient(90deg, #${config.stylix.base16Scheme.base0E}, #${config.stylix.base16Scheme.base0C});
margin: 0px;
padding: 0px 15px 0px 30px;
border-radius: 0px 0px 0px 40px;
}
''
];
};
}

View File

@ -45,7 +45,7 @@
}; };
timeout = 1; timeout = 1;
}; };
plymouth.enable = false; plymouth.enable = true;
supportedFilesystems = [ supportedFilesystems = [
"btrfs" "btrfs"
"cifs" "cifs"

View File

@ -4,7 +4,7 @@
# ./flatpak # ./flatpak
# ./fonts # ./fonts
# ./mounts # ./mounts
# ./networking ./networking
./nix ./nix
# ./nvidia # ./nvidia
# ./pipewire # ./pipewire

View File

@ -0,0 +1,31 @@
{
lib,
config,
username,
...
}:
let
cfg = config.networking;
in
{
options = {
networking = {
enable = lib.mkEnableOption "Enable networking in NixOS and home-manager";
};
};
config = lib.mkIf cfg.enable {
environment = {
systemPackages = [ ];
};
networking = {
extraHosts = ''
10.0.0.24 desktop
'';
networkmanager = {
enable = true;
};
useDHCP = lib.mkDefault true;
wireguard.enable = true;
};
};
}

View File

@ -28,6 +28,11 @@ in
}; };
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
stylix = {
enable = true;
image = ./wallpapers/beautifulmountainscape.jpg;
};
catppuccin = { catppuccin = {
enable = true; enable = true;
accent = "${accent-lower}"; accent = "${accent-lower}";

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

View File

@ -61,7 +61,7 @@ in
# fonts.enable = true; # fonts.enable = true;
# hardening.enable = true; # hardening.enable = true;
# mounts.enable = true; # mounts.enable = true;
# networking.enable = true; networking.enable = true;
nixConfig.enable = true; nixConfig.enable = true;
packages.enable = true; packages.enable = true;
# pipewire.enable = true; # pipewire.enable = true;
@ -119,6 +119,7 @@ in
''; '';
}; };
logrotate.enable = true; logrotate.enable = true;
logrotate.checkConfig = false;
}; };
systemd = { systemd = {