summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configuration/default.nix21
-rw-r--r--configuration/desktop/default.nix15
-rw-r--r--flake.lock24
-rw-r--r--flake.nix2
-rw-r--r--home-configuration/config/niri/config.kdl1
-rw-r--r--home-configuration/default.nix62
-rw-r--r--home-configuration/managed/fetchit/default.nix19
-rw-r--r--home-configuration/managed/fetchit/init.lua70
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" ];
+ };
+ };
}
diff --git a/flake.lock b/flake.lock
index bbe2f94..fe24391 100644
--- a/flake.lock
+++ b/flake.lock
@@ -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": {
diff --git a/flake.nix b/flake.nix
index 46bbbab..e795f89 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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