diff options
| -rw-r--r-- | configuration/default.nix | 21 | ||||
| -rw-r--r-- | configuration/desktop/default.nix | 15 | ||||
| -rw-r--r-- | flake.lock | 24 | ||||
| -rw-r--r-- | flake.nix | 2 | ||||
| -rw-r--r-- | home-configuration/config/niri/config.kdl | 1 | ||||
| -rw-r--r-- | home-configuration/default.nix | 62 | ||||
| -rw-r--r-- | home-configuration/managed/fetchit/default.nix | 19 | ||||
| -rw-r--r-- | home-configuration/managed/fetchit/init.lua | 70 |
8 files changed, 116 insertions, 98 deletions
diff --git a/configuration/default.nix b/configuration/default.nix index e7d2524..5630cf6 100644 --- a/configuration/default.nix +++ b/configuration/default.nix @@ -40,8 +40,22 @@ services.libinput.enable = true; services.openssh.enable = true; services.flatpak.enable = true; + services.gnome.gnome-keyring.enable = true; + + systemd.user.services.polkit-gnome-authentication-agent-1 = { + description = "polkit-gnome-authentication-agent-1"; + wantedBy = [ "graphical-session.target" ]; + wants = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; + Restart = "on-failure"; + RestartSec = 1; + TimeoutStopSec = 10; + }; + }; - xdg.portal.enable = true; programs.nano.enable = false; programs.firefox.enable = true; programs.throne.enable = true; @@ -61,9 +75,9 @@ zmodload zsh/zprof autoload -Uz compinit if [[ -n ~/.zcompdump(#qN.mh+24) ]]; then - compinit + compinit else - compinit -C + compinit -C fi source ${pkgs.zsh-fast-syntax-highlighting}/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh ''; @@ -110,6 +124,7 @@ } ]; security.polkit.enable = true; + security.pam.services.login.enableGnomeKeyring = true; system.stateVersion = "25.11"; nix.settings.experimental-features = [ "nix-command" "flakes" ]; diff --git a/configuration/desktop/default.nix b/configuration/desktop/default.nix index a5f2c5e..4783c4d 100644 --- a/configuration/desktop/default.nix +++ b/configuration/desktop/default.nix @@ -14,4 +14,19 @@ programs.niri.enable = true; programs.niri.useNautilus = true; programs.niri.package = pkgs.niri; + + #xdg-desktop-portal ? + xdg.portal = { + enable = true; + + extraPortals = with pkgs; [ + xdg-desktop-portal-gnome + xdg-desktop-portal-gtk + ]; + + config.niri = { + default = [ "gnome" "gtk" ]; + "org.freedesktop.impl.portal.ScreenCast" = [ "gnome" ]; + }; + }; } @@ -6,17 +6,17 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1787118847, - "narHash": "sha256-OXkCmr9EFKUKi/ouoNPnAcnW3Z4xl59bbIdeZcx2KgQ=", + "lastModified": 1788556344, + "narHash": "sha256-ilSUHXBq2vAi5WDnpUAB0gC7BofmpO4mHXLHnUEvMyI=", "ref": "refs/heads/master", - "rev": "cc5cdb71df3d0e209b6c95c291814a578b54f729", - "revCount": 41, + "rev": "dd025571156ef40443d2b55b823acc21c37f2103", + "revCount": 4, "type": "git", - "url": "https://codeberg.org/coast/fetchit" + "url": "https://git.coasteen.xyz/coast/fetchit.git" }, "original": { "type": "git", - "url": "https://codeberg.org/coast/fetchit" + "url": "https://git.coasteen.xyz/coast/fetchit.git" } }, "flake-utils": { @@ -60,11 +60,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1787070829, - "narHash": "sha256-vXNVDVtvfiQuXthP0NHPFdNvvMTkGpx0UP8oddIWbNk=", + "lastModified": 1788531059, + "narHash": "sha256-hLD4l3QOGBQhkVp3mQ2lJ/YbEi99qUgKapb40KovZ88=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0ae2bc1419c3f345984c2629e72e7a631820fa4d", + "rev": "801bef6abd86b91e51083066b83fb354a11fc640", "type": "github" }, "original": { @@ -76,11 +76,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1788404924, - "narHash": "sha256-lhEhY8X5EgkQ/eg6IFz4cc8jRuSYSvnxx1al7d1dvZ0=", + "lastModified": 1788531059, + "narHash": "sha256-hLD4l3QOGBQhkVp3mQ2lJ/YbEi99qUgKapb40KovZ88=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0968519e14f7aa7d3e9b389682bd74d2b51c8ce8", + "rev": "801bef6abd86b91e51083066b83fb354a11fc640", "type": "github" }, "original": { @@ -4,7 +4,7 @@ nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; home-manager.url = "github:nix-community/home-manager/release-26.05"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; - fetchit.url = "git+https://codeberg.org/coast/fetchit"; + fetchit.url = "git+https://git.coasteen.xyz/coast/fetchit.git"; }; outputs = { self, nixpkgs, home-manager, fetchit, ... }@inputs: { nixosConfigurations.unix = nixpkgs.lib.nixosSystem { diff --git a/home-configuration/config/niri/config.kdl b/home-configuration/config/niri/config.kdl index 7864ed1..b5ad75d 100644 --- a/home-configuration/config/niri/config.kdl +++ b/home-configuration/config/niri/config.kdl @@ -3,6 +3,7 @@ spawn-at-startup "awww-daemon" spawn-at-startup "awww" "img" "/home/coast/Wallpapers/nature2art.png" spawn-sh-at-startup "XDG_DATA_DIRS=/etc/profiles/per-user/coast/share:/run/current-system/sw/share:$HOME/.nix-profile/share:$XDG_DATA_DIRS" spawn-at-startup "qs" +spawn-at-startup "dbus-update-activation-environment" "--systemd" "WAYLAND_DISPLAY" "XDG_CURRENT_DESKTOP" input { mod-key "Super" diff --git a/home-configuration/default.nix b/home-configuration/default.nix index bf496fe..dd4cb3f 100644 --- a/home-configuration/default.nix +++ b/home-configuration/default.nix @@ -4,7 +4,6 @@ let niri = "niri"; alacritty = "alacritty"; rofi = "rofi"; - #waybar = "waybar"; nvim = "nvim"; zathura = "zathura"; quickshell = "quickshell"; @@ -20,19 +19,29 @@ in ./managed/xserver ./managed/fetchit ]; + home.username = "coast"; home.homeDirectory = "/home/coast"; home.stateVersion = "26.05"; home.enableNixpkgsReleaseCheck = false; + + # Forces libadwaita to read dconf directly and safely bypass broken portal lookups + home.sessionVariables = { + ADW_DEBUG_COLOR_SCHEME = "prefer-dark"; + ADW_DISABLE_PORTAL = "1"; + }; + xdg.configFile = builtins.mapAttrs (key: subpath: { source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/Configuration/home-configuration/config/${subpath}"; }) configs; + # Broadcasts dark-mode schema state down to GTK3 & GTK4 applications dconf.settings = { "org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; + gtk-theme = "Adwaita-dark"; }; "org/virt-manager/virt-manager/connections" = { autoconnect = [ "qemu:///system" ]; @@ -40,20 +49,49 @@ in }; }; - gtk.theme = { - name = "Adwaita-dark"; - package = pkgs.gnome-themes-extra; + gtk = { + enable = true; + theme = { + name = "Adwaita-dark"; + package = pkgs.gnome-themes-extra; + }; + gtk3.extraConfig = { + gtk-application-prefer-dark-theme = 1; + }; + gtk4.extraConfig = { + gtk-application-prefer-dark-theme = 1; + }; }; - gtk.enable = true; + systemd.user.sessionVariables = config.home.sessionVariables; - qt.enable = true; - qt.kvantum.enable = true; - qt.kvantum.themes = [ + + # Grants desktop portals capability to Niri session for fallback logic + xdg.portal = { + enable = true; + extraPortals = [ pkgs.xdg-desktop-portal-gnome pkgs.xdg-desktop-portal-gtk ]; + config = { + common = { + default = [ "gnome" "gtk" ]; + }; + }; + }; + + # Fixed syntax for Home Manager's Qt/Kvantum definitions + qt = { + enable = true; + platformTheme.name = "kvantum"; + style.name = "kvantum"; + }; + + home.packages = [ + # Kvantum Themes added safely as packages pkgs.gruvbox-kvantum pkgs.catppuccin-kvantum - ]; - home.packages = [ + pkgs.xdg-desktop-portal-gnome + pkgs.xdg-desktop-portal-gtk + pkgs.glib + pkgs.python3 pkgs.starship pkgs.libarchive @@ -114,6 +152,9 @@ in pkgs.zig ]; + services.polkit-gnome.enable = true; + services.swayidle.enable = true; + systemd.user.services.polkit-gnome-authentication-agent-1 = { Unit = { Description = "polkit-gnome-authentication-agent-1"; @@ -133,3 +174,4 @@ in }; }; } + diff --git a/home-configuration/managed/fetchit/default.nix b/home-configuration/managed/fetchit/default.nix index 65d0592..2065c79 100644 --- a/home-configuration/managed/fetchit/default.nix +++ b/home-configuration/managed/fetchit/default.nix @@ -1,8 +1,23 @@ -{ ... }: +{ inputs, ... }: { + imports = [ inputs.fetchit.homeManagerModules.default ]; + programs.fetchit = { enable = true; - config = builtins.readFile ./init.lua; + logoFileName = "nix.txt"; logo = builtins.readFile ./logos/nix.txt; + + rows = [ + { label = "os"; color = "cyan"; value = ''string.lower(os.name .. " @ " .. kernel.sysname .. " " .. kernel.release)''; } + { label = "wm"; color = "cyan"; value = ''"niri wm (v26.04)"''; } + { label = "res"; color = "cyan"; value = ''"(<)/1920x1080, (>)/1920x1080"''; } + { label = "cpu"; color = "red"; value = ''"ryzen 7 5700g"''; } + { label = "gpu"; color = "red"; value = ''"radeon rx 6800xt"''; } + { label = "ram"; color = "magenta"; value = ''string.format("%.1fgb/%.1fgb (%.1f%%)", memory.used_gb, memory.total_gb, memory.percent)''; } + { label = "disk"; color = "yellow"; value = ''string.format("%.1fgb/%.1fgb", disk.used_gb, disk.total_gb)''; } + { label = "shell"; color = "blue"; value = ''string.lower(shell.name)''; } + { label = "term"; color = "bright_cyan"; value = ''string.lower(terminal.name)''; } + { label = "ip"; color = "red"; value = ''string.lower(run([[ip -4 -o addr show scope global | grep -oE "([0-9]{1,3}.){3}[0-9]{1,3}" | head -1]]))''; } + ]; }; } diff --git a/home-configuration/managed/fetchit/init.lua b/home-configuration/managed/fetchit/init.lua deleted file mode 100644 index cb5c180..0000000 --- a/home-configuration/managed/fetchit/init.lua +++ /dev/null @@ -1,70 +0,0 @@ -local function run(cmd) - local f = io.popen(cmd) - local out = f:read("*a") - f:close() - return out:gsub("%s+$", "") -end - -local use_color = true - -local function c(fn, text) - if use_color then - return fn(text) - end - return text -end - -column_padding = 2 - -local config_dir = os.getenv("HOME") .. "/.config/fetchit" - -local function load_logo(path) - local lines = {} - for line in io.lines(path) do - table.insert(lines, line) - end - return lines -end - -local function colored_logo(path) - local lines = load_logo(path) - local out = {} - for i, line in ipairs(lines) do - out[i] = c(color.blue, line) - end - return out -end - -function fetch() - local ip = run("ip -4 -o addr show scope global | awk '{print $4}' | cut -d/ -f1 | head -1") - local title = user.name .. "@" .. host.name - local sep = string.rep("-", #title) - - local title_out - if use_color then - title_out = color.green(user.name) .. color.bold(color.green("@")) .. color.green(host.name) - else - title_out = user.name .. color.bold(color.blue("@")) .. host.name - end - - return { - columns = { - colored_logo(config_dir .. "/logos/nix.txt"), - { - title_out, - sep, - c(color.cyan, "os: ") .. string.lower(os.name .. " @ " .. kernel.sysname .. " " .. kernel.release), - c(color.cyan, "wm: ") .. "niri wm (v26.04)", - c(color.cyan, "res: ") .. "(<)/1920x1080, (>)/1920x1080", - c(color.red, "cpu: ") .. "ryzen 7 5700g", - c(color.red, "gpu: ") .. "radeon rx 6800xt", - c(color.magenta, "ram: ") .. - string.format("%.1fgb/%.1fgb (%.1f%%)", memory.used_gb, memory.total_gb, memory.percent), - c(color.yellow, "disk: ") .. string.format("%.1fgb/%.1fgb", disk.used_gb, disk.total_gb), - c(color.blue, "shell: ") .. string.lower(shell.name), - c(color.bright_cyan, "term: ") .. string.lower(terminal.name), - c(color.red, "ip: ") .. string.lower(ip), - } - } - } -end |
