trying to get GTK4 apps working

This commit is contained in:
Tyler Mayoff 2025-09-14 22:28:34 -04:00
parent 625725b734
commit e65d7c392e
4 changed files with 82 additions and 26 deletions

View file

@ -22,6 +22,20 @@ in {
wlsunset wlsunset
]; ];
xdg.portal = {
enable = true;
extraPortals = [pkgs.xdg-desktop-portal-gnome pkgs.xdg-desktop-portal-gtk];
# wlr.enable = true;
config = {
niri = {
default = ["gnome" "gtk"];
"org.freedesktop.impl.portal.Access" = ["gtk"];
"org.freedesktop.impl.portal.Notification" = ["gtk"];
"org.freedesktop.impl.portal.Secret" = ["gnome-keyring"];
};
};
};
home.shellAliases = { home.shellAliases = {
restart-shell = "${noctalia} kill && niri msg action spawn -- \"${noctalia}\""; restart-shell = "${noctalia} kill && niri msg action spawn -- \"${noctalia}\"";
}; };
@ -176,11 +190,10 @@ in {
# You can change how the focus ring looks. # You can change how the focus ring looks.
focus-ring = { focus-ring = {
# // Uncomment this line to disable the focus ring. enable = true;
# // off
# // How many logical pixels the ring extends out from the windows. # How many logical pixels the ring extends out from the windows.
# width 4 width = 4;
# // Colors can be set in a variety of ways: # // Colors can be set in a variety of ways:
# // - CSS named colors: "red" # // - CSS named colors: "red"
@ -188,10 +201,10 @@ in {
# // - CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl() and a few others. # // - CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl() and a few others.
# // Color of the ring on the active monitor. # // Color of the ring on the active monitor.
# active-color "#7fc8ff" active.color = "#7fc8ff";
# // Color of the ring on inactive monitors. # // Color of the ring on inactive monitors.
# inactive-color "#505050" inactive.color = "#505050";
# // You can also use gradients. They take precedence over solid colors. # // You can also use gradients. They take precedence over solid colors.
# // Gradients are rendered the same as CSS linear-gradient(angle, from, to). # // Gradients are rendered the same as CSS linear-gradient(angle, from, to).
@ -209,11 +222,9 @@ in {
# // inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view" # // inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
}; };
# // You can also add a border. It's similar to the focus ring, but always visible. # You can also add a border. It's similar to the focus ring, but always visible.
# border { border = {
# // The settings are the same as for the focus ring. enable = false;
# // If you enable the border, you probably want to disable the focus ring.
# off
# width 4 # width 4
# active-color "#ffc87f" # active-color "#ffc87f"
@ -224,7 +235,7 @@ in {
# // active-gradient from="#ffbb66" to="#ffc880" angle=45 relative-to="workspace-view" # // active-gradient from="#ffbb66" to="#ffc880" angle=45 relative-to="workspace-view"
# // inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view" # // inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
# } };
# // You can enable drop shadows for windows. # // You can enable drop shadows for windows.
# shadow { # shadow {
@ -330,7 +341,7 @@ in {
{ {
clip-to-geometry = true; clip-to-geometry = true;
geometry-corner-radius = let geometry-corner-radius = let
r = 20.0; r = 10.0;
in { in {
bottom-left = r; bottom-left = r;
bottom-right = r; bottom-right = r;

View file

@ -1,5 +1,4 @@
{ {
inputs,
outputs, outputs,
pkgs, pkgs,
... ...
@ -13,8 +12,9 @@
../../modules/nixos/gnome.nix ../../modules/nixos/gnome.nix
# ../../modules/nixos/android-studio.nix # ../../modules/nixos/android-studio.nix
# ../../modules/nixos/docker.nix # ../../modules/nixos/docker.nix
../../modules/nixos/podman.nix
inputs.niri.nixosModules.niri ../../modules/nixos/niri.nix
]; ];
nixpkgs = { nixpkgs = {
@ -93,7 +93,7 @@
geoProviderUrl = "https://api.beacondb.net/v1/geolocate"; geoProviderUrl = "https://api.beacondb.net/v1/geolocate";
}; };
services.flatpak.enable = true; # services.flatpak.enable = true;
services.power-profiles-daemon.enable = true; services.power-profiles-daemon.enable = true;
services.logind.lidSwitch = "suspend-then-hibernate"; services.logind.lidSwitch = "suspend-then-hibernate";
@ -124,6 +124,8 @@
# jetbrains.rider # jetbrains.rider
pre-commit pre-commit
unstable.vivaldi
]; ];
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
@ -135,9 +137,6 @@
services.desktopManager.cosmic.enable = true; services.desktopManager.cosmic.enable = true;
programs.niri.enable = true;
programs.niri.package = pkgs.niri-unstable;
# Install firefox. # Install firefox.
programs.firefox.enable = true; programs.firefox.enable = true;

View file

@ -0,0 +1,30 @@
{
inputs,
pkgs,
...
}: {
imports = [
inputs.niri.nixosModules.niri
];
niri-flake.cache.enable = true;
programs.niri.enable = true;
# programs.niri.package = pkgs.niri-unstable;
xdg.portal = {
enable = true;
extraPortals = [pkgs.xdg-desktop-portal-gnome pkgs.xdg-desktop-portal-gtk];
wlr.enable = true;
config = {
sway = {
default = ["gtk"];
};
niri = {
default = ["gnome" "gtk"];
"org.freedesktop.impl.portal.Access" = ["gtk"];
"org.freedesktop.impl.portal.Notification" = ["gtk"];
"org.freedesktop.impl.portal.Secret" = ["gnome-keyring"];
};
};
};
}

View file

@ -0,0 +1,16 @@
{pkgs, ...}: {
virtualisation.containers.enable = true;
virtualisation = {
podman = {
enable = true;
dockerCompat = true;
};
};
environment.systemPackages = with pkgs; [
dive
podman-tui
podman-compose
];
}