Mime types + move some packages around
This commit is contained in:
@ -28,7 +28,7 @@ rec {
|
||||
../modules
|
||||
|
||||
# inputs.nixvim.homeManagerModules.nixvim
|
||||
# inputs.hyprland.homeManagerModules.default # NOTE: Use System module, this one doesn't (can't) add the SDDM entry
|
||||
# inputs.hyprland.homeManagerModules.default
|
||||
];
|
||||
|
||||
modules = {
|
||||
@ -264,7 +264,6 @@ rec {
|
||||
# exa # ls in cool (enabled as program)
|
||||
# delta # diffier diff differ (enabled as program)
|
||||
# fzf # fuzzy find (enabled as program in fish module)
|
||||
procs # Better ps
|
||||
tokei # Text file statistics in a project
|
||||
rsync # cp on steroids
|
||||
rclone # Rsync for cloud
|
||||
@ -291,7 +290,6 @@ rec {
|
||||
lazygit # can always use another git client
|
||||
geteltorito # extreact boot image from iso
|
||||
gitbatch # overview over multiple repos
|
||||
mprocs # run multiple processes in single terminal window, screen alternative
|
||||
# TODO: Maybe general document/typesetting module?
|
||||
graphviz # generate graphs from code
|
||||
xdot # .dot file viewer
|
||||
@ -307,14 +305,13 @@ rec {
|
||||
# TODO: Programming languages module
|
||||
alejandra # nix code formatter
|
||||
nil # nix language server
|
||||
parted # partition manager
|
||||
libnotify
|
||||
procps # pgrep, pkill
|
||||
inotifyTools # inotifywait etc.
|
||||
atool # Archive preview
|
||||
ffmpegthumbnailer # Video thumbnails
|
||||
mediainfo
|
||||
tree # Folder preview
|
||||
# gnome.zenity # Popups from terminal
|
||||
|
||||
# Xooooorg/Desktop environment stuff
|
||||
# xclip
|
||||
|
@ -74,7 +74,7 @@ in {
|
||||
};
|
||||
|
||||
# Polkit
|
||||
home.file.".config/hypr/polkit.conf".text = ''exec-once = ${pkgs.libsForQt5.polkit-kde-agent}/libexec/polkit-kde-agent-1 &'';
|
||||
home.file.".config/hypr/polkit.conf".text = ''exec-once = ${pkgs.libsForQt5.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1'';
|
||||
|
||||
home.file.".config/hypr/waybar-reload.conf".text = let
|
||||
waybar-reload = pkgs.writeScript "waybar-reload" ''
|
||||
@ -122,9 +122,10 @@ in {
|
||||
clipman # Clipboard manager (wl-paste)
|
||||
|
||||
imv # Image viewer
|
||||
moc # Audio player
|
||||
ncpamixer # ncurses pavucontrol
|
||||
slurp # Region selector for screensharing
|
||||
grim # Grab images from compositor
|
||||
ncpamixer # ncurses pavucontrol
|
||||
|
||||
xfce.thunar
|
||||
xfce.tumbler # Thunar thumbnails
|
||||
@ -145,9 +146,10 @@ in {
|
||||
plugins = [
|
||||
pkgs.keepmenu # TODO: Rofi KeepassXC frontend
|
||||
];
|
||||
terminal = "${pkgs.kitty}/bin/kitty";
|
||||
|
||||
font = "JetBrains Mono 14";
|
||||
|
||||
# NOTE: Don't use this, use the configfile for hot-reload
|
||||
# terminal = "${pkgs.kitty}/bin/kitty";
|
||||
# font = "JetBrains Mono 14";
|
||||
# theme =
|
||||
# extraConfig = '''';
|
||||
};
|
||||
|
@ -243,6 +243,7 @@
|
||||
|
||||
trustedInterfaces = [
|
||||
"podman0"
|
||||
"docker0"
|
||||
];
|
||||
|
||||
allowedTCPPorts = [
|
||||
@ -297,20 +298,93 @@
|
||||
};
|
||||
|
||||
# XDG
|
||||
# NOTE: I think only the fitting portal is required
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [
|
||||
# xdg-desktop-portal-wlr # For wlroots based desktops
|
||||
# xdg-desktop-portal-hyprland # Already enabled by hyprland system module
|
||||
# xdg-desktop-portal-kde
|
||||
# xdg-desktop-portal-gtk # TODO: Keep for GTK apps? E.g. for font antialiasing?
|
||||
xdg-desktop-portal-gtk # TODO: Keep for GTK apps? E.g. for font antialiasing? Might be required for flatpak GTK apps?
|
||||
# xdg-desktop-portal-gnome # Gnome
|
||||
xdg-desktop-portal-termfilechooser # Filepicker using nnn
|
||||
# xdg-desktop-portal-termfilechooser # Filepicker using nnn
|
||||
];
|
||||
# gtkUsePortal = true; # Deprecated, don't use (gdm takes ages to load and other fishy stuff)
|
||||
};
|
||||
|
||||
# See https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
|
||||
xdg.mime = {
|
||||
enable = true;
|
||||
|
||||
# TODO: This stuff depends on the used desktop...should I use a complementary system module for each DE?
|
||||
addedAssociations = {
|
||||
"application/pdf" = "zathura.desktop";
|
||||
"application/x-sh" = "helix.desktop";
|
||||
"application/xhtml+xml" = "helix.desktop";
|
||||
"application/xml" = "helix.desktop";
|
||||
|
||||
"image/bmp" = "imv.desktop";
|
||||
"image/jpeg" = "imv.desktop";
|
||||
"image/png" = "imv.desktop";
|
||||
"image/svg+xml" = "imv.desktop";
|
||||
"image/tiff" = "imv.desktop";
|
||||
"image/webp" = "imv.desktop";
|
||||
|
||||
"video/mp2t" = "mpv.desktop";
|
||||
"video/mp4" = "mpv.desktop";
|
||||
"video/mpeg" = "mpv.desktop";
|
||||
"video/ogg" = "mpv.desktop";
|
||||
"video/webm" = "mpv.desktop";
|
||||
"video/x-msvideo" = "mpv.desktop";
|
||||
|
||||
"text/css" = "helix.desktop";
|
||||
"text/csv" = "helix.desktop";
|
||||
"text/javascript" = "helix.desktop";
|
||||
"text/json" = "helix.desktop";
|
||||
"text/plain" = "helix.desktop";
|
||||
"text/xml" = "helix.desktop";
|
||||
|
||||
"audio/mpeg" = "moc.desktop";
|
||||
"audio/ogg" = "moc.desktop";
|
||||
"audio/opus" = "moc.desktop";
|
||||
"audio/wav" = "moc.desktop";
|
||||
"audio/webm" = "moc.desktop";
|
||||
};
|
||||
|
||||
defaultApplications = {
|
||||
"application/pdf" = "zathura.desktop";
|
||||
"application/x-sh" = "helix.desktop";
|
||||
"application/xhtml+xml" = "helix.desktop";
|
||||
"application/xml" = "helix.desktop";
|
||||
|
||||
"image/bmp" = "imv.desktop";
|
||||
"image/jpeg" = "imv.desktop";
|
||||
"image/png" = "imv.desktop";
|
||||
"image/svg+xml" = "imv.desktop";
|
||||
"image/tiff" = "imv.desktop";
|
||||
"image/webp" = "imv.desktop";
|
||||
|
||||
"video/mp2t" = "mpv.desktop";
|
||||
"video/mp4" = "mpv.desktop";
|
||||
"video/mpeg" = "mpv.desktop";
|
||||
"video/ogg" = "mpv.desktop";
|
||||
"video/webm" = "mpv.desktop";
|
||||
"video/x-msvideo" = "mpv.desktop";
|
||||
|
||||
"text/css" = "helix.desktop";
|
||||
"text/csv" = "helix.desktop";
|
||||
"text/javascript" = "helix.desktop";
|
||||
"text/json" = "helix.desktop";
|
||||
"text/plain" = "helix.desktop";
|
||||
"text/xml" = "helix.desktop";
|
||||
|
||||
"audio/mpeg" = "moc.desktop";
|
||||
"audio/ogg" = "moc.desktop";
|
||||
"audio/opus" = "moc.desktop";
|
||||
"audio/wav" = "moc.desktop";
|
||||
"audio/webm" = "moc.desktop";
|
||||
};
|
||||
};
|
||||
|
||||
# Enable sound with pipewire.
|
||||
sound.enable = false; # Alsa, seems to conflict with PipeWire
|
||||
hardware.pulseaudio.enable = false; # Get off my lawn
|
||||
@ -397,7 +471,7 @@
|
||||
];
|
||||
shell = pkgs.fish; # TODO: Is this needed if programs.fish.enable = true?
|
||||
# We do this with HomeManager
|
||||
packages = with pkgs; [];
|
||||
# packages = with pkgs; [];
|
||||
};
|
||||
|
||||
# Generate a list of installed system packages in /etc/current-system-packages
|
||||
@ -411,9 +485,13 @@
|
||||
# We want these packages to be available even when no user profile is active
|
||||
# Empty since we basically only need git + editor which is enabled below
|
||||
environment.systemPackages = with pkgs; [
|
||||
killall
|
||||
wireguard-tools
|
||||
iw
|
||||
mprocs # run multiple processes in single terminal window, screen alternative
|
||||
parted # partition manager
|
||||
procs # Better ps
|
||||
procps # pgrep, pkill
|
||||
slirp4netns # user network namespaces
|
||||
wireguard-tools
|
||||
];
|
||||
|
||||
# NOTE: Gnome
|
||||
@ -500,19 +578,25 @@
|
||||
docker = {
|
||||
enable = false;
|
||||
autoPrune.enable = true;
|
||||
|
||||
rootless = {
|
||||
enable = true;
|
||||
setSocketVariable = true;
|
||||
};
|
||||
};
|
||||
|
||||
podman = {
|
||||
enable = true;
|
||||
autoPrune.enable = true;
|
||||
dockerCompat = true;
|
||||
dockerSocket.enable = true;
|
||||
defaultNetwork.settings.dns_enabled = true;
|
||||
|
||||
extraPackages = with pkgs; [];
|
||||
# extraPackages = with pkgs; [];
|
||||
};
|
||||
|
||||
# TODO: This (or even single containers) should have their own system modules
|
||||
oci-containers.backend = "podman";
|
||||
oci-containers.backend = "podman"; # "docker" or "podman"
|
||||
oci-containers.containers = {
|
||||
jellyfin = {
|
||||
image = "linuxserver/jellyfin";
|
||||
|
Reference in New Issue
Block a user