Manage mimeapps via home-manager
This commit is contained in:
@@ -1,21 +0,0 @@
|
|||||||
[Added Associations]
|
|
||||||
video/x-matroska=vlc.desktop;
|
|
||||||
audio/flac=vlc.desktop;
|
|
||||||
image/jpeg=feh.desktop;
|
|
||||||
video/x-msvideo=vlc.desktop;
|
|
||||||
text/vnd.trolltech.linguist=vlc.desktop;
|
|
||||||
audio/mpeg=vlc.desktop;
|
|
||||||
application/pdf=okularApplication_pdf.desktop;
|
|
||||||
image/png=okularApplication_kimgio.desktop;
|
|
||||||
video/mp4=vlc.desktop;org.gnome.Totem.desktop;
|
|
||||||
x-scheme-handler/magnet=userapp-transmission-gtk-24GQLZ.desktop;
|
|
||||||
element=element-desktop.desktop
|
|
||||||
|
|
||||||
[Default Applications]
|
|
||||||
text/html=google-chrome.desktop
|
|
||||||
x-scheme-handler/http=google-chrome.desktop
|
|
||||||
x-scheme-handler/https=google-chrome.desktop
|
|
||||||
x-scheme-handler/about=google-chrome.desktop
|
|
||||||
x-scheme-handler/unknown=google-chrome.desktop
|
|
||||||
x-scheme-handler/magnet=userapp-transmission-gtk-24GQLZ.desktop
|
|
||||||
x-scheme-handler/element=element-desktop.desktop
|
|
||||||
@@ -5,6 +5,7 @@ makeEnable config "myModules.desktop" true {
|
|||||||
./fonts.nix
|
./fonts.nix
|
||||||
./hyprland.nix
|
./hyprland.nix
|
||||||
./keyd.nix
|
./keyd.nix
|
||||||
|
./xremap.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
@@ -62,6 +63,7 @@ makeEnable config "myModules.desktop" true {
|
|||||||
kdePackages.dolphin
|
kdePackages.dolphin
|
||||||
|
|
||||||
feh
|
feh
|
||||||
|
gthumb
|
||||||
firefox
|
firefox
|
||||||
cheese
|
cheese
|
||||||
kdePackages.kleopatra
|
kdePackages.kleopatra
|
||||||
@@ -82,8 +84,7 @@ makeEnable config "myModules.desktop" true {
|
|||||||
simplescreenrecorder
|
simplescreenrecorder
|
||||||
skippy-xd
|
skippy-xd
|
||||||
synergy
|
synergy
|
||||||
# TODO: reenable
|
transmission_4-gtk
|
||||||
# transmission_3-gtk
|
|
||||||
vlc
|
vlc
|
||||||
thunar
|
thunar
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, lib, nixos, ... }:
|
||||||
{
|
{
|
||||||
# Automatic garbage collection of old home-manager generations
|
# Automatic garbage collection of old home-manager generations
|
||||||
nix.gc = {
|
nix.gc = {
|
||||||
@@ -20,6 +20,38 @@
|
|||||||
static_history = []
|
static_history = []
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
xdg.mimeApps = lib.mkIf nixos.config.myModules.desktop.enable {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
associations.added = {
|
||||||
|
"video/x-matroska" = "vlc.desktop";
|
||||||
|
"audio/flac" = "vlc.desktop";
|
||||||
|
"image/jpeg" = "feh.desktop";
|
||||||
|
"video/x-msvideo" = "vlc.desktop";
|
||||||
|
"text/vnd.trolltech.linguist" = "vlc.desktop";
|
||||||
|
"audio/mpeg" = "vlc.desktop";
|
||||||
|
"application/pdf" = "okularApplication_pdf.desktop";
|
||||||
|
"image/png" = "okularApplication_kimgio.desktop";
|
||||||
|
"video/mp4" = [ "vlc.desktop" "org.gnome.Totem.desktop" ];
|
||||||
|
"x-scheme-handler/magnet" = "userapp-transmission-gtk-24GQLZ.desktop";
|
||||||
|
"element" = "element-desktop.desktop";
|
||||||
|
};
|
||||||
|
|
||||||
|
defaultApplications = {
|
||||||
|
"text/html" = "google-chrome.desktop";
|
||||||
|
"x-scheme-handler/http" = "google-chrome.desktop";
|
||||||
|
"x-scheme-handler/https" = "google-chrome.desktop";
|
||||||
|
"x-scheme-handler/about" = "google-chrome.desktop";
|
||||||
|
"x-scheme-handler/unknown" = "google-chrome.desktop";
|
||||||
|
"x-scheme-handler/magnet" = "userapp-transmission-gtk-24GQLZ.desktop";
|
||||||
|
"x-scheme-handler/element" = "element-desktop.desktop";
|
||||||
|
};
|
||||||
|
|
||||||
|
defaultApplicationPackages = [
|
||||||
|
pkgs.gthumb
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
xsession = {
|
xsession = {
|
||||||
enable = true;
|
enable = true;
|
||||||
preferStatusNotifierItems = true;
|
preferStatusNotifierItems = true;
|
||||||
|
|||||||
32
nixos/xremap.nix
Normal file
32
nixos/xremap.nix
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
{ config, lib, pkgs, makeEnable, ... }:
|
||||||
|
makeEnable config "myModules.xremap" true {
|
||||||
|
hardware.uinput.enable = true;
|
||||||
|
boot.kernelModules = [ "uinput" ];
|
||||||
|
|
||||||
|
services.udev.extraRules = lib.mkAfter ''
|
||||||
|
KERNEL=="uinput", GROUP="input", TAG+="uaccess"
|
||||||
|
'';
|
||||||
|
|
||||||
|
environment.etc."xremap/config.yml".text = ''
|
||||||
|
keymap:
|
||||||
|
- name: Chrome emacs-ish
|
||||||
|
application:
|
||||||
|
only: [Google-chrome, Google-chrome-stable, google-chrome, Chromium, chromium]
|
||||||
|
remap:
|
||||||
|
C-a: Home
|
||||||
|
C-e: End
|
||||||
|
Alt-b: C-Left
|
||||||
|
Alt-f: C-Right
|
||||||
|
'';
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.xremap ];
|
||||||
|
|
||||||
|
systemd.user.services.xremap = {
|
||||||
|
description = "xremap key remapper";
|
||||||
|
wantedBy = [ "default.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = "${pkgs.xremap}/bin/xremap /etc/xremap/config.yml --watch";
|
||||||
|
Restart = "on-failure";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user