finish overhaul

This commit is contained in:
2026-01-28 20:38:31 -06:00
parent 6923095724
commit 5431938cc7
8 changed files with 351 additions and 57 deletions

214
; Normal file
View File

@@ -0,0 +1,214 @@
{pkgs, ...}:
{
services.hyprpolkitagent.enable = true;
wayland.windowManager.hyprland.enable = true;
wayland.windowManager.hyprland.package = null;
wayland.windowManager.hyprland.portalPackage = null;
wayland.windowManager.hyprland.extraConfig = ''
autogenerated = 0 # remove this line to remove the warning
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor = HDMI-A-1, 3840x2160@120, 0x0, auto, bitdepth, 10, sdrsaturation, 1, sdrbrightness, 1
#monitor = HDMI-A-1, disable
monitor = eDP-1, 2560x1600@60, 0x0, 1,
#monitor = sunshine, highres@highrr, 0x0, 1
monitor = DP-1, highres@highrr, 0x0, 1
#monitor = DP-1, highres@highrr, 0x0, 1, bitdepth, 10, cm, hdr, sdrsaturation, 1, sdrbrightness, 1
exec-once = hyprctl dispatch workspace 1
#exec-once = linux-wallpaperengine --screen-root HDMI-A-1 --silent --fps 60 3000562427
exec-once = noctalia-shell& sleep 2 && noctalia-shell ipc call lockScreen lock
exec-once = pw-metadata -n settings 0 clock.force-quantum 2048
# exec-once = ashell
exec-once = systemctl --user start hyprpolkitagent
exec-once = sunshine
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & firefox
debug:full_cm_proto=true
# Set programs that you use
$terminal = kitty -e nu
$fileManager = kitty -e yazi
$menu = noctalia-shell ipc call launcher toggle
$bar = noctalia-shell
# Some default env vars.
env = XCURSOR_SIZE,24
env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
accel_profile = flat
follow_mouse = 1
touchpad {
natural_scroll = yes
tap-to-click = false
drag_3fg = yes
clickfinger_behavior = false
tap-and-drag = no
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
render {
cm_fs_passthrough = false
}
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 5
gaps_out = 5
border_size = 2
layout = dwindle
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false
}
# windowrulev2 = immediate, class:^(cs2)$
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 5
blur {
enabled = yes
size = 5
passes = 3
new_optimizations = on
ignore_opacity = on
xray = false
}
shadow {
enabled = true
offset = 3, 3
color = rgba(323232cc)
}
}
animations {
enabled = yes
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
}
misc {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
force_default_wallpaper = 0 # Set to 0 to disable the anime mascot wallpapers
enable_anr_dialog = 0
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# Window Rules
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Return, exec, $terminal
bind = $mainMod, Q, killactive,
bind = $mainMod, M, exec, noctalia-shell ipc call lockScreen lock
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, Space, exec, $menu
bind = $mainMod, B, exec, zen
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod, F, fullscreen,
bind = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+
bind = , XF86AudioLowerVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%-
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Screen Recording
bind = , code:76, exec, killall -SIGUSR1 gpu-screen-recorder
bind = , code:75, exec, killall -SIGINT gpu-screen-recorder
'';
}

78
flake.lock generated
View File

@@ -203,11 +203,11 @@
]
},
"locked": {
"lastModified": 1769450270,
"narHash": "sha256-pdVm/zJazDUAasTyHFX/Pbrlk9Upjxi0yzgn7GjGe4g=",
"lastModified": 1769638001,
"narHash": "sha256-hGwdJ/+oo+IRo2TiWV/V8BWWptQihcdFV/olTONaHqg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "a10c1e8f5ad2589414407f4851c221cb66270257",
"rev": "bd9f031efc634be4b80c5090b9171cc3a9f8e49c",
"type": "github"
},
"original": {
@@ -218,11 +218,11 @@
},
"master": {
"locked": {
"lastModified": 1769532902,
"narHash": "sha256-Lrm0jum71juDDF6o5mfHrP+laJO6E+rStxy7AG3yi44=",
"lastModified": 1769653599,
"narHash": "sha256-5vhAA3z9xoclOItjwGO2Y5kAHuoqoR37vgC1dg2hzpA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "88097c3e7404a3ac3969c7dff8ef0c5b5dda9362",
"rev": "8b3eae2b799f50c8d6f6eeb4e1fa5d57c9e23473",
"type": "github"
},
"original": {
@@ -235,16 +235,14 @@
"nixos-apple-silicon": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": [
"nixpkgs"
]
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1769126487,
"narHash": "sha256-OA+Qrrf0FWqARjgJASGrPKMUw237G3gYG+MQn4upABU=",
"lastModified": 1769538514,
"narHash": "sha256-/3Hk9YEI+9vA2+4AFErByc1V3LcCDNThmXYhFWlkQiU=",
"owner": "tpwrules",
"repo": "nixos-apple-silicon",
"rev": "003afbd7b4f90c83497906ba2e9099874c2e3a4f",
"rev": "749992a1cd11092ac9eea8a05fb953f591df59db",
"type": "github"
},
"original": {
@@ -255,11 +253,27 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1769170682,
"narHash": "sha256-oMmN1lVQU0F0W2k6OI3bgdzp2YOHWYUAw79qzDSjenU=",
"lastModified": 1768305791,
"narHash": "sha256-AIdl6WAn9aymeaH/NvBj0H9qM+XuAuYbGMZaP0zcXAQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c5296fdd05cfa2c187990dd909864da9658df755",
"rev": "1412caf7bf9e660f2f962917c14b1ea1c3bc695e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1769461804,
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d",
"type": "github"
},
"original": {
@@ -268,7 +282,7 @@
"type": "indirect"
}
},
"nixpkgs_2": {
"nixpkgs_3": {
"locked": {
"lastModified": 1768875095,
"narHash": "sha256-dYP3DjiL7oIiiq3H65tGIXXIT1Waiadmv93JS0sS+8A=",
@@ -287,15 +301,15 @@
"nixvim": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs_3",
"systems": "systems"
},
"locked": {
"lastModified": 1769418848,
"narHash": "sha256-jLSg9IkglcIw64kU1utXxsxXhiVdD45dkh9ZJKaFQ7U=",
"lastModified": 1769644746,
"narHash": "sha256-1X9o0GjCzku03magX4pM+1OZXA0aUTN7KvEReZ9t3OU=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "c19a0517ddeed4c1548611e42e187048fc2e5dcf",
"rev": "3c27e1b35ca0fee6a89bfc20840654361ffe888d",
"type": "github"
},
"original": {
@@ -311,11 +325,11 @@
]
},
"locked": {
"lastModified": 1769531393,
"narHash": "sha256-weMRIp4HHCE3FWHmQcdsRKt0KHTfydnn/YTSVXTcBG8=",
"lastModified": 1769650682,
"narHash": "sha256-Mt8xECOF2IGZlBuwpEb7rqQJSN/b9x8SyGOZe8w9avc=",
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"rev": "cb56fa7089d9c3b8761979624326e21cc0c317b7",
"rev": "11bb2b68f1e998ec762cf3854caf9df18dfb7780",
"type": "github"
},
"original": {
@@ -355,7 +369,7 @@
"home-manager": "home-manager",
"master": "master",
"nixos-apple-silicon": "nixos-apple-silicon",
"nixpkgs": "nixpkgs",
"nixpkgs": "nixpkgs_2",
"nixvim": "nixvim",
"noctalia": "noctalia",
"stylix": "stylix",
@@ -383,15 +397,15 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1769471853,
"narHash": "sha256-aqs0HkV2T/7Syf/pYLRVSwfk23PPAyGJmWT43U5ZSF4=",
"owner": "danth",
"lastModified": 1769610400,
"narHash": "sha256-R9LkpKVxLMr/KV9+N+uP4Jve+LdFsUXMPSS0zlgnWlg=",
"owner": "nix-community",
"repo": "stylix",
"rev": "805fa4262a21ada28cc918fa014359b9b35caea7",
"rev": "477c504322c7df6388d556aac82965ed49072190",
"type": "github"
},
"original": {
"owner": "danth",
"owner": "nix-community",
"repo": "stylix",
"type": "github"
}
@@ -517,11 +531,11 @@
]
},
"locked": {
"lastModified": 1769491693,
"narHash": "sha256-bbqeCDML1yXI6kpy8q8BshKRV1szk3xV0StAbzw4Z+o=",
"lastModified": 1769589275,
"narHash": "sha256-hU6J/bU8mHhJrV/asVDQ9oY7gcH/MMSOGtr4iOYy8lc=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "708e0f10aba5de7d0f55883d06fa08aa6a7cd462",
"rev": "a318ae926a6f96cce4cb8498ad986b33a6d44b21",
"type": "github"
},
"original": {

View File

@@ -4,7 +4,7 @@
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
stylix = {
url = "github:danth/stylix";
url = "github:nix-community/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
zen-browser = {
@@ -24,7 +24,6 @@
};
nixos-apple-silicon = {
url = "github:tpwrules/nixos-apple-silicon";
inputs.nixpkgs.follows = "nixpkgs";
};
astal = {
url = "github:aylur/astal";
@@ -33,6 +32,7 @@
home-manager.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { self, stylix, astal, nixpkgs, home-manager, zen-browser, master, nixos-apple-silicon, nixvim, noctalia,... }@inputs:
let
system = "x86_64-linux";
@@ -60,7 +60,7 @@
];
};
nixos-laptop = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
system = "aarch64-linux";
specialArgs = {inherit nixvim;};
specialArgs.inputs = inputs;
modules = [
@@ -81,5 +81,6 @@
};
};
};
}

View File

@@ -10,15 +10,13 @@
./hardware-configuration.nix
];
powerManagement.enable = true;
hardware.asahi.extractPeripheralFirmware = true;
hardware.asahi.peripheralFirmwareDirectory = ./firmware;
hardware.asahi.enable = true;
hardware.asahi.setupAsahiSound = true;
services.upower.enable = true;
hardware.apple.touchBar.enable = true;
hardware.apple.touchBar.package = pkgs.tiny-dfr;
# Asahi Cachix
nix.settings = {
extra-substituters = [
"https://nixos-apple-silicon.cachix.org"
@@ -26,8 +24,10 @@
extra-trusted-public-keys = [
"nixos-apple-silicon.cachix.org-1:8psDu5SA5dAD7qA0zMy5UT292TxeEPzIz8VVEr2Js20="
];
trusted-users = [ "root" "joshuaelm" ];
};
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = false;
@@ -94,7 +94,6 @@
# Enable Cosmic
services.desktopManager.cosmic.enable = false;
services.displayManager.cosmic-greeter.enable = false;
services.xserver.desktopManager.gnome.enable = false;
services.desktopManager.plasma6.enable = false;
services.displayManager.sddm.enable = false;
services.libinput.enable = true;
@@ -105,7 +104,7 @@
enable = true;
settings = rec {
initial_session = {
command = "${pkgs.hyprland}/bin/Hyprland";
command = "${pkgs.hyprland}/bin/start-hyprland";
user = "joshuaelm";
};
default_session = initial_session;
@@ -178,15 +177,12 @@
programs.kdeconnect.enable = true;
environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
neovim
killall
hypridle
git
bibata-cursors
element-desktop
#inputs.zen-browser.packages."${system}".default
rofi
playerctl
cava

View File

@@ -16,13 +16,10 @@
pkgs.libreoffice
pkgs.adw-gtk3
pkgs.thunderbird
pkgs.xfce.thunar
pkgs.thunar
];
programs.hyprlock.enable = true;
programs.cava.enable = true;
programs.btop.enable = true;
services.hyprpaper.enable = true;
wayland.windowManager.hyprland.enable = true;
#xdg.configFile.hypr.source = ./modules/hypr;

View File

@@ -2,6 +2,7 @@
{
services.hyprpolkitagent.enable = true;
programs.hyprshot.enable = true;
wayland.windowManager.hyprland.enable = true;
wayland.windowManager.hyprland.package = null;
wayland.windowManager.hyprland.portalPackage = null;
@@ -12,12 +13,13 @@
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor = HDMI-A-1, 3840x2160@120, 0x0, auto, bitdepth, 10, sdrsaturation, 1, sdrbrightness, 1
#monitor = HDMI-A-1, disable
monitor = eDP-1, 2560x1600@60, 0x0, 1.6,
#monitor = sunshine, highres@highrr, 0x0, 1
monitor = DP-1, highres@highrr, 0x0, 1
#monitor = DP-1, highres@highrr, 0x0, 1, bitdepth, 10, cm, hdr, sdrsaturation, 1, sdrbrightness, 1
exec-once = hyprctl dispatch workspace 1
#exec-once = linux-wallpaperengine --screen-root HDMI-A-1 --silent --fps 60 3000562427
exec-once = noctalia-shell& sleep 2 && noctalia-shell ipc call lockScreen lock
exec-once = noctalia-shell& sleep 3 && noctalia-shell ipc call lockScreen lock
exec-once = pw-metadata -n settings 0 clock.force-quantum 2048
# exec-once = ashell
exec-once = systemctl --user start hyprpolkitagent
@@ -51,7 +53,11 @@ input {
follow_mouse = 1
touchpad {
natural_scroll = no
natural_scroll = yes
tap-to-click = false
drag_3fg = yes
clickfinger_behavior = yes
tap-and-drag = no
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.

View File

@@ -6,6 +6,8 @@
settings = {
general = {
avatarImage = "/home/joshuaelm/NixOS-configs/pfp.jpg";
shadowOffsetX = 3;
shadowOffsetY = 3;
};
bar = lib.mkForce {
position = "top";
@@ -16,10 +18,10 @@
capsuleOpacity = 1;
backgroundOpacity = 1;
useSeparateOpacity = false;
floating = false;
floating = true;
marginVertical = 4;
marginHorizontal = 4;
outerCorners = true;
marginHorizontal = 18;
outerCorners = false;
exclusive = true;
hideOnOverview = false;
widgets = {
@@ -40,9 +42,18 @@
}
];
right = [
{
id = "AudioVisualizer";
}
{
id = "Tray";
}
{
id = "plugin:screenshot";
}
{
id = "plugin:screen-recorder";
}
{
id = "Volume";
}
@@ -60,6 +71,16 @@
};
appLauncher = {
terminalCommand = "kitty -e";
position = "top-center";
};
sessionMenu = {
position = "top_left";
};
dock = {
enabled = false;
};
osd = {
location = "center_right";
};
location = {
monthBeforeDay = true;
@@ -77,5 +98,39 @@
hideWeatherCityName = false;
};
};
plugins = {
sources = [
{
enabled = true;
name = "Official Noctalia Plugins";
url = "https://github.com/noctalia-dev/noctalia-plugins";
}
];
states = {
screen-recorder = {
enabled = true;
};
fancy-audiovisualizer = {
enabled = true;
};
screenshot = {
enabled = true;
};
kagi-quick-search = {
enabled = true;
};
};
version = "1";
};
pluginSettings = {
screen-recorder = {
videoCodec = "av1";
};
kagi-quick-search = {
kagiSessionToken = "Ub-qBZk0teotZem9-oDpZsvS8B-6Cof9D0Juqexr_Ow.Oi1cHu5d-9o2UupeBO1ndQ_6CsvoFo2lfEWDnxlnqWc";
};
};
};
}

View File

@@ -1,11 +1,9 @@
{ pkgs, ... }:
{
stylix.enable = true;
stylix.polarity = "dark";
stylix.polarity = "light";
#stylix.targets.plymouth.enable = false;
stylix.targets.kitty.enable = true;
stylix.targets.hyprpaper.enable = true;
stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/nord.yaml";
stylix.targets.zen-browser.profileNames = [ "default" ];
stylix.targets.zen-browser.enable = true;
# blue aura house
@@ -32,9 +30,22 @@
};*/
# Icy Mountains with Ocean Night
stylix.image = pkgs.fetchurl {
/*stylix.image = pkgs.fetchurl {
url = "https://gitea.base.jeditemple.com/joshuaelm/Wallpapers/raw/branch/main/generic/Icy%20Mountains%20Blue%20Night.png";
hash = "sha256-X67ljSsASOXIzNti6cMmLYJ5pO14C3tdWmVpZ/n2R6E=";
};*/
# Whale In Coral Reef Ghibli
/*stylix.image = pkgs.fetchurl {
url = "https://gitea.base.jeditemple.com/joshuaelm/Wallpapers/raw/branch/main/generic/89299256_p0.png";
hash = "sha256-OWgf4+fhH4MiRCHp1UC+pVn/XP4A+tkVbizIcjMaXAw=";
};*/
# Girl playing piano in flower field
stylix.image = pkgs.fetchurl {
url = "https://gitea.base.jeditemple.com/joshuaelm/Wallpapers/raw/branch/main/generic/88677104_p0.png";
hash = "sha256-IIKzA4DgWg9P48A+x/vBKjaD7seNBtkh/0wSXY2O3x8=";
};
stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-plateau-light.yaml";
}