treewide: restructure modules
make every module contain config attribute and if module doesn't use module arguments, don't make it a function
This commit is contained in:
parent
4dab0aff15
commit
27b241adff
10 changed files with 490 additions and 477 deletions
|
@ -4,44 +4,46 @@
|
|||
imports = [
|
||||
./unstable-packages.nix
|
||||
];
|
||||
users.users.wroclaw = {
|
||||
isNormalUser = true;
|
||||
description = "Rafał";
|
||||
group = "wroclaw";
|
||||
extraGroups = [
|
||||
"users"
|
||||
"wheel"
|
||||
] ++ lib.optional config.programs.adb.enable "adbusers";
|
||||
linger = true;
|
||||
initialPassword = "nixos";
|
||||
packages = with pkgs; [
|
||||
firefox
|
||||
(vivaldi.override {
|
||||
proprietaryCodecs = true;
|
||||
commandLineArgs = [ "--ozone-platform=wayland" ];
|
||||
})
|
||||
vesktop
|
||||
unstablePkgs.vscode
|
||||
gimp
|
||||
inkscape
|
||||
jitsi-meet-electron
|
||||
krita
|
||||
telegram-desktop
|
||||
unstablePkgs.zettlr
|
||||
];
|
||||
};
|
||||
users.groups.wroclaw.gid = 1000;
|
||||
config = {
|
||||
users.users.wroclaw = {
|
||||
isNormalUser = true;
|
||||
description = "Rafał";
|
||||
group = "wroclaw";
|
||||
extraGroups = [
|
||||
"users"
|
||||
"wheel"
|
||||
] ++ lib.optional config.programs.adb.enable "adbusers";
|
||||
linger = true;
|
||||
initialPassword = "nixos";
|
||||
packages = with pkgs; [
|
||||
firefox
|
||||
(vivaldi.override {
|
||||
proprietaryCodecs = true;
|
||||
commandLineArgs = [ "--ozone-platform=wayland" ];
|
||||
})
|
||||
vesktop
|
||||
unstablePkgs.vscode
|
||||
gimp
|
||||
inkscape
|
||||
jitsi-meet-electron
|
||||
krita
|
||||
telegram-desktop
|
||||
unstablePkgs.zettlr
|
||||
];
|
||||
};
|
||||
users.groups.wroclaw.gid = 1000;
|
||||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
};
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
};
|
||||
|
||||
services.syncthing = {
|
||||
enable = true;
|
||||
user = "wroclaw";
|
||||
group = "wroclaw";
|
||||
dataDir = "/home/wroclaw";
|
||||
configDir = "/home/wroclaw/.config/syncthing";
|
||||
services.syncthing = {
|
||||
enable = true;
|
||||
user = "wroclaw";
|
||||
group = "wroclaw";
|
||||
dataDir = "/home/wroclaw";
|
||||
configDir = "/home/wroclaw/.config/syncthing";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
136
nix-os/core.nix
136
nix-os/core.nix
|
@ -10,78 +10,80 @@
|
|||
./module-overrides.nix
|
||||
./nix.nix
|
||||
];
|
||||
config = {
|
||||
|
||||
# kernel
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
# kernel
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
# Enable networking
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nix = {
|
||||
channel.enable = false;
|
||||
settings.experimental-features = [
|
||||
"no-url-literals"
|
||||
];
|
||||
nixPath = [
|
||||
"nixpkgs=${pkgs.selfExpr { useConfig = false; }}"
|
||||
"systemNixpkgs=${pkgs.selfExpr { useConfig = true; name = "systemNixpkgs-self"; }}"
|
||||
# don't garbage collect the nixpkgs input
|
||||
"inputsNixpkgs=${inputs.nixpkgs}"
|
||||
"nixos-system=/etc/nixos/default.nix"
|
||||
];
|
||||
};
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
waypipe
|
||||
wget
|
||||
ffmpeg
|
||||
yt-dlp
|
||||
htop
|
||||
btop
|
||||
fastfetch
|
||||
smartmontools
|
||||
ddrescue
|
||||
];
|
||||
programs.git.enable = true;
|
||||
programs.git.config = {
|
||||
commit.verbose = true;
|
||||
init.defaultBranch = "main";
|
||||
merge.conflictstyle = "diff3";
|
||||
rerere.enabled = true;
|
||||
};
|
||||
|
||||
# Use nix-index for command-not-found handler
|
||||
programs.command-not-found.enable = false;
|
||||
programs.nix-index = {
|
||||
package = pkgs.nix-index.override {
|
||||
nix-index-unwrapped = pkgs.nix-index-unwrapped.overrideAttrs (oldAttrs: {
|
||||
patches = oldAttrs.patches or [] ++ [
|
||||
../pkgs/by-name/ni/nix-index/cnfOutput.patch
|
||||
];
|
||||
});
|
||||
# Enable networking
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nix = {
|
||||
channel.enable = false;
|
||||
settings.experimental-features = [
|
||||
"no-url-literals"
|
||||
];
|
||||
nixPath = [
|
||||
"nixpkgs=${pkgs.selfExpr { useConfig = false; }}"
|
||||
"systemNixpkgs=${pkgs.selfExpr { useConfig = true; name = "systemNixpkgs-self"; }}"
|
||||
# don't garbage collect the nixpkgs input
|
||||
"inputsNixpkgs=${inputs.nixpkgs}"
|
||||
"nixos-system=/etc/nixos/default.nix"
|
||||
];
|
||||
};
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
};
|
||||
|
||||
# Enable fail2ban because of the OpenSSH server
|
||||
services.fail2ban = {
|
||||
enable = true;
|
||||
maxretry = 10;
|
||||
bantime = "7d";
|
||||
};
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
ports = [
|
||||
22
|
||||
8022
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
waypipe
|
||||
wget
|
||||
ffmpeg
|
||||
yt-dlp
|
||||
htop
|
||||
btop
|
||||
fastfetch
|
||||
smartmontools
|
||||
ddrescue
|
||||
];
|
||||
programs.git.enable = true;
|
||||
programs.git.config = {
|
||||
commit.verbose = true;
|
||||
init.defaultBranch = "main";
|
||||
merge.conflictstyle = "diff3";
|
||||
rerere.enabled = true;
|
||||
};
|
||||
|
||||
# Use nix-index for command-not-found handler
|
||||
programs.command-not-found.enable = false;
|
||||
programs.nix-index = {
|
||||
package = pkgs.nix-index.override {
|
||||
nix-index-unwrapped = pkgs.nix-index-unwrapped.overrideAttrs (oldAttrs: {
|
||||
patches = oldAttrs.patches or [] ++ [
|
||||
../pkgs/by-name/ni/nix-index/cnfOutput.patch
|
||||
];
|
||||
});
|
||||
|
||||
};
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
};
|
||||
|
||||
# Enable fail2ban because of the OpenSSH server
|
||||
services.fail2ban = {
|
||||
enable = true;
|
||||
maxretry = 10;
|
||||
bantime = "7d";
|
||||
};
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
ports = [
|
||||
22
|
||||
8022
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,39 +1,41 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
config.virtualisation.docker = {
|
||||
enable = true;
|
||||
enableOnBoot = true;
|
||||
storageDriver = if config.fileSystems."/".fsType == "btrfs" then "btrfs" else null;
|
||||
rootless.enable = true;
|
||||
rootless.setSocketVariable = true;
|
||||
daemon.settings = {
|
||||
default-address-pools = [
|
||||
{base = "10.64.0.0/10"; size = 24;}
|
||||
];
|
||||
bip = "10.127.0.1/16";
|
||||
config = {
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
enableOnBoot = true;
|
||||
storageDriver = if config.fileSystems."/".fsType == "btrfs" then "btrfs" else null;
|
||||
rootless.enable = true;
|
||||
rootless.setSocketVariable = true;
|
||||
daemon.settings = {
|
||||
default-address-pools = [
|
||||
{base = "10.64.0.0/10"; size = 24;}
|
||||
];
|
||||
bip = "10.127.0.1/16";
|
||||
};
|
||||
};
|
||||
users.users.indocker = {
|
||||
isSystemUser = true;
|
||||
hashedPassword = "!";
|
||||
uid = 900;
|
||||
group = "indocker";
|
||||
};
|
||||
users.groups.indocker = {
|
||||
gid = 900;
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
docker-compose
|
||||
];
|
||||
|
||||
# Docker enables firewall anyway, let's enable the firewall for it if it's disabled
|
||||
# TODO: Apply only when config.networking.firewall is false
|
||||
networking.firewall = {
|
||||
enable = lib.mkOverride 90 true;
|
||||
allowedTCPPorts = lib.mkOverride 90 [];
|
||||
allowedUDPPorts = lib.mkOverride 90 [];
|
||||
allowedTCPPortRanges = lib.mkOverride 90 [{ from = 0; to = 65535;}];
|
||||
allowedUDPPortRanges = lib.mkOverride 90 [{ from = 0; to = 65535;}];
|
||||
};
|
||||
};
|
||||
config.users.users.indocker = {
|
||||
isSystemUser = true;
|
||||
hashedPassword = "!";
|
||||
uid = 900;
|
||||
group = "indocker";
|
||||
};
|
||||
config.users.groups.indocker = {
|
||||
gid = 900;
|
||||
};
|
||||
config.environment.systemPackages = with pkgs; [
|
||||
docker-compose
|
||||
];
|
||||
|
||||
# Docker enables firewall anyway, let's enable the firewall for it if it's disabled
|
||||
# TODO: Apply only when config.networking.firewall is false
|
||||
config.networking.firewall = {
|
||||
enable = lib.mkOverride 90 true;
|
||||
allowedTCPPorts = lib.mkOverride 90 [];
|
||||
allowedUDPPorts = lib.mkOverride 90 [];
|
||||
allowedTCPPortRanges = lib.mkOverride 90 [{ from = 0; to = 65535;}];
|
||||
allowedUDPPortRanges = lib.mkOverride 90 [{ from = 0; to = 65535;}];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
config = {
|
||||
# Set your time zone.
|
||||
|
|
|
@ -1,28 +1,30 @@
|
|||
{ config, lib, pkgs, ...}:
|
||||
|
||||
{
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
};
|
||||
|
||||
# Workaround for nvidia driver ghost display
|
||||
boot.kernelParams = [ "nvidia_drm.fbdev=1" ];
|
||||
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
powerManagement.enable = true;
|
||||
open = false;
|
||||
nvidiaSettings = true;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
|
||||
version = "570.133.07";
|
||||
sha256_64bit = "sha256-LUPmTFgb5e9VTemIixqpADfvbUX1QoTT2dztwI3E3CY=";
|
||||
sha256_aarch64 = "sha256-yTovUno/1TkakemRlNpNB91U+V04ACTMwPEhDok7jI0=";
|
||||
openSha256 = "sha256-9l8N83Spj0MccA8+8R1uqiXBS0Ag4JrLPjrU3TaXHnM=";
|
||||
settingsSha256 = "sha256-XMk+FvTlGpMquM8aE8kgYK2PIEszUZD2+Zmj2OpYrzU=";
|
||||
persistencedSha256 = "sha256-G1V7JtHQbfnSRfVjz/LE2fYTlh9okpCbE4dfX9oYSg8=";
|
||||
config = {
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
};
|
||||
|
||||
# Workaround for nvidia driver ghost display
|
||||
boot.kernelParams = [ "nvidia_drm.fbdev=1" ];
|
||||
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
powerManagement.enable = true;
|
||||
open = false;
|
||||
nvidiaSettings = true;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
|
||||
version = "570.133.07";
|
||||
sha256_64bit = "sha256-LUPmTFgb5e9VTemIixqpADfvbUX1QoTT2dztwI3E3CY=";
|
||||
sha256_aarch64 = "sha256-yTovUno/1TkakemRlNpNB91U+V04ACTMwPEhDok7jI0=";
|
||||
openSha256 = "sha256-9l8N83Spj0MccA8+8R1uqiXBS0Ag4JrLPjrU3TaXHnM=";
|
||||
settingsSha256 = "sha256-XMk+FvTlGpMquM8aE8kgYK2PIEszUZD2+Zmj2OpYrzU=";
|
||||
persistencedSha256 = "sha256-G1V7JtHQbfnSRfVjz/LE2fYTlh9okpCbE4dfX9oYSg8=";
|
||||
};
|
||||
};
|
||||
nixpkgs.config.nvidia.acceptLicense = true;
|
||||
};
|
||||
nixpkgs.config.nvidia.acceptLicense = true;
|
||||
}
|
||||
|
|
|
@ -1,44 +1,44 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
security.polkit.extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
polkit.log("action=" + action);
|
||||
polkit.log("subject=" + subject);
|
||||
if (
|
||||
action.id == "org.freedesktop.login1.halt" ||
|
||||
action.id == "org.freedesktop.login1.halt-ignore-inhibit" ||
|
||||
action.id == "org.freedesktop.login1.halt-multiple-sessions" ||
|
||||
action.id == "org.freedesktop.login1.hibernate" ||
|
||||
action.id == "org.freedesktop.login1.hibernate-ignore-inhibit" ||
|
||||
action.id == "org.freedesktop.login1.hibernate-multiple-sessions" ||
|
||||
action.id == "org.freedesktop.login1.inhibit-block-idle" ||
|
||||
action.id == "org.freedesktop.login1.inhibit-block-shutdown" ||
|
||||
action.id == "org.freedesktop.login1.inhibit-block-sleep" ||
|
||||
action.id == "org.freedesktop.login1.inhibit-handle-hibernate-key" ||
|
||||
action.id == "org.freedesktop.login1.inhibit-handle-lid-switch" ||
|
||||
action.id == "org.freedesktop.login1.inhibit-handle-power-key" ||
|
||||
action.id == "org.freedesktop.login1.inhibit-handle-reboot-key" ||
|
||||
action.id == "org.freedesktop.login1.inhibit-handle-suspend-key" ||
|
||||
action.id == "org.freedesktop.login1.power-off" ||
|
||||
action.id == "org.freedesktop.login1.power-off-ignore-inhibit" ||
|
||||
action.id == "org.freedesktop.login1.power-off-multiple-sessions" ||
|
||||
action.id == "org.freedesktop.login1.reboot" ||
|
||||
action.id == "org.freedesktop.login1.reboot-ignore-inhibit" ||
|
||||
action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
|
||||
action.id == "org.freedesktop.login1.set-reboot-parameter" ||
|
||||
action.id == "org.freedesktop.login1.set-reboot-to-boot-loader-entry" ||
|
||||
action.id == "org.freedesktop.login1.set-reboot-to-boot-loader-menu" ||
|
||||
action.id == "org.freedesktop.login1.set-reboot-to-firmware-setup" ||
|
||||
action.id == "org.freedesktop.login1.set-self-linger" ||
|
||||
action.id == "org.freedesktop.login1.set-user-linger" ||
|
||||
action.id == "org.freedesktop.login1.set-wall-message" ||
|
||||
action.id == "org.freedesktop.login1.suspend" ||
|
||||
action.id == "org.freedesktop.login1.suspend-ignore-inhibit" ||
|
||||
action.id == "org.freedesktop.login1.suspend-multiple-sessions"
|
||||
) {
|
||||
return subject.active ? polkit.Result.AUTH_ADMIN : polkit.Result.NO;
|
||||
};
|
||||
});
|
||||
'';
|
||||
config = {
|
||||
security.polkit.extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
polkit.log("action=" + action);
|
||||
polkit.log("subject=" + subject);
|
||||
if (
|
||||
action.id == "org.freedesktop.login1.halt" ||
|
||||
action.id == "org.freedesktop.login1.halt-ignore-inhibit" ||
|
||||
action.id == "org.freedesktop.login1.halt-multiple-sessions" ||
|
||||
action.id == "org.freedesktop.login1.hibernate" ||
|
||||
action.id == "org.freedesktop.login1.hibernate-ignore-inhibit" ||
|
||||
action.id == "org.freedesktop.login1.hibernate-multiple-sessions" ||
|
||||
action.id == "org.freedesktop.login1.inhibit-block-idle" ||
|
||||
action.id == "org.freedesktop.login1.inhibit-block-shutdown" ||
|
||||
action.id == "org.freedesktop.login1.inhibit-block-sleep" ||
|
||||
action.id == "org.freedesktop.login1.inhibit-handle-hibernate-key" ||
|
||||
action.id == "org.freedesktop.login1.inhibit-handle-lid-switch" ||
|
||||
action.id == "org.freedesktop.login1.inhibit-handle-power-key" ||
|
||||
action.id == "org.freedesktop.login1.inhibit-handle-reboot-key" ||
|
||||
action.id == "org.freedesktop.login1.inhibit-handle-suspend-key" ||
|
||||
action.id == "org.freedesktop.login1.power-off" ||
|
||||
action.id == "org.freedesktop.login1.power-off-ignore-inhibit" ||
|
||||
action.id == "org.freedesktop.login1.power-off-multiple-sessions" ||
|
||||
action.id == "org.freedesktop.login1.reboot" ||
|
||||
action.id == "org.freedesktop.login1.reboot-ignore-inhibit" ||
|
||||
action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
|
||||
action.id == "org.freedesktop.login1.set-reboot-parameter" ||
|
||||
action.id == "org.freedesktop.login1.set-reboot-to-boot-loader-entry" ||
|
||||
action.id == "org.freedesktop.login1.set-reboot-to-boot-loader-menu" ||
|
||||
action.id == "org.freedesktop.login1.set-reboot-to-firmware-setup" ||
|
||||
action.id == "org.freedesktop.login1.set-self-linger" ||
|
||||
action.id == "org.freedesktop.login1.set-user-linger" ||
|
||||
action.id == "org.freedesktop.login1.set-wall-message" ||
|
||||
action.id == "org.freedesktop.login1.suspend" ||
|
||||
action.id == "org.freedesktop.login1.suspend-ignore-inhibit" ||
|
||||
action.id == "org.freedesktop.login1.suspend-multiple-sessions"
|
||||
) {
|
||||
return subject.active ? polkit.Result.AUTH_ADMIN : polkit.Result.NO;
|
||||
};
|
||||
});
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -18,29 +18,31 @@
|
|||
})
|
||||
];
|
||||
|
||||
hardware.openrazer = {
|
||||
enable = true;
|
||||
users = [
|
||||
"wroclaw"
|
||||
];
|
||||
# NIXPKGS-PR: 384992
|
||||
packages = let
|
||||
oldVersion = pkgs.python3Packages.openrazer-daemon.version;
|
||||
version = "3.10.1";
|
||||
in lib.mapAttrs (_: package: package.overrideAttrs (oldAttrs: {
|
||||
version = lib.replaceStrings [ oldVersion ] [ version ] oldAttrs.version;
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "openrazer";
|
||||
repo = "openrazer";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-igrGx7Y6ENtZatJCTAW43/0q6ZjljJ9/kU3QFli4yIU=";
|
||||
config = {
|
||||
hardware.openrazer = {
|
||||
enable = true;
|
||||
users = [
|
||||
"wroclaw"
|
||||
];
|
||||
# NIXPKGS-PR: 384992
|
||||
packages = let
|
||||
oldVersion = pkgs.python3Packages.openrazer-daemon.version;
|
||||
version = "3.10.1";
|
||||
in lib.mapAttrs (_: package: package.overrideAttrs (oldAttrs: {
|
||||
version = lib.replaceStrings [ oldVersion ] [ version ] oldAttrs.version;
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "openrazer";
|
||||
repo = "openrazer";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-igrGx7Y6ENtZatJCTAW43/0q6ZjljJ9/kU3QFli4yIU=";
|
||||
};
|
||||
})) {
|
||||
kernel = config.boot.kernelPackages.openrazer;
|
||||
daemon = pkgs.python3Packages.openrazer-daemon;
|
||||
};
|
||||
})) {
|
||||
kernel = config.boot.kernelPackages.openrazer;
|
||||
daemon = pkgs.python3Packages.openrazer-daemon;
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
polychromatic
|
||||
];
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
polychromatic
|
||||
];
|
||||
}
|
||||
|
|
229
nix-os/shell.nix
229
nix-os/shell.nix
|
@ -25,136 +25,139 @@ in
|
|||
imports = [
|
||||
./unstable-packages.nix
|
||||
];
|
||||
environment.systemPackages = with pkgs; [
|
||||
aliasDrag
|
||||
rangerGit
|
||||
ripgrep
|
||||
kitty
|
||||
zoxide
|
||||
];
|
||||
|
||||
programs.bash.shellInit = ''
|
||||
HISTCONTROL=ignoreboth
|
||||
'';
|
||||
config = {
|
||||
environment.systemPackages = with pkgs; [
|
||||
aliasDrag
|
||||
rangerGit
|
||||
ripgrep
|
||||
kitty
|
||||
zoxide
|
||||
];
|
||||
|
||||
programs.bash.interactiveShellInit = ''
|
||||
HISTCONTROL=ignoreboth
|
||||
if test -n "$KITTY_INSTALLATION_DIR"; then
|
||||
export KITTY_SHELL_INTEGRATION="enabled,no-sudo"
|
||||
source "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"
|
||||
fi
|
||||
eval "''$(zoxide init bash)"
|
||||
alias bye=exit
|
||||
'';
|
||||
programs.bash.shellInit = ''
|
||||
HISTCONTROL=ignoreboth
|
||||
'';
|
||||
|
||||
environment.etc."xdg/kitty/kitty.conf".text = ''
|
||||
font_family MesloLGS Nerd Font
|
||||
font_size 10.0
|
||||
scrollback_lines 10000
|
||||
window_border_width 0.5
|
||||
window_padding_width 3
|
||||
${if config.services.xserver.desktopManager.gnome.enable then "hide_window_decorations yes" else ""}
|
||||
background_opacity 0.8
|
||||
dynamic_background_opacity yes
|
||||
programs.bash.interactiveShellInit = ''
|
||||
HISTCONTROL=ignoreboth
|
||||
if test -n "$KITTY_INSTALLATION_DIR"; then
|
||||
export KITTY_SHELL_INTEGRATION="enabled,no-sudo"
|
||||
source "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"
|
||||
fi
|
||||
eval "''$(zoxide init bash)"
|
||||
alias bye=exit
|
||||
'';
|
||||
|
||||
map kitty_mod+alt+c copy_ansi_to_clipboard
|
||||
'';
|
||||
environment.etc."xdg/kitty/kitty.conf".text = ''
|
||||
font_family MesloLGS Nerd Font
|
||||
font_size 10.0
|
||||
scrollback_lines 10000
|
||||
window_border_width 0.5
|
||||
window_padding_width 3
|
||||
${if config.services.xserver.desktopManager.gnome.enable then "hide_window_decorations yes" else ""}
|
||||
background_opacity 0.8
|
||||
dynamic_background_opacity yes
|
||||
|
||||
environment.etc."ranger/rc.conf".text = ''
|
||||
eval import os; fm.set_option_from_string("preview_images", "true") if "KITTY_INSTALLATION_DIR" in os.environ else None;
|
||||
eval import os; fm.set_option_from_string("preview_images_method", "kitty") if "KITTY_INSTALLATION_DIR" in os.environ else None;
|
||||
set vcs_aware true
|
||||
set show_hidden true
|
||||
map kitty_mod+alt+c copy_ansi_to_clipboard
|
||||
'';
|
||||
|
||||
alias drag shell ${pkgs.ripdrag}/bin/ripdrag -Axd %p &
|
||||
map <C-d> drag
|
||||
'';
|
||||
environment.etc."ranger/rc.conf".text = ''
|
||||
eval import os; fm.set_option_from_string("preview_images", "true") if "KITTY_INSTALLATION_DIR" in os.environ else None;
|
||||
eval import os; fm.set_option_from_string("preview_images_method", "kitty") if "KITTY_INSTALLATION_DIR" in os.environ else None;
|
||||
set vcs_aware true
|
||||
set show_hidden true
|
||||
|
||||
environment.etc."ranger/plugins/zoxide.py".source = pkgs.fetchFromGitHub {
|
||||
owner = "jchook";
|
||||
repo = "ranger-zoxide";
|
||||
rev = "281828de060299f73fe0b02fcabf4f2f2bd78ab3";
|
||||
hash = "sha256-JEuyYSVa1NS3aftezEJx/k19lwwzf7XhqBCL0jH6VT4=";
|
||||
} + /__init__.py;
|
||||
alias drag shell ${pkgs.ripdrag}/bin/ripdrag -Axd %p &
|
||||
map <C-d> drag
|
||||
'';
|
||||
|
||||
programs.direnv.enable = true;
|
||||
environment.etc."ranger/plugins/zoxide.py".source = pkgs.fetchFromGitHub {
|
||||
owner = "jchook";
|
||||
repo = "ranger-zoxide";
|
||||
rev = "281828de060299f73fe0b02fcabf4f2f2bd78ab3";
|
||||
hash = "sha256-JEuyYSVa1NS3aftezEJx/k19lwwzf7XhqBCL0jH6VT4=";
|
||||
} + /__init__.py;
|
||||
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
configure = {
|
||||
customRC = ''
|
||||
set number
|
||||
set hlsearch
|
||||
set incsearch
|
||||
set tabstop=4
|
||||
set softtabstop=4
|
||||
set shiftwidth=4
|
||||
set expandtab
|
||||
set autoindent
|
||||
set updatetime=500
|
||||
colorscheme vim
|
||||
programs.direnv.enable = true;
|
||||
|
||||
syntax on
|
||||
set encoding=utf-8
|
||||
set wildmode=longest,list,full
|
||||
set listchars=space:·,tab:┄┄»
|
||||
set indentkeys-=0#
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
configure = {
|
||||
customRC = ''
|
||||
set number
|
||||
set hlsearch
|
||||
set incsearch
|
||||
set tabstop=4
|
||||
set softtabstop=4
|
||||
set shiftwidth=4
|
||||
set expandtab
|
||||
set autoindent
|
||||
set updatetime=500
|
||||
colorscheme vim
|
||||
|
||||
" rainbow-delimeters-nvim
|
||||
let g:rainbow_delimiters = {
|
||||
\ 'strategy': {
|
||||
\ ${"''"}: rainbow_delimiters#strategy.global,
|
||||
\ },
|
||||
\ }
|
||||
syntax on
|
||||
set encoding=utf-8
|
||||
set wildmode=longest,list,full
|
||||
set listchars=space:·,tab:┄┄»
|
||||
set indentkeys-=0#
|
||||
|
||||
" vim-gitguter
|
||||
set signcolumn=yes
|
||||
highlight SignColumn NONE
|
||||
highlight GitGutterAdd ctermfg=2 guifg=#2ea043
|
||||
highlight GitGutterChange ctermfg=4 guifg=#0078d4
|
||||
highlight GitGutterDelete ctermfg=1 guifg=#f85149
|
||||
" rainbow-delimeters-nvim
|
||||
let g:rainbow_delimiters = {
|
||||
\ 'strategy': {
|
||||
\ ${"''"}: rainbow_delimiters#strategy.global,
|
||||
\ },
|
||||
\ }
|
||||
|
||||
lua require('guess-indent').setup {}
|
||||
'';
|
||||
packages.myVimPackage = with pkgs.vimPlugins; {
|
||||
start = [
|
||||
guess-indent-nvim
|
||||
vim-visual-multi
|
||||
autoclose-nvim
|
||||
rainbow-delimiters-nvim
|
||||
vimagit
|
||||
vim-gitgutter
|
||||
];
|
||||
" vim-gitguter
|
||||
set signcolumn=yes
|
||||
highlight SignColumn NONE
|
||||
highlight GitGutterAdd ctermfg=2 guifg=#2ea043
|
||||
highlight GitGutterChange ctermfg=4 guifg=#0078d4
|
||||
highlight GitGutterDelete ctermfg=1 guifg=#f85149
|
||||
|
||||
lua require('guess-indent').setup {}
|
||||
'';
|
||||
packages.myVimPackage = with pkgs.vimPlugins; {
|
||||
start = [
|
||||
guess-indent-nvim
|
||||
vim-visual-multi
|
||||
autoclose-nvim
|
||||
rainbow-delimiters-nvim
|
||||
vimagit
|
||||
vim-gitgutter
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environment.variables = lib.mkIf config.programs.neovim.enable rec {
|
||||
EDITOR = "/run/current-system/sw/bin/nvim";
|
||||
VISUAL = EDITOR;
|
||||
};
|
||||
environment.variables = lib.mkIf config.programs.neovim.enable rec {
|
||||
EDITOR = "/run/current-system/sw/bin/nvim";
|
||||
VISUAL = EDITOR;
|
||||
};
|
||||
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
format = "$all$line_break\${custom.ranger}$jobs$battery$time$status$os$container$shell$character";
|
||||
directory = {
|
||||
truncation_length = 5;
|
||||
truncation_symbol = "…/";
|
||||
};
|
||||
hostname = {
|
||||
ssh_only = false;
|
||||
};
|
||||
username = {
|
||||
show_always = true;
|
||||
};
|
||||
status.disabled = false;
|
||||
custom.ranger = {
|
||||
when = "test $RANGER_LEVEL";
|
||||
command = "echo \"✦\"";
|
||||
style = "bold 208";
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
format = "$all$line_break\${custom.ranger}$jobs$battery$time$status$os$container$shell$character";
|
||||
directory = {
|
||||
truncation_length = 5;
|
||||
truncation_symbol = "…/";
|
||||
};
|
||||
hostname = {
|
||||
ssh_only = false;
|
||||
};
|
||||
username = {
|
||||
show_always = true;
|
||||
};
|
||||
status.disabled = false;
|
||||
custom.ranger = {
|
||||
when = "test $RANGER_LEVEL";
|
||||
command = "echo \"✦\"";
|
||||
style = "bold 208";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -2,15 +2,17 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
#virtualisation.waydroid.enable = true;
|
||||
programs.virt-manager.enable = true;
|
||||
virtualisation.libvirtd = {
|
||||
enable = true;
|
||||
qemu.ovmf = {
|
||||
config = {
|
||||
#virtualisation.waydroid.enable = true;
|
||||
programs.virt-manager.enable = true;
|
||||
virtualisation.libvirtd = {
|
||||
enable = true;
|
||||
packages = [
|
||||
pkgs.OVMFFull.fd
|
||||
];
|
||||
qemu.ovmf = {
|
||||
enable = true;
|
||||
packages = [
|
||||
pkgs.OVMFFull.fd
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,137 +1,137 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
xdg.mime.enable = true;
|
||||
xdg.mime.defaultApplications = {
|
||||
# Browser
|
||||
"x-scheme-handler/http" = "vivaldi-stable.desktop";
|
||||
"application/xhtml+xml" = "vivaldi-stable.desktop";
|
||||
"text/html" = "vivaldi-stable.desktop";
|
||||
"x-scheme-handler/https" = "vivaldi-stable.desktop";
|
||||
"application/pdf" = "vivaldi-stable.desktop";
|
||||
config = {
|
||||
xdg.mime.enable = true;
|
||||
xdg.mime.defaultApplications = {
|
||||
# Browser
|
||||
"x-scheme-handler/http" = "vivaldi-stable.desktop";
|
||||
"application/xhtml+xml" = "vivaldi-stable.desktop";
|
||||
"text/html" = "vivaldi-stable.desktop";
|
||||
"x-scheme-handler/https" = "vivaldi-stable.desktop";
|
||||
"application/pdf" = "vivaldi-stable.desktop";
|
||||
|
||||
# Audio
|
||||
"audio/aiff" = "mpv.desktop";
|
||||
"audio/basic" = "mpv.desktop";
|
||||
"audio/it" = "mpv.desktop";
|
||||
"audio/make" = "mpv.desktop";
|
||||
"audio/make.my.funk" = "mpv.desktop";
|
||||
"audio/mid" = "mpv.desktop";
|
||||
"audio/midi" = "mpv.desktop";
|
||||
"audio/mod" = "mpv.desktop";
|
||||
"audio/mpeg" = "mpv.desktop";
|
||||
"audio/mpeg3" = "mpv.desktop";
|
||||
"audio/nspaudio" = "mpv.desktop";
|
||||
"audio/s3m" = "mpv.desktop";
|
||||
"audio/tsp-audio" = "mpv.desktop";
|
||||
"audio/tsplayer" = "mpv.desktop";
|
||||
"audio/vnd.qcelp" = "mpv.desktop";
|
||||
"audio/voc" = "mpv.desktop";
|
||||
"audio/voxware" = "mpv.desktop";
|
||||
"audio/wav" = "mpv.desktop";
|
||||
"audio/x-adpcm" = "mpv.desktop";
|
||||
"audio/x-aiff" = "mpv.desktop";
|
||||
"audio/x-au" = "mpv.desktop";
|
||||
"audio/x-gsm" = "mpv.desktop";
|
||||
"audio/x-jam" = "mpv.desktop";
|
||||
"audio/x-liveaudio" = "mpv.desktop";
|
||||
"audio/x-mid" = "mpv.desktop";
|
||||
"audio/x-midi" = "mpv.desktop";
|
||||
"audio/x-mod" = "mpv.desktop";
|
||||
"audio/x-mpeg" = "mpv.desktop";
|
||||
"audio/x-mpeg-3" = "mpv.desktop";
|
||||
"audio/x-mpequrl" = "mpv.desktop";
|
||||
"audio/x-nspaudio" = "mpv.desktop";
|
||||
"audio/x-pn-realaudio" = "mpv.desktop";
|
||||
"audio/x-pn-realaudio-plugin" = "mpv.desktop";
|
||||
"audio/x-psid" = "mpv.desktop";
|
||||
"audio/x-realaudio" = "mpv.desktop";
|
||||
"audio/x-twinvq" = "mpv.desktop";
|
||||
"audio/x-twinvq-plugin" = "mpv.desktop";
|
||||
"audio/x-vnd.audioexplosion.mjuicemediafile" = "mpv.desktop";
|
||||
"audio/x-voc" = "mpv.desktop";
|
||||
"audio/x-wav" = "mpv.desktop";
|
||||
"audio/xm" = "mpv.desktop";
|
||||
# Audio
|
||||
"audio/aiff" = "mpv.desktop";
|
||||
"audio/basic" = "mpv.desktop";
|
||||
"audio/it" = "mpv.desktop";
|
||||
"audio/make" = "mpv.desktop";
|
||||
"audio/make.my.funk" = "mpv.desktop";
|
||||
"audio/mid" = "mpv.desktop";
|
||||
"audio/midi" = "mpv.desktop";
|
||||
"audio/mod" = "mpv.desktop";
|
||||
"audio/mpeg" = "mpv.desktop";
|
||||
"audio/mpeg3" = "mpv.desktop";
|
||||
"audio/nspaudio" = "mpv.desktop";
|
||||
"audio/s3m" = "mpv.desktop";
|
||||
"audio/tsp-audio" = "mpv.desktop";
|
||||
"audio/tsplayer" = "mpv.desktop";
|
||||
"audio/vnd.qcelp" = "mpv.desktop";
|
||||
"audio/voc" = "mpv.desktop";
|
||||
"audio/voxware" = "mpv.desktop";
|
||||
"audio/wav" = "mpv.desktop";
|
||||
"audio/x-adpcm" = "mpv.desktop";
|
||||
"audio/x-aiff" = "mpv.desktop";
|
||||
"audio/x-au" = "mpv.desktop";
|
||||
"audio/x-gsm" = "mpv.desktop";
|
||||
"audio/x-jam" = "mpv.desktop";
|
||||
"audio/x-liveaudio" = "mpv.desktop";
|
||||
"audio/x-mid" = "mpv.desktop";
|
||||
"audio/x-midi" = "mpv.desktop";
|
||||
"audio/x-mod" = "mpv.desktop";
|
||||
"audio/x-mpeg" = "mpv.desktop";
|
||||
"audio/x-mpeg-3" = "mpv.desktop";
|
||||
"audio/x-mpequrl" = "mpv.desktop";
|
||||
"audio/x-nspaudio" = "mpv.desktop";
|
||||
"audio/x-pn-realaudio" = "mpv.desktop";
|
||||
"audio/x-pn-realaudio-plugin" = "mpv.desktop";
|
||||
"audio/x-psid" = "mpv.desktop";
|
||||
"audio/x-realaudio" = "mpv.desktop";
|
||||
"audio/x-twinvq" = "mpv.desktop";
|
||||
"audio/x-twinvq-plugin" = "mpv.desktop";
|
||||
"audio/x-vnd.audioexplosion.mjuicemediafile" = "mpv.desktop";
|
||||
"audio/x-voc" = "mpv.desktop";
|
||||
"audio/x-wav" = "mpv.desktop";
|
||||
"audio/xm" = "mpv.desktop";
|
||||
|
||||
# Video
|
||||
"video/animaflex" = "mpv.desktop";
|
||||
"video/avi" = "mpv.desktop";
|
||||
"video/avs-video" = "mpv.desktop";
|
||||
"video/dl" = "mpv.desktop";
|
||||
"video/fli" = "mpv.desktop";
|
||||
"video/gl" = "mpv.desktop";
|
||||
"video/mpeg" = "mpv.desktop";
|
||||
"video/msvideo" = "mpv.desktop";
|
||||
"video/quicktime" = "mpv.desktop";
|
||||
"video/vdo" = "mpv.desktop";
|
||||
"video/vivo" = "mpv.desktop";
|
||||
"video/vnd.rn-realvideo" = "mpv.desktop";
|
||||
"video/vnd.vivo" = "mpv.desktop";
|
||||
"video/vosaic" = "mpv.desktop";
|
||||
"video/x-amt-demorun" = "mpv.desktop";
|
||||
"video/x-amt-showrun" = "mpv.desktop";
|
||||
"video/x-atomic3d-feature" = "mpv.desktop";
|
||||
"video/x-dl" = "mpv.desktop";
|
||||
"video/x-dv" = "mpv.desktop";
|
||||
"video/x-fli" = "mpv.desktop";
|
||||
"video/x-gl" = "mpv.desktop";
|
||||
"video/x-isvideo" = "mpv.desktop";
|
||||
"video/x-motion-jpeg" = "mpv.desktop";
|
||||
"video/x-mpeg" = "mpv.desktop";
|
||||
"video/x-mpeq2a" = "mpv.desktop";
|
||||
"video/x-ms-asf" = "mpv.desktop";
|
||||
"video/x-ms-asf-plugin" = "mpv.desktop";
|
||||
"video/x-msvideo" = "mpv.desktop";
|
||||
"video/x-qtc" = "mpv.desktop";
|
||||
"video/x-scm" = "mpv.desktop";
|
||||
"video/x-sgi-movie" = "mpv.desktop";
|
||||
# Video
|
||||
"video/animaflex" = "mpv.desktop";
|
||||
"video/avi" = "mpv.desktop";
|
||||
"video/avs-video" = "mpv.desktop";
|
||||
"video/dl" = "mpv.desktop";
|
||||
"video/fli" = "mpv.desktop";
|
||||
"video/gl" = "mpv.desktop";
|
||||
"video/mpeg" = "mpv.desktop";
|
||||
"video/msvideo" = "mpv.desktop";
|
||||
"video/quicktime" = "mpv.desktop";
|
||||
"video/vdo" = "mpv.desktop";
|
||||
"video/vivo" = "mpv.desktop";
|
||||
"video/vnd.rn-realvideo" = "mpv.desktop";
|
||||
"video/vnd.vivo" = "mpv.desktop";
|
||||
"video/vosaic" = "mpv.desktop";
|
||||
"video/x-amt-demorun" = "mpv.desktop";
|
||||
"video/x-amt-showrun" = "mpv.desktop";
|
||||
"video/x-atomic3d-feature" = "mpv.desktop";
|
||||
"video/x-dl" = "mpv.desktop";
|
||||
"video/x-dv" = "mpv.desktop";
|
||||
"video/x-fli" = "mpv.desktop";
|
||||
"video/x-gl" = "mpv.desktop";
|
||||
"video/x-isvideo" = "mpv.desktop";
|
||||
"video/x-motion-jpeg" = "mpv.desktop";
|
||||
"video/x-mpeg" = "mpv.desktop";
|
||||
"video/x-mpeq2a" = "mpv.desktop";
|
||||
"video/x-ms-asf" = "mpv.desktop";
|
||||
"video/x-ms-asf-plugin" = "mpv.desktop";
|
||||
"video/x-msvideo" = "mpv.desktop";
|
||||
"video/x-qtc" = "mpv.desktop";
|
||||
"video/x-scm" = "mpv.desktop";
|
||||
"video/x-sgi-movie" = "mpv.desktop";
|
||||
|
||||
# Image
|
||||
"image/bmp" = "qimgv.desktop";
|
||||
"image/cmu-raster" = "qimgv.desktop";
|
||||
"image/fif" = "qimgv.desktop";
|
||||
"image/florian" = "qimgv.desktop";
|
||||
"image/g3fax" = "qimgv.desktop";
|
||||
"image/gif" = "qimgv.desktop";
|
||||
"image/ief" = "qimgv.desktop";
|
||||
"image/jpeg" = "qimgv.desktop";
|
||||
"image/jutvision" = "qimgv.desktop";
|
||||
"image/naplps" = "qimgv.desktop";
|
||||
"image/pict" = "qimgv.desktop";
|
||||
"image/pjpeg" = "qimgv.desktop";
|
||||
"image/png" = "qimgv.desktop";
|
||||
"image/tiff" = "qimgv.desktop";
|
||||
"image/vasa" = "qimgv.desktop";
|
||||
"image/vnd.dwg" = "qimgv.desktop";
|
||||
"image/vnd.fpx" = "qimgv.desktop";
|
||||
"image/vnd.net-fpx" = "qimgv.desktop";
|
||||
"image/vnd.rn-realflash" = "qimgv.desktop";
|
||||
"image/vnd.rn-realpix" = "qimgv.desktop";
|
||||
"image/vnd.wap.wbmp" = "qimgv.desktop";
|
||||
"image/vnd.xiff" = "qimgv.desktop";
|
||||
"image/x-cmu-raster" = "qimgv.desktop";
|
||||
"image/x-dwg" = "qimgv.desktop";
|
||||
"image/x-icon" = "qimgv.desktop";
|
||||
"image/x-jg" = "qimgv.desktop";
|
||||
"image/x-jps" = "qimgv.desktop";
|
||||
"image/x-niff" = "qimgv.desktop";
|
||||
"image/x-pcx" = "qimgv.desktop";
|
||||
"image/x-pict" = "qimgv.desktop";
|
||||
"image/x-portable-anymap" = "qimgv.desktop";
|
||||
"image/x-portable-bitmap" = "qimgv.desktop";
|
||||
"image/x-portable-graymap" = "qimgv.desktop";
|
||||
"image/x-portable-greymap" = "qimgv.desktop";
|
||||
"image/x-portable-pixmap" = "qimgv.desktop";
|
||||
"image/x-quicktime" = "qimgv.desktop";
|
||||
"image/x-rgb" = "qimgv.desktop";
|
||||
"image/x-tiff" = "qimgv.desktop";
|
||||
"image/x-windows-bmp" = "qimgv.desktop";
|
||||
"image/x-xbitmap" = "qimgv.desktop";
|
||||
"image/x-xbm" = "qimgv.desktop";
|
||||
"image/x-xpixmap" = "qimgv.desktop";
|
||||
"image/x-xwd" = "qimgv.desktop";
|
||||
"image/x-xwindowdump" = "qimgv.desktop";
|
||||
"image/xbm" = "qimgv.desktop";
|
||||
"image/xpm" = "qimgv.desktop";
|
||||
# Image
|
||||
"image/bmp" = "qimgv.desktop";
|
||||
"image/cmu-raster" = "qimgv.desktop";
|
||||
"image/fif" = "qimgv.desktop";
|
||||
"image/florian" = "qimgv.desktop";
|
||||
"image/g3fax" = "qimgv.desktop";
|
||||
"image/gif" = "qimgv.desktop";
|
||||
"image/ief" = "qimgv.desktop";
|
||||
"image/jpeg" = "qimgv.desktop";
|
||||
"image/jutvision" = "qimgv.desktop";
|
||||
"image/naplps" = "qimgv.desktop";
|
||||
"image/pict" = "qimgv.desktop";
|
||||
"image/pjpeg" = "qimgv.desktop";
|
||||
"image/png" = "qimgv.desktop";
|
||||
"image/tiff" = "qimgv.desktop";
|
||||
"image/vasa" = "qimgv.desktop";
|
||||
"image/vnd.dwg" = "qimgv.desktop";
|
||||
"image/vnd.fpx" = "qimgv.desktop";
|
||||
"image/vnd.net-fpx" = "qimgv.desktop";
|
||||
"image/vnd.rn-realflash" = "qimgv.desktop";
|
||||
"image/vnd.rn-realpix" = "qimgv.desktop";
|
||||
"image/vnd.wap.wbmp" = "qimgv.desktop";
|
||||
"image/vnd.xiff" = "qimgv.desktop";
|
||||
"image/x-cmu-raster" = "qimgv.desktop";
|
||||
"image/x-dwg" = "qimgv.desktop";
|
||||
"image/x-icon" = "qimgv.desktop";
|
||||
"image/x-jg" = "qimgv.desktop";
|
||||
"image/x-jps" = "qimgv.desktop";
|
||||
"image/x-niff" = "qimgv.desktop";
|
||||
"image/x-pcx" = "qimgv.desktop";
|
||||
"image/x-pict" = "qimgv.desktop";
|
||||
"image/x-portable-anymap" = "qimgv.desktop";
|
||||
"image/x-portable-bitmap" = "qimgv.desktop";
|
||||
"image/x-portable-graymap" = "qimgv.desktop";
|
||||
"image/x-portable-greymap" = "qimgv.desktop";
|
||||
"image/x-portable-pixmap" = "qimgv.desktop";
|
||||
"image/x-quicktime" = "qimgv.desktop";
|
||||
"image/x-rgb" = "qimgv.desktop";
|
||||
"image/x-tiff" = "qimgv.desktop";
|
||||
"image/x-windows-bmp" = "qimgv.desktop";
|
||||
"image/x-xbitmap" = "qimgv.desktop";
|
||||
"image/x-xbm" = "qimgv.desktop";
|
||||
"image/x-xpixmap" = "qimgv.desktop";
|
||||
"image/x-xwd" = "qimgv.desktop";
|
||||
"image/x-xwindowdump" = "qimgv.desktop";
|
||||
"image/xbm" = "qimgv.desktop";
|
||||
"image/xpm" = "qimgv.desktop";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue