diff --git a/common/desktop.nix b/common/desktop.nix index cf16871..ac6653b 100644 --- a/common/desktop.nix +++ b/common/desktop.nix @@ -15,32 +15,6 @@ in config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ gnome-ssh-askpass4 ]; - # Excluding some GNOME applications from the default install - environment.gnome.excludePackages = ( - with pkgs; - [ - atomix # puzzle game - baobab # disk usage analyzer - cheese # webcam tool - epiphany # web browser - geary # email reader - gnome-clocks - gnome-connections - gnome-disk-utility - gnome-logs - gnome-music - gnome-photos - gnome-terminal - gnome-tour - snapshot - hitori # sudoku game - iagno # go game - simple-scan - tali # poker game - yelp # help viewer - ] - ); - fonts = { fontDir.enable = true; fontconfig = { @@ -76,21 +50,8 @@ in localNetworkGameTransfers.openFirewall = true; }; - services.gnome.gnome-keyring.enable = true; - services.printing.enable = true; - services.displayManager.defaultSession = "gnome"; - - services.xserver = { - enable = true; - displayManager.gdm.enable = true; - displayManager.gdm.autoSuspend = false; - desktopManager.gnome.enable = true; - xkb.layout = "se"; - xkb.variant = "us"; - }; - services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { diff --git a/common/laptop.nix b/common/laptop.nix index 2e0d6da..cbdb8ae 100644 --- a/common/laptop.nix +++ b/common/laptop.nix @@ -12,8 +12,6 @@ in options.patagia.laptop.enable = mkEnableOption "Laptop tools and configuration"; config = mkIf config.patagia.laptop.enable { - environment.systemPackages = with pkgs; [ gnomeExtensions.battery-health-charging ]; - services.fprintd.enable = true; }; } diff --git a/flake.lock b/flake.lock index 7674623..67a082d 100644 --- a/flake.lock +++ b/flake.lock @@ -148,11 +148,11 @@ ] }, "locked": { - "lastModified": 1745810134, - "narHash": "sha256-WfnYH/i7DFzn4SESQfWviXiNUZjohZhzODqLwKYHIPI=", + "lastModified": 1746040799, + "narHash": "sha256-osgPX/SzIpkR50vev/rqoTEAVkEcOWXoQXmbzsaI4KU=", "owner": "nix-community", "repo": "home-manager", - "rev": "be7cf1709b469a2a2c62169172a167d1fed3509f", + "rev": "5f217e5a319f6c186283b530f8c975e66c028433", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1745798752, - "narHash": "sha256-0jiImtQNvlDqf0eWqWFGugNjhazNmaXMi2fM7/B/cd8=", + "lastModified": 1745993004, + "narHash": "sha256-Tz/mPxMwAMghdi3nYnppkl6j3H3LdcdbuvmJyQj11JU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "31a7206bdf9e0c01db2165e20a6082690c60b9c9", + "rev": "5cde8950cf2fa3ef8edf9b0af0e0a020a5318565", "type": "github" }, "original": { @@ -188,11 +188,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1745795730, - "narHash": "sha256-7sPk1jScMqsTwXYYFKYILrE9xLk7CK+yCBqcK46HTv8=", + "lastModified": 1745965750, + "narHash": "sha256-GtRcW1p7hzFu7AK1JXJGY6bG/5Y7vb+1VX8uFGKdefM=", "owner": "neovim", "repo": "neovim", - "rev": "ce097c5091eab3550e1534fd111752577b5813ea", + "rev": "0ab0cdb2dabc551f836851aa85d06e927c42d92a", "type": "github" }, "original": { @@ -208,11 +208,11 @@ ] }, "locked": { - "lastModified": 1745725746, + "lastModified": 1746054057, "narHash": "sha256-iR+idGZJ191cY6NBXyVjh9QH8GVWTkvZw/w+1Igy45A=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "187524713d0d9b2d2c6f688b81835114d4c2a7c6", + "rev": "13ba07d54c6ccc5af30a501df669bf3fe3dd4db8", "type": "github" }, "original": { @@ -223,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1745377448, - "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", + "lastModified": 1745900683, + "narHash": "sha256-ZGi2gjgPtmPmplCVz7dNufqkBr00g6EeAloX3GrFQls=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", + "rev": "ffa0bb043c25cfc79ff3bc20ba2e44c3724499b1", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1745742390, - "narHash": "sha256-1rqa/XPSJqJg21BKWjzJZC7yU0l/YTVtjRi0RJmipus=", + "lastModified": 1745921652, + "narHash": "sha256-hEAvEN+y/OQ7wA7+u3bFJwXSe8yoSf2QaOMH3hyTJTQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "26245db0cb552047418cfcef9a25da91b222d6c7", + "rev": "b000159bba69b0106a42f65e52dbf27f77aca9d3", "type": "github" }, "original": { @@ -255,11 +255,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1745377448, - "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", + "lastModified": 1746029695, + "narHash": "sha256-ucaEphdH+3ANIprXcYiGoXfHGQol3c5G5f99R7RBU58=", "owner": "nixos", "repo": "nixpkgs", - "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", + "rev": "70b191e2e0b1b5fe8586ad939dfa01f3047865f7", "type": "github" }, "original": { @@ -271,11 +271,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1745526057, - "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", + "lastModified": 1745930157, + "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", + "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae", "type": "github" }, "original": { @@ -303,11 +303,11 @@ ] }, "locked": { - "lastModified": 1745780832, - "narHash": "sha256-jGzkZoJWx+nJnPe0Z2xQBUOqMKuR1slVFQrMjFTKgeM=", + "lastModified": 1745929750, + "narHash": "sha256-k5ELLpTwRP/OElcLpNaFWLNf8GRDq4/eHBmFy06gGko=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "b2b6c027d708fbf4b01c9c11f6e80f2800b5a624", + "rev": "82bf32e541b30080d94e46af13d46da0708609ea", "type": "github" }, "original": { diff --git a/home/common/default.nix b/home/common/default.nix index c5112bd..dd870c9 100644 --- a/home/common/default.nix +++ b/home/common/default.nix @@ -6,8 +6,8 @@ ./devel.nix ./fish.nix ./ghostty.nix - ./gnome.nix ./k8s.nix + ./niri.nix ./nix.nix ./nvim ./scripts.nix diff --git a/home/common/gnome.nix b/home/common/gnome.nix deleted file mode 100644 index c2e64a7..0000000 --- a/home/common/gnome.nix +++ /dev/null @@ -1,179 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -with lib.hm.gvariant; -{ - config = lib.mkIf config.patagia.desktop.enable { - home.packages = with pkgs; [ - gnome-contacts - gnome-shell-extensions - gnome-tweaks - gnome-pomodoro - gnomeExtensions.desktop-clock - gnomeExtensions.emoji-copy - gnomeExtensions.just-perfection - gnomeExtensions.night-light-slider - ]; - - dconf.settings = { - "org/gnome/desktop/wm/keybindings" = { - close = [ "<Super>q" ]; - toggle-on-all-workspaces = [ "<Super>s" ]; - toggle-maximized = [ "<Super>m" ]; - maximize-vertically = [ "<Super>Up" ]; - minimize = [ "<Super>comma" ]; - move-to-center = [ "<Super>c" ]; - switch-applications = [ "<Super>Tab" ]; - switch-group = [ "<Super>Above_Tab" ]; - switch-windows = [ "<Alt>Tab" ]; - move-to-workspace-1 = [ "<Shift>F1" ]; - move-to-workspace-2 = [ "<Shift>F2" ]; - move-to-workspace-3 = [ "<Shift>F3" ]; - move-to-workspace-4 = [ "<Shift>F4" ]; - move-to-workspace-5 = [ "<Shift>F5" ]; - move-to-workspace-6 = [ "<Shift>F6" ]; - move-to-workspace-7 = [ "<Shift>F7" ]; - move-to-workspace-8 = [ "<Shift>F8" ]; - move-to-workspace-9 = [ "<Shift>F9" ]; - switch-to-workspace-1 = [ "F1" ]; - switch-to-workspace-2 = [ "F2" ]; - switch-to-workspace-3 = [ "F3" ]; - switch-to-workspace-4 = [ "F4" ]; - switch-to-workspace-5 = [ "F5" ]; - switch-to-workspace-6 = [ "F6" ]; - switch-to-workspace-7 = [ "F7" ]; - switch-to-workspace-8 = [ "F8" ]; - switch-to-workspace-9 = [ "F9" ]; - }; - - "org/gnome/desktop/input-sources" = { - mru-sources = [ - (mkTuple [ - "xkb" - "us" - ]) - ]; - sources = [ - (mkTuple [ - "xkb" - "se+us" - ]) - ]; - xkb-options = [ "caps:ctrl_modifier" ]; - }; - - "org/gnome/desktop/interface" = { - enable-animations = false; - enable-hot-corners = false; - show-battery-percentage = true; - font-name = "Inter Variable 11"; - document-font-name = "Inter Variable 11"; - monospace-font-name = "Berkeley Mono 11"; - toolkit-accessibility = false; - }; - - "org/gnome/desktop/search-providers" = { - disabled = [ - "org.gnome.Contacts.desktop" - "org.gnome.Nautilus.desktop" - "org.gnome.Calendar.desktop" - "org.gnome.clocks.desktop" - "org.gnome.Epiphany.desktop" - ]; - sort-order = [ - "org.gnome.Contacts.desktop" - "org.gnome.Documents.desktop" - "org.gnome.Nautilus.desktop" - "org.gnome.Settings.desktop" - "org.gnome.Calculator.desktop" - "org.gnome.Calendar.desktop" - "org.gnome.clocks.desktop" - "org.gnome.seahorse.Application.desktop" - "org.gnome.Weather.desktop" - "org.gnome.Characters.desktop" - ]; - }; - - "org/gnome/desktop/wm/preferences" = { - focus-mode = "sloppy"; - num-workspaces = 10; - resize-with-right-button = true; - }; - - "org/gnome/GWeather4" = { - temperature-unit = "centigrade"; - }; - - "org/gnome/Weather" = { - locations = [ - (mkVariant (mkTuple [ - (mkUint32 2) - (mkVariant (mkTuple [ - "Stockholm-Arlanda Airport" - "ESSA" - false - [ - (mkTuple [ - 1.0410888988146176 - 0.31328660073298215 - ]) - ] - [ - (mkTuple [ - 1.0410888988146176 - 0.31328660073298215 - ]) - ] - ])) - ])) - ]; - }; - - "org/gnome/desktop/calendar" = { - show-weekdate = true; - }; - - "org/gnome/mutter" = { - center-new-windows = false; - edge-tiling = true; - }; - - "org/gnome/settings-daemon/plugins/color" = { - night-light-schedule-automatic = false; - night-light-schedule-from = 0.0; - night-light-schedule-to = 0.0; - night-light-temperature = mkUint32 3575; - }; - - "org/gnome/shell" = { - enabled-extensions = [ - "emoji-copy@felipeftn" - "just-perfection-desktop@just-perfection" - ]; - }; - - "org/gnome/shell/extensions/emoji-copy" = { - emoji-keybind = [ "<Super>e" ]; - }; - - "org/gnome/shell/extensions/just-perfection" = { - animation = 0; - notification-banner-position = 2; - osd-position = 6; - panel = false; - panel-in-overview = true; - startup-status = 0; - switcher-popup-delay = false; - top-panel-position = 0; - }; - - "org/gnome/tweaks" = { - show-extensions-notice = false; - }; - - }; - }; -} diff --git a/home/common/niri.nix b/home/common/niri.nix new file mode 100644 index 0000000..5d3810a --- /dev/null +++ b/home/common/niri.nix @@ -0,0 +1,64 @@ +{ + user, + lib, + pkgs, + inputs', + ... +}: +{ + programs.niri = { + enable = true; + }; + + services.greetd = { + enable = true; + vt = 2; + settings = rec { + initial_session = { + command = "${lib.getExe pkgs.greetd.tuigreet} --remember --time --cmd ${lib.getExe' pkgs.niri "niri-session"}"; + inherit user; + }; + default_session = initial_session; + }; + }; + + systemd.user = { + services = { + swaybg = { + wantedBy = [ "niri.service" ]; + wants = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + serviceConfig = { + ExecStart = + let + img = pkgs.fetchurl { + url = "https://s3.nyaw.xyz/misskey//92772482-aef9-44e8-b1e2-1d49753a72fc.jpg"; + hash = "sha256-Y9TJ/xQQhqWq3t2wn1gS4NPGpuz1m7nu1ATcWWPKPW8="; + }; + in + "${lib.getExe pkgs.swaybg} -i ${img} -m fill"; + Restart = "on-failure"; + }; + }; + waybar = { + wantedBy = [ "niri.service" ]; + wants = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + # path = [ (lib.makeBinPath [ pkgs.niri ]) ]; + serviceConfig = { + ExecStart = lib.getExe pkgs.waybar; + Restart = "on-failure"; + }; + }; + xwayland-satellite = { + wantedBy = [ "niri.service" ]; + after = [ "graphical-session.target" ]; + wants = [ "graphical-session.target" ]; + serviceConfig = { + ExecStart = lib.getExe pkgs.xwayland-satellite; + Restart = "on-failure"; + }; + }; + }; + }; +}