initial switch for kestrel to gnome without home-manager

This commit is contained in:
Tyler Starr 2024-04-06 12:44:23 -07:00
parent f48e15cf8e
commit b94226b61b
4 changed files with 118 additions and 43 deletions

View File

@ -78,7 +78,8 @@
# Enable modules
modules = {
desktop = {
sway.enable = true;
sway.enable = false;
gnome.enable = true;
browser.enable = true;
};
devel = {

View File

@ -1,4 +1,60 @@
{ ... }:
{ config, lib, pkgs, user, inputs, ... }:
{
imports = [ ./browser.nix ./sway.nix ];
imports = [ ./browser.nix ./gnome.nix ./sway.nix ];
environment.systemPackages = with pkgs; [
bc
fzf
gamemode
discord
inkscape
libreoffice-fresh
xournal
mpv
p7zip
borgbackup
];
# xdg-desktop-portal settings
services.dbus.enable = true;
xdg = {
mime = {
enable = true;
addedAssociations = {
"text/plain" = [ "nvim.desktop" ];
"inode/directory" = [ "pcmanfm.desktop" ];
"text/html" = [ "google-chrome.desktop" ];
"x-scheme-handler/http" = [ "google-chrome.desktop" ];
"x-scheme-handler/https" = [ "google-chrome.desktop" ];
"x-scheme-handler/ftp" = [ "google-chrome.desktop" ];
"x-scheme-handler/chrome" = [ "google-chrome.desktop" ];
"x-scheme-handler/about" = [ "google-chrome.desktop" ];
"x-scheme-handler/unknown" = [ "google-chrome.desktop" ];
"application/x-extension-htm" = [ "google-chrome.desktop" ];
"application/x-extension-html" = [ "google-chrome.desktop" ];
"application/x-extension-shtml" = [ "google-chrome.desktop" ];
"application/xhtml+xml" = [ "google-chrome.desktop" ];
"application/x-extension-xhtml" = [ "google-chrome.desktop" ];
"application/x-extension-xht" = [ "google-chrome.desktop" ];
"application/pdf" = [ "google-chrome.desktop" ];
};
defaultApplications = {
"text/plain" = [ "nvim.desktop" ];
"inode/directory" = [ "pcmanfm.desktop" ];
"text/html" = [ "google-chrome.desktop" ];
"x-scheme-handler/http" = [ "google-chrome.desktop" ];
"x-scheme-handler/https" = [ "google-chrome.desktop" ];
"x-scheme-handler/ftp" = [ "google-chrome.desktop" ];
"x-scheme-handler/chrome" = [ "google-chrome.desktop" ];
"x-scheme-handler/about" = [ "google-chrome.desktop" ];
"x-scheme-handler/unknown" = [ "google-chrome.desktop" ];
"application/x-extension-htm" = [ "google-chrome.desktop" ];
"application/x-extension-html" = [ "google-chrome.desktop" ];
"application/x-extension-shtml" = [ "google-chrome.desktop" ];
"application/xhtml+xml" = [ "google-chrome.desktop" ];
"application/x-extension-xhtml" = [ "google-chrome.desktop" ];
"application/x-extension-xht" = [ "google-chrome.desktop" ];
"application/pdf" = [ "google-chrome.desktop" ]; };
};
};
}

View File

@ -0,0 +1,58 @@
{ config, lib, pkgs, user, ... }:
let cfg = config.modules.desktop.gnome;
in {
#imports = [
# home-manager.nixosModule
#];
options.modules.desktop.gnome = with lib; {
enable = lib.mkEnableOption "gnome";
#privateKeyFile = lib.mkOption { type = with types; str; };
#address = lib.mkOption { type = with types; listOf str; };
#publicKey = lib.mkOption { type = with types; str; };
#endpoint = lib.mkOption { type = with types; str; };
#autostart = lib.mkOption {
# type = with types; bool;
# default = false;
#};
};
config = lib.mkIf cfg.enable {
# Enable wayland gnome
services.xserver = {
enable = true;
displayManager.gdm = {
enable = true;
wayland = true;
};
desktopManager.gnome.enable = true;
};
# Enable sound and handle conflict (https://github.com/Jovian-Experiments/Jovian-NixOS/issues/99)
sound.enable = true;
hardware.pulseaudio.enable = lib.mkForce false;
## GNOME settings through home
#home-manager.users.${user} = {
# dconf.settings = {
# "org/gnome/desktop/background" = {
# picture-options = "centered";
# picture-uri = "file://${../../../resources/img/bulwark.png}";
# picture-uri-dark = "file://${../../../resources/img/bulwark.png}";
# };
# # Enable on-screen keyboard
# "org/gnome/desktop/a11y/applications" = {
# screen-keyboard-enabled = true;
# };
# "org/gnome/shell" = {
# favorite-apps = [
# "steam.desktop"
# "org.gnome.Console.desktop"
# "chromium-browser.desktop"
# ];
# };
# };
#};
};
}

View File

@ -45,22 +45,10 @@ in {
glib # gsettings
dracula-theme # gtk theme
gnome3.adwaita-icon-theme # default gnome cursors
bc
fzf
# From home config
networkmanagerapplet
pcmanfm
gamemode
discord
inkscape
libreoffice-fresh
xournal
mpv
udiskie
p7zip
pavucontrol
borgbackup
waybar
(pkgs.waybar.overrideAttrs (oldAttrs: {
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
@ -70,40 +58,12 @@ in {
inputs.hyprland-contrib.packages.${pkgs.system}.grimblast
];
# xdg-desktop-portal works by exposing a series of D-Bus interfaces
# known as portals under a well-known name
# (org.freedesktop.portal.Desktop) and object path
# (/org/freedesktop/portal/desktop).
# The portal interfaces include APIs for file access, opening URIs,
# printing and others.
services.dbus.enable = true;
xdg = {
portal = {
enable = true;
wlr.enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
};
mime = {
enable = true;
defaultApplications = {
"text/plain" = [ "nvim.desktop" ];
"inode/directory" = [ "pcmanfm.desktop" ];
"text/html" = [ "chromium-browser.desktop" ];
"x-scheme-handler/http" = [ "chromium-browser.desktop" ];
"x-scheme-handler/https" = [ "chromium-browser.desktop" ];
"x-scheme-handler/ftp" = [ "chromium-browser.desktop" ];
"x-scheme-handler/chrome" = [ "chromium-browser.desktop" ];
"x-scheme-handler/about" = [ "chromium-browser.desktop" ];
"x-scheme-handler/unknown" = [ "chromium-browser.desktop" ];
"application/x-extension-htm" = [ "chromium-browser.desktop" ];
"application/x-extension-html" = [ "chromium-browser.desktop" ];
"application/x-extension-shtml" = [ "chromium-browser.desktop" ];
"application/xhtml+xml" = [ "chromium-browser.desktop" ];
"application/x-extension-xhtml" = [ "chromium-browser.desktop" ];
"application/x-extension-xht" = [ "chromium-browser.desktop" ];
"application/pdf" = [ "chromium-browser.desktop" ];
};
};
};
# enable sway window manager