diff --git a/modules/applications/nautilus/home.nix b/modules/applications/nautilus/home.nix index d24dd51..0a865f7 100644 --- a/modules/applications/nautilus/home.nix +++ b/modules/applications/nautilus/home.nix @@ -1,8 +1,39 @@ -{ pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: lib.mkIf pkgs.stdenv.hostPlatform.isLinux { home.packages = [ pkgs.nautilus - pkgs.gvfs pkgs.sushi ]; + + dconf.settings = { + "org/gnome/nautilus/preferences" = { + always-use-location-entry = true; + default-folder-viewer = "list-view"; + }; + + "org/gnome/nautilus/list-view".use-tree-view = true; + + # Nautilus 50 migrates this setting from GTK 3 to GTK 4. + "org/gtk/settings/file-chooser".show-hidden = true; + "org/gtk/gtk4/settings/file-chooser".show-hidden = true; + }; + + gtk.gtk3.bookmarks = [ + "file://${config.home.homeDirectory}/Desktop Desktop" + "file://${config.home.homeDirectory}/Pictures Pictures" + "file://${config.home.homeDirectory}/projects projects" + ]; + + home.activation.createProjectsDirectory = { + after = [ "writeBoundary" ]; + before = [ ]; + data = '' + $DRY_RUN_CMD mkdir -p "$HOME/projects" + ''; + }; } diff --git a/modules/applications/noctalia/home.nix b/modules/applications/noctalia/home.nix index 428687b..186b640 100644 --- a/modules/applications/noctalia/home.nix +++ b/modules/applications/noctalia/home.nix @@ -12,25 +12,62 @@ let hash = "sha256-emQ/FqKqMq3YI5bLx8gBZg/ZE72OG9Ilh71ggq78WdQ="; }; + systemWidgets = [ + "network" + "bluetooth" + "network-connection" + "spacer" + "cpu" + "cpu-graph" + "ram" + ]; + centerWidgets = [ + "app-launcher" + "workspaces" + ]; + endWidgets = [ + "notifications" + "tray" + "spacer" + "battery" + "input-volume" + "output-volume" + "privacy" + "brightness" + "clock" + "control-center" + ]; + labwcSettings = lib.recursiveUpdate config.programs.noctalia.settings { - dock = { + bar.main = { position = "bottom"; - icon_size = 32; - main_axis_padding = 10; - cross_axis_padding = 4; - item_spacing = 4; - margin_edge = 0; - radius = 8; - background_opacity = 0.9; - show_running = true; - auto_hide = false; - smart_auto_hide = false; - reserve_space = true; - active_scale = 1.0; - inactive_scale = 1.0; - magnification = false; - show_instance_count = true; - active_monitor_only = false; + thickness = 51; + margin_ends = 0; + start = [ "taskbar" ]; + center = centerWidgets; + end = systemWidgets ++ [ "spacer" ] ++ endWidgets; + }; + + dock = { + enabled = false; + }; + + widget = { + network.show_label = false; + taskbar = { + type = "taskbar"; + pinned = [ + "org.gnome.Nautilus" + "org.gnome.TextEditor" + "com.mitchellh.ghostty" + "google-chrome" + "code" + "dev.zed.Zed" + "codex" + ]; + group_by_workspace = false; + show_window_title = false; + }; }; }; @@ -100,33 +137,13 @@ in bar.main = { margin_ends = 15; position = "top"; - start = [ - "network" - "bluetooth" - "network-connection" - "spacer" - "cpu" - "cpu-graph" - "ram" - ]; - center = [ - "app-launcher" - "workspaces" - ]; + start = systemWidgets; + center = centerWidgets; end = [ "media" "spacer" - "notifications" - "tray" - "spacer" - "battery" - "input-volume" - "output-volume" - "privacy" - "brightness" - "clock" - "control-center" - ]; + ] + ++ endWidgets; }; widget = { diff --git a/modules/hardwares/graphics/home.nix b/modules/hardwares/graphics/home.nix new file mode 100644 index 0000000..ff82ab9 --- /dev/null +++ b/modules/hardwares/graphics/home.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + clinfo + drm_info + libva-utils + mesa-demos + pciutils + vdpauinfo + vulkan-tools + wayland-utils + ]; +} diff --git a/modules/hardwares/nvidia/home.nix b/modules/hardwares/nvidia/home.nix new file mode 100644 index 0000000..60b45c7 --- /dev/null +++ b/modules/hardwares/nvidia/home.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: +{ + home.packages = [ + pkgs.nvtopPackages.nvidia + pkgs.nvitop + ]; +} diff --git a/modules/profiles/interface/cli/home.nix b/modules/profiles/interface/cli/home.nix index be27627..23c4cb1 100644 --- a/modules/profiles/interface/cli/home.nix +++ b/modules/profiles/interface/cli/home.nix @@ -1,22 +1,30 @@ -{ pkgs, ... }: +{ lib, pkgs, ... }: { - home.packages = with pkgs; [ - bat - duf - dust - eza - fd - fastfetch - fzf - htop - jq - nurl - ripgrep - tio - unrar - unzip - wget - ]; + home.packages = + with pkgs; + [ + bat + duf + dust + eza + fd + fastfetch + fzf + htop + jq + lsof + nurl + ripgrep + tio + unrar + unzip + wget + ] + ++ lib.optionals stdenv.isLinux [ + lm_sensors + psmisc + strace + ]; home.activation.generateSshKey = { after = [ "writeBoundary" ]; diff --git a/modules/profiles/interface/linux-desktop/meta.nix b/modules/profiles/interface/linux-desktop/meta.nix index 4b142f6..076a784 100644 --- a/modules/profiles/interface/linux-desktop/meta.nix +++ b/modules/profiles/interface/linux-desktop/meta.nix @@ -8,6 +8,7 @@ "applications.gtk" "applications.nautilus" "hardwares.graphics" + "services.gvfs" "services.polkit-gnome" "systems.audio" "systems.fonts" diff --git a/modules/services/gvfs/meta.nix b/modules/services/gvfs/meta.nix new file mode 100644 index 0000000..a37c492 --- /dev/null +++ b/modules/services/gvfs/meta.nix @@ -0,0 +1,3 @@ +{ + description = "GVfs virtual filesystem service and command-line tools"; +} diff --git a/modules/services/gvfs/nixos.nix b/modules/services/gvfs/nixos.nix new file mode 100644 index 0000000..a17d1e5 --- /dev/null +++ b/modules/services/gvfs/nixos.nix @@ -0,0 +1,6 @@ +{ pkgs, ... }: +{ + services.gvfs.enable = true; + + environment.systemPackages = [ pkgs.glib ]; +}