Compare commits

..

No commits in common. "0d62f52cd5e84bda7c8bda5d1f2792a0fb9590c8" and "e30a67f876a363025892c73dc0db321ed4d9f26e" have entirely different histories.

12 changed files with 495 additions and 512 deletions

View file

@ -4,46 +4,44 @@
imports = [ imports = [
./unstable-packages.nix ./unstable-packages.nix
]; ];
config = { users.users.wroclaw = {
users.users.wroclaw = { isNormalUser = true;
isNormalUser = true; description = "Rafał";
description = "Rafał"; group = "wroclaw";
group = "wroclaw"; extraGroups = [
extraGroups = [ "users"
"users" "wheel"
"wheel" ] ++ lib.optional config.programs.adb.enable "adbusers";
] ++ lib.optional config.programs.adb.enable "adbusers"; linger = true;
linger = true; initialPassword = "nixos";
initialPassword = "nixos"; packages = with pkgs; [
packages = with pkgs; [ firefox
firefox (vivaldi.override {
(vivaldi.override { proprietaryCodecs = true;
proprietaryCodecs = true; commandLineArgs = [ "--ozone-platform=wayland" ];
commandLineArgs = [ "--ozone-platform=wayland" ]; })
}) vesktop
vesktop unstablePkgs.vscode
unstablePkgs.vscode gimp
gimp inkscape
inkscape jitsi-meet-electron
jitsi-meet-electron krita
krita telegram-desktop
telegram-desktop unstablePkgs.zettlr
unstablePkgs.zettlr ];
]; };
}; users.groups.wroclaw.gid = 1000;
users.groups.wroclaw.gid = 1000;
programs.steam = { programs.steam = {
enable = true; enable = true;
remotePlay.openFirewall = true; remotePlay.openFirewall = true;
}; };
services.syncthing = { services.syncthing = {
enable = true; enable = true;
user = "wroclaw"; user = "wroclaw";
group = "wroclaw"; group = "wroclaw";
dataDir = "/home/wroclaw"; dataDir = "/home/wroclaw";
configDir = "/home/wroclaw/.config/syncthing"; configDir = "/home/wroclaw/.config/syncthing";
};
}; };
} }

View file

@ -10,80 +10,78 @@
./module-overrides.nix ./module-overrides.nix
./nix.nix ./nix.nix
]; ];
config = {
# kernel # kernel
boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelPackages = pkgs.linuxPackages_latest;
# Enable networking # Enable networking
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
# Allow unfree packages # Allow unfree packages
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
nix = { nix = {
channel.enable = false; channel.enable = false;
settings.experimental-features = [ settings.experimental-features = [
"no-url-literals" "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; nixPath = [
programs.git.config = { "nixpkgs=${pkgs.selfExpr { useConfig = false; }}"
commit.verbose = true; "systemNixpkgs=${pkgs.selfExpr { useConfig = true; name = "systemNixpkgs-self"; }}"
init.defaultBranch = "main"; # don't garbage collect the nixpkgs input
merge.conflictstyle = "diff3"; "inputsNixpkgs=${inputs.nixpkgs}"
rerere.enabled = true; "nixos-system=/etc/nixos/default.nix"
}; ];
};
# Use nix-index for command-not-found handler # List packages installed in system profile. To search, run:
programs.command-not-found.enable = false; # $ nix search wget
programs.nix-index = { environment.systemPackages = with pkgs; [
package = pkgs.nix-index.override { waypipe
nix-index-unwrapped = pkgs.nix-index-unwrapped.overrideAttrs (oldAttrs: { wget
patches = oldAttrs.patches or [] ++ [ ffmpeg
../pkgs/by-name/ni/nix-index/cnfOutput.patch 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
enable = true; programs.command-not-found.enable = false;
enableBashIntegration = true; 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 fail2ban because of the OpenSSH server
services.fail2ban = {
enable = true;
maxretry = 10;
bantime = "7d";
}; };
enable = true;
enableBashIntegration = true;
};
# Enable the OpenSSH daemon. # Enable fail2ban because of the OpenSSH server
services.openssh = { services.fail2ban = {
enable = true; enable = true;
ports = [ maxretry = 10;
22 bantime = "7d";
8022 };
];
}; # Enable the OpenSSH daemon.
services.openssh = {
enable = true;
ports = [
22
8022
];
}; };
} }

View file

@ -1,41 +1,39 @@
{ lib, config, pkgs, ... }: { lib, config, pkgs, ... }:
{ {
config = { config.virtualisation.docker = {
virtualisation.docker = { enable = true;
enable = true; enableOnBoot = true;
enableOnBoot = true; storageDriver = if config.fileSystems."/".fsType == "btrfs" then "btrfs" else null;
storageDriver = if config.fileSystems."/".fsType == "btrfs" then "btrfs" else null; rootless.enable = true;
rootless.enable = true; rootless.setSocketVariable = true;
rootless.setSocketVariable = true; daemon.settings = {
daemon.settings = { default-address-pools = [
default-address-pools = [ {base = "10.64.0.0/10"; size = 24;}
{base = "10.64.0.0/10"; size = 24;} ];
]; bip = "10.127.0.1/16";
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;}];
};
} }

View file

@ -1,3 +1,5 @@
{ ... }:
{ {
config = { config = {
# Set your time zone. # Set your time zone.

View file

@ -1,33 +1,17 @@
{ { lib, ... }:
lib,
modulesPath,
...
}:
let let
moduleOverrides = [ moduleOverrides = [
# NIXPKGS-PR: 359882 # TODO: Remove after updating to nixos 25.05
{ {
# https://github.com/NixOS/nixpkgs/pull/359882
disabledModules = [ disabledModules = [
"${modulesPath}/system/boot/luksroot.nix" "system/boot/luksroot.nix"
]; ];
replacementModules = [(builtins.fetchurl { replacementModules = [(builtins.fetchurl {
url = "https://raw.githubusercontent.com/amozeo/nixpkgs/728d5806fe6f975ba3843297332d12e13119fe86/nixos/modules/system/boot/luksroot.nix"; url = "https://raw.githubusercontent.com/amozeo/nixpkgs/728d5806fe6f975ba3843297332d12e13119fe86/nixos/modules/system/boot/luksroot.nix";
sha256 = "0s2k8k6rrlwn2zb02q6fkvswln8w4hvh02hm4krqvkh46amyasyy"; sha256 = "0s2k8k6rrlwn2zb02q6fkvswln8w4hvh02hm4krqvkh46amyasyy";
})]; })];
} }
# NIXPKGS-PR: 394300
{
disabledModules = [
"${modulesPath}/hardware/openrazer.nix"
];
replacementModules = [
(builtins.fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixpkgs/4a11562c20fbe7af7d5ac139dbf0f8d50ce276f6/nixos/modules/hardware/openrazer.nix";
sha256 = "0n6kzrcwlmxgws4pmffyqagp2rxpfxmfjl11vgvlkjcbglg6fs7y";
})
];
}
]; ];
toModule = entry: { toModule = entry: {

View file

@ -28,7 +28,8 @@ let
}; };
}; };
# NIXPKGS-PR: 389487 # nixpkgs PR389487
# https://github.com/NixOS/nixpkgs/pull/389487
futureNixosExecutables = let futureNixosExecutables = let
nixpkgs = builtins.fetchTarball { nixpkgs = builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/e8f4dba5135ce202c7ef77118f145ef8b3803088.tar.gz"; url = "https://github.com/NixOS/nixpkgs/archive/e8f4dba5135ce202c7ef77118f145ef8b3803088.tar.gz";
@ -45,8 +46,7 @@ let
postBuild = '' postBuild = ''
wrapProgram $out/bin/nixos-rebuild \ wrapProgram $out/bin/nixos-rebuild \
--add-flags "--log-format" \ --add-flags "--log-format" \
--add-flags "bar" \ --add-flags "bar"
--add-flags "--use-remote-sudo"
''; '';
}; };
in { in {

View file

@ -1,30 +1,28 @@
{ config, lib, pkgs, ...}: { config, lib, pkgs, ...}:
{ {
config = { hardware.graphics = {
hardware.graphics = { enable = true;
enable = true; enable32Bit = 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;
}; };
# 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;
} }

View file

@ -1,44 +1,44 @@
{ ... }:
{ {
config = { security.polkit.extraConfig = ''
security.polkit.extraConfig = '' polkit.addRule(function(action, subject) {
polkit.addRule(function(action, subject) { polkit.log("action=" + action);
polkit.log("action=" + action); polkit.log("subject=" + subject);
polkit.log("subject=" + subject); if (
if ( action.id == "org.freedesktop.login1.halt" ||
action.id == "org.freedesktop.login1.halt" || action.id == "org.freedesktop.login1.halt-ignore-inhibit" ||
action.id == "org.freedesktop.login1.halt-ignore-inhibit" || action.id == "org.freedesktop.login1.halt-multiple-sessions" ||
action.id == "org.freedesktop.login1.halt-multiple-sessions" || action.id == "org.freedesktop.login1.hibernate" ||
action.id == "org.freedesktop.login1.hibernate" || action.id == "org.freedesktop.login1.hibernate-ignore-inhibit" ||
action.id == "org.freedesktop.login1.hibernate-ignore-inhibit" || action.id == "org.freedesktop.login1.hibernate-multiple-sessions" ||
action.id == "org.freedesktop.login1.hibernate-multiple-sessions" || action.id == "org.freedesktop.login1.inhibit-block-idle" ||
action.id == "org.freedesktop.login1.inhibit-block-idle" || action.id == "org.freedesktop.login1.inhibit-block-shutdown" ||
action.id == "org.freedesktop.login1.inhibit-block-shutdown" || action.id == "org.freedesktop.login1.inhibit-block-sleep" ||
action.id == "org.freedesktop.login1.inhibit-block-sleep" || action.id == "org.freedesktop.login1.inhibit-handle-hibernate-key" ||
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-lid-switch" || action.id == "org.freedesktop.login1.inhibit-handle-power-key" ||
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-reboot-key" || action.id == "org.freedesktop.login1.inhibit-handle-suspend-key" ||
action.id == "org.freedesktop.login1.inhibit-handle-suspend-key" || action.id == "org.freedesktop.login1.power-off" ||
action.id == "org.freedesktop.login1.power-off" || action.id == "org.freedesktop.login1.power-off-ignore-inhibit" ||
action.id == "org.freedesktop.login1.power-off-ignore-inhibit" || action.id == "org.freedesktop.login1.power-off-multiple-sessions" ||
action.id == "org.freedesktop.login1.power-off-multiple-sessions" || action.id == "org.freedesktop.login1.reboot" ||
action.id == "org.freedesktop.login1.reboot" || action.id == "org.freedesktop.login1.reboot-ignore-inhibit" ||
action.id == "org.freedesktop.login1.reboot-ignore-inhibit" || action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
action.id == "org.freedesktop.login1.reboot-multiple-sessions" || action.id == "org.freedesktop.login1.set-reboot-parameter" ||
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-entry" || action.id == "org.freedesktop.login1.set-reboot-to-boot-loader-menu" ||
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-reboot-to-firmware-setup" || action.id == "org.freedesktop.login1.set-self-linger" ||
action.id == "org.freedesktop.login1.set-self-linger" || action.id == "org.freedesktop.login1.set-user-linger" ||
action.id == "org.freedesktop.login1.set-user-linger" || action.id == "org.freedesktop.login1.set-wall-message" ||
action.id == "org.freedesktop.login1.set-wall-message" || action.id == "org.freedesktop.login1.suspend" ||
action.id == "org.freedesktop.login1.suspend" || action.id == "org.freedesktop.login1.suspend-ignore-inhibit" ||
action.id == "org.freedesktop.login1.suspend-ignore-inhibit" || action.id == "org.freedesktop.login1.suspend-multiple-sessions"
action.id == "org.freedesktop.login1.suspend-multiple-sessions" ) {
) { return subject.active ? polkit.Result.AUTH_ADMIN : polkit.Result.NO;
return subject.active ? polkit.Result.AUTH_ADMIN : polkit.Result.NO; };
}; });
}); '';
'';
};
} }

View file

@ -1,36 +1,46 @@
{ {
config, config,
lib, lib,
modulesPath,
pkgs, pkgs,
... ...
}: }:
{ {
config = { # NIXPKGS-PR: 394300
hardware.openrazer = { disabledModules = [
enable = true; "${modulesPath}/hardware/openrazer.nix"
users = [ ];
"wroclaw" imports = [
]; (builtins.fetchurl {
# NIXPKGS-PR: 384992 url = "https://raw.githubusercontent.com/NixOS/nixpkgs/4a11562c20fbe7af7d5ac139dbf0f8d50ce276f6/nixos/modules/hardware/openrazer.nix";
packages = let sha256 = "0n6kzrcwlmxgws4pmffyqagp2rxpfxmfjl11vgvlkjcbglg6fs7y";
oldVersion = pkgs.python3Packages.openrazer-daemon.version; })
version = "3.10.1"; ];
in lib.mapAttrs (_: package: package.overrideAttrs (oldAttrs: {
version = lib.replaceStrings [ oldVersion ] [ version ] oldAttrs.version; hardware.openrazer = {
src = pkgs.fetchFromGitHub { enable = true;
owner = "openrazer"; users = [
repo = "openrazer"; "wroclaw"
tag = "v${version}";
hash = "sha256-igrGx7Y6ENtZatJCTAW43/0q6ZjljJ9/kU3QFli4yIU=";
};
})) {
kernel = config.boot.kernelPackages.openrazer;
daemon = pkgs.python3Packages.openrazer-daemon;
};
};
environment.systemPackages = with pkgs; [
polychromatic
]; ];
# 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;
};
}; };
environment.systemPackages = with pkgs; [
polychromatic
];
} }

View file

@ -25,139 +25,136 @@ in
imports = [ imports = [
./unstable-packages.nix ./unstable-packages.nix
]; ];
environment.systemPackages = with pkgs; [
aliasDrag
rangerGit
ripgrep
kitty
zoxide
];
config = { programs.bash.shellInit = ''
environment.systemPackages = with pkgs; [ HISTCONTROL=ignoreboth
aliasDrag '';
rangerGit
ripgrep
kitty
zoxide
];
programs.bash.shellInit = '' programs.bash.interactiveShellInit = ''
HISTCONTROL=ignoreboth 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.interactiveShellInit = '' environment.etc."xdg/kitty/kitty.conf".text = ''
HISTCONTROL=ignoreboth font_family MesloLGS Nerd Font
if test -n "$KITTY_INSTALLATION_DIR"; then font_size 10.0
export KITTY_SHELL_INTEGRATION="enabled,no-sudo" scrollback_lines 10000
source "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash" window_border_width 0.5
fi window_padding_width 3
eval "''$(zoxide init bash)" ${if config.services.xserver.desktopManager.gnome.enable then "hide_window_decorations yes" else ""}
alias bye=exit background_opacity 0.8
''; dynamic_background_opacity yes
environment.etc."xdg/kitty/kitty.conf".text = '' map kitty_mod+alt+c copy_ansi_to_clipboard
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
map kitty_mod+alt+c copy_ansi_to_clipboard 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/rc.conf".text = '' alias drag shell ${pkgs.ripdrag}/bin/ripdrag -Axd %p &
eval import os; fm.set_option_from_string("preview_images", "true") if "KITTY_INSTALLATION_DIR" in os.environ else None; map <C-d> drag
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
alias drag shell ${pkgs.ripdrag}/bin/ripdrag -Axd %p & environment.etc."ranger/plugins/zoxide.py".source = pkgs.fetchFromGitHub {
map <C-d> drag owner = "jchook";
''; repo = "ranger-zoxide";
rev = "281828de060299f73fe0b02fcabf4f2f2bd78ab3";
hash = "sha256-JEuyYSVa1NS3aftezEJx/k19lwwzf7XhqBCL0jH6VT4=";
} + /__init__.py;
environment.etc."ranger/plugins/zoxide.py".source = pkgs.fetchFromGitHub { programs.direnv.enable = true;
owner = "jchook";
repo = "ranger-zoxide";
rev = "281828de060299f73fe0b02fcabf4f2f2bd78ab3";
hash = "sha256-JEuyYSVa1NS3aftezEJx/k19lwwzf7XhqBCL0jH6VT4=";
} + /__init__.py;
programs.direnv.enable = true; 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.neovim = { syntax on
enable = true; set encoding=utf-8
viAlias = true; set wildmode=longest,list,full
vimAlias = true; set listchars=space:·,tab:»
configure = { set indentkeys-=0#
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
syntax on " rainbow-delimeters-nvim
set encoding=utf-8 let g:rainbow_delimiters = {
set wildmode=longest,list,full \ 'strategy': {
set listchars=space:·,tab:» \ ${"''"}: rainbow_delimiters#strategy.global,
set indentkeys-=0# \ },
\ }
" rainbow-delimeters-nvim " vim-gitguter
let g:rainbow_delimiters = { set signcolumn=yes
\ 'strategy': { highlight SignColumn NONE
\ ${"''"}: rainbow_delimiters#strategy.global, highlight GitGutterAdd ctermfg=2 guifg=#2ea043
\ }, highlight GitGutterChange ctermfg=4 guifg=#0078d4
\ } highlight GitGutterDelete ctermfg=1 guifg=#f85149
" vim-gitguter lua require('guess-indent').setup {}
set signcolumn=yes '';
highlight SignColumn NONE packages.myVimPackage = with pkgs.vimPlugins; {
highlight GitGutterAdd ctermfg=2 guifg=#2ea043 start = [
highlight GitGutterChange ctermfg=4 guifg=#0078d4 guess-indent-nvim
highlight GitGutterDelete ctermfg=1 guifg=#f85149 vim-visual-multi
autoclose-nvim
lua require('guess-indent').setup {} rainbow-delimiters-nvim
''; vimagit
packages.myVimPackage = with pkgs.vimPlugins; { vim-gitgutter
start = [ ];
guess-indent-nvim
vim-visual-multi
autoclose-nvim
rainbow-delimiters-nvim
vimagit
vim-gitgutter
];
};
}; };
}; };
};
environment.variables = lib.mkIf config.programs.neovim.enable rec { environment.variables = lib.mkIf config.programs.neovim.enable rec {
EDITOR = "/run/current-system/sw/bin/nvim"; EDITOR = "/run/current-system/sw/bin/nvim";
VISUAL = EDITOR; VISUAL = EDITOR;
}; };
programs.starship = { programs.starship = {
enable = true; enable = true;
settings = { settings = {
format = "$all$line_break\${custom.ranger}$jobs$battery$time$status$os$container$shell$character"; format = "$all$line_break\${custom.ranger}$jobs$battery$time$status$os$container$shell$character";
directory = { directory = {
truncation_length = 5; truncation_length = 5;
truncation_symbol = "/"; truncation_symbol = "/";
}; };
hostname = { hostname = {
ssh_only = false; ssh_only = false;
}; };
username = { username = {
show_always = true; show_always = true;
}; };
status.disabled = false; status.disabled = false;
custom.ranger = { custom.ranger = {
when = "test $RANGER_LEVEL"; when = "test $RANGER_LEVEL";
command = "echo \"\""; command = "echo \"\"";
style = "bold 208"; style = "bold 208";
};
}; };
}; };
}; };

View file

@ -2,17 +2,15 @@
{ lib, config, pkgs, ... }: { lib, config, pkgs, ... }:
{ {
config = { #virtualisation.waydroid.enable = true;
#virtualisation.waydroid.enable = true; programs.virt-manager.enable = true;
programs.virt-manager.enable = true; virtualisation.libvirtd = {
virtualisation.libvirtd = { enable = true;
qemu.ovmf = {
enable = true; enable = true;
qemu.ovmf = { packages = [
enable = true; pkgs.OVMFFull.fd
packages = [ ];
pkgs.OVMFFull.fd
];
};
}; };
}; };
} }

View file

@ -1,137 +1,137 @@
{ ... }:
{ {
config = { xdg.mime.enable = true;
xdg.mime.enable = true; xdg.mime.defaultApplications = {
xdg.mime.defaultApplications = { # Browser
# Browser "x-scheme-handler/http" = "vivaldi-stable.desktop";
"x-scheme-handler/http" = "vivaldi-stable.desktop"; "application/xhtml+xml" = "vivaldi-stable.desktop";
"application/xhtml+xml" = "vivaldi-stable.desktop"; "text/html" = "vivaldi-stable.desktop";
"text/html" = "vivaldi-stable.desktop"; "x-scheme-handler/https" = "vivaldi-stable.desktop";
"x-scheme-handler/https" = "vivaldi-stable.desktop"; "application/pdf" = "vivaldi-stable.desktop";
"application/pdf" = "vivaldi-stable.desktop";
# Audio # Audio
"audio/aiff" = "mpv.desktop"; "audio/aiff" = "mpv.desktop";
"audio/basic" = "mpv.desktop"; "audio/basic" = "mpv.desktop";
"audio/it" = "mpv.desktop"; "audio/it" = "mpv.desktop";
"audio/make" = "mpv.desktop"; "audio/make" = "mpv.desktop";
"audio/make.my.funk" = "mpv.desktop"; "audio/make.my.funk" = "mpv.desktop";
"audio/mid" = "mpv.desktop"; "audio/mid" = "mpv.desktop";
"audio/midi" = "mpv.desktop"; "audio/midi" = "mpv.desktop";
"audio/mod" = "mpv.desktop"; "audio/mod" = "mpv.desktop";
"audio/mpeg" = "mpv.desktop"; "audio/mpeg" = "mpv.desktop";
"audio/mpeg3" = "mpv.desktop"; "audio/mpeg3" = "mpv.desktop";
"audio/nspaudio" = "mpv.desktop"; "audio/nspaudio" = "mpv.desktop";
"audio/s3m" = "mpv.desktop"; "audio/s3m" = "mpv.desktop";
"audio/tsp-audio" = "mpv.desktop"; "audio/tsp-audio" = "mpv.desktop";
"audio/tsplayer" = "mpv.desktop"; "audio/tsplayer" = "mpv.desktop";
"audio/vnd.qcelp" = "mpv.desktop"; "audio/vnd.qcelp" = "mpv.desktop";
"audio/voc" = "mpv.desktop"; "audio/voc" = "mpv.desktop";
"audio/voxware" = "mpv.desktop"; "audio/voxware" = "mpv.desktop";
"audio/wav" = "mpv.desktop"; "audio/wav" = "mpv.desktop";
"audio/x-adpcm" = "mpv.desktop"; "audio/x-adpcm" = "mpv.desktop";
"audio/x-aiff" = "mpv.desktop"; "audio/x-aiff" = "mpv.desktop";
"audio/x-au" = "mpv.desktop"; "audio/x-au" = "mpv.desktop";
"audio/x-gsm" = "mpv.desktop"; "audio/x-gsm" = "mpv.desktop";
"audio/x-jam" = "mpv.desktop"; "audio/x-jam" = "mpv.desktop";
"audio/x-liveaudio" = "mpv.desktop"; "audio/x-liveaudio" = "mpv.desktop";
"audio/x-mid" = "mpv.desktop"; "audio/x-mid" = "mpv.desktop";
"audio/x-midi" = "mpv.desktop"; "audio/x-midi" = "mpv.desktop";
"audio/x-mod" = "mpv.desktop"; "audio/x-mod" = "mpv.desktop";
"audio/x-mpeg" = "mpv.desktop"; "audio/x-mpeg" = "mpv.desktop";
"audio/x-mpeg-3" = "mpv.desktop"; "audio/x-mpeg-3" = "mpv.desktop";
"audio/x-mpequrl" = "mpv.desktop"; "audio/x-mpequrl" = "mpv.desktop";
"audio/x-nspaudio" = "mpv.desktop"; "audio/x-nspaudio" = "mpv.desktop";
"audio/x-pn-realaudio" = "mpv.desktop"; "audio/x-pn-realaudio" = "mpv.desktop";
"audio/x-pn-realaudio-plugin" = "mpv.desktop"; "audio/x-pn-realaudio-plugin" = "mpv.desktop";
"audio/x-psid" = "mpv.desktop"; "audio/x-psid" = "mpv.desktop";
"audio/x-realaudio" = "mpv.desktop"; "audio/x-realaudio" = "mpv.desktop";
"audio/x-twinvq" = "mpv.desktop"; "audio/x-twinvq" = "mpv.desktop";
"audio/x-twinvq-plugin" = "mpv.desktop"; "audio/x-twinvq-plugin" = "mpv.desktop";
"audio/x-vnd.audioexplosion.mjuicemediafile" = "mpv.desktop"; "audio/x-vnd.audioexplosion.mjuicemediafile" = "mpv.desktop";
"audio/x-voc" = "mpv.desktop"; "audio/x-voc" = "mpv.desktop";
"audio/x-wav" = "mpv.desktop"; "audio/x-wav" = "mpv.desktop";
"audio/xm" = "mpv.desktop"; "audio/xm" = "mpv.desktop";
# Video # Video
"video/animaflex" = "mpv.desktop"; "video/animaflex" = "mpv.desktop";
"video/avi" = "mpv.desktop"; "video/avi" = "mpv.desktop";
"video/avs-video" = "mpv.desktop"; "video/avs-video" = "mpv.desktop";
"video/dl" = "mpv.desktop"; "video/dl" = "mpv.desktop";
"video/fli" = "mpv.desktop"; "video/fli" = "mpv.desktop";
"video/gl" = "mpv.desktop"; "video/gl" = "mpv.desktop";
"video/mpeg" = "mpv.desktop"; "video/mpeg" = "mpv.desktop";
"video/msvideo" = "mpv.desktop"; "video/msvideo" = "mpv.desktop";
"video/quicktime" = "mpv.desktop"; "video/quicktime" = "mpv.desktop";
"video/vdo" = "mpv.desktop"; "video/vdo" = "mpv.desktop";
"video/vivo" = "mpv.desktop"; "video/vivo" = "mpv.desktop";
"video/vnd.rn-realvideo" = "mpv.desktop"; "video/vnd.rn-realvideo" = "mpv.desktop";
"video/vnd.vivo" = "mpv.desktop"; "video/vnd.vivo" = "mpv.desktop";
"video/vosaic" = "mpv.desktop"; "video/vosaic" = "mpv.desktop";
"video/x-amt-demorun" = "mpv.desktop"; "video/x-amt-demorun" = "mpv.desktop";
"video/x-amt-showrun" = "mpv.desktop"; "video/x-amt-showrun" = "mpv.desktop";
"video/x-atomic3d-feature" = "mpv.desktop"; "video/x-atomic3d-feature" = "mpv.desktop";
"video/x-dl" = "mpv.desktop"; "video/x-dl" = "mpv.desktop";
"video/x-dv" = "mpv.desktop"; "video/x-dv" = "mpv.desktop";
"video/x-fli" = "mpv.desktop"; "video/x-fli" = "mpv.desktop";
"video/x-gl" = "mpv.desktop"; "video/x-gl" = "mpv.desktop";
"video/x-isvideo" = "mpv.desktop"; "video/x-isvideo" = "mpv.desktop";
"video/x-motion-jpeg" = "mpv.desktop"; "video/x-motion-jpeg" = "mpv.desktop";
"video/x-mpeg" = "mpv.desktop"; "video/x-mpeg" = "mpv.desktop";
"video/x-mpeq2a" = "mpv.desktop"; "video/x-mpeq2a" = "mpv.desktop";
"video/x-ms-asf" = "mpv.desktop"; "video/x-ms-asf" = "mpv.desktop";
"video/x-ms-asf-plugin" = "mpv.desktop"; "video/x-ms-asf-plugin" = "mpv.desktop";
"video/x-msvideo" = "mpv.desktop"; "video/x-msvideo" = "mpv.desktop";
"video/x-qtc" = "mpv.desktop"; "video/x-qtc" = "mpv.desktop";
"video/x-scm" = "mpv.desktop"; "video/x-scm" = "mpv.desktop";
"video/x-sgi-movie" = "mpv.desktop"; "video/x-sgi-movie" = "mpv.desktop";
# Image # Image
"image/bmp" = "qimgv.desktop"; "image/bmp" = "qimgv.desktop";
"image/cmu-raster" = "qimgv.desktop"; "image/cmu-raster" = "qimgv.desktop";
"image/fif" = "qimgv.desktop"; "image/fif" = "qimgv.desktop";
"image/florian" = "qimgv.desktop"; "image/florian" = "qimgv.desktop";
"image/g3fax" = "qimgv.desktop"; "image/g3fax" = "qimgv.desktop";
"image/gif" = "qimgv.desktop"; "image/gif" = "qimgv.desktop";
"image/ief" = "qimgv.desktop"; "image/ief" = "qimgv.desktop";
"image/jpeg" = "qimgv.desktop"; "image/jpeg" = "qimgv.desktop";
"image/jutvision" = "qimgv.desktop"; "image/jutvision" = "qimgv.desktop";
"image/naplps" = "qimgv.desktop"; "image/naplps" = "qimgv.desktop";
"image/pict" = "qimgv.desktop"; "image/pict" = "qimgv.desktop";
"image/pjpeg" = "qimgv.desktop"; "image/pjpeg" = "qimgv.desktop";
"image/png" = "qimgv.desktop"; "image/png" = "qimgv.desktop";
"image/tiff" = "qimgv.desktop"; "image/tiff" = "qimgv.desktop";
"image/vasa" = "qimgv.desktop"; "image/vasa" = "qimgv.desktop";
"image/vnd.dwg" = "qimgv.desktop"; "image/vnd.dwg" = "qimgv.desktop";
"image/vnd.fpx" = "qimgv.desktop"; "image/vnd.fpx" = "qimgv.desktop";
"image/vnd.net-fpx" = "qimgv.desktop"; "image/vnd.net-fpx" = "qimgv.desktop";
"image/vnd.rn-realflash" = "qimgv.desktop"; "image/vnd.rn-realflash" = "qimgv.desktop";
"image/vnd.rn-realpix" = "qimgv.desktop"; "image/vnd.rn-realpix" = "qimgv.desktop";
"image/vnd.wap.wbmp" = "qimgv.desktop"; "image/vnd.wap.wbmp" = "qimgv.desktop";
"image/vnd.xiff" = "qimgv.desktop"; "image/vnd.xiff" = "qimgv.desktop";
"image/x-cmu-raster" = "qimgv.desktop"; "image/x-cmu-raster" = "qimgv.desktop";
"image/x-dwg" = "qimgv.desktop"; "image/x-dwg" = "qimgv.desktop";
"image/x-icon" = "qimgv.desktop"; "image/x-icon" = "qimgv.desktop";
"image/x-jg" = "qimgv.desktop"; "image/x-jg" = "qimgv.desktop";
"image/x-jps" = "qimgv.desktop"; "image/x-jps" = "qimgv.desktop";
"image/x-niff" = "qimgv.desktop"; "image/x-niff" = "qimgv.desktop";
"image/x-pcx" = "qimgv.desktop"; "image/x-pcx" = "qimgv.desktop";
"image/x-pict" = "qimgv.desktop"; "image/x-pict" = "qimgv.desktop";
"image/x-portable-anymap" = "qimgv.desktop"; "image/x-portable-anymap" = "qimgv.desktop";
"image/x-portable-bitmap" = "qimgv.desktop"; "image/x-portable-bitmap" = "qimgv.desktop";
"image/x-portable-graymap" = "qimgv.desktop"; "image/x-portable-graymap" = "qimgv.desktop";
"image/x-portable-greymap" = "qimgv.desktop"; "image/x-portable-greymap" = "qimgv.desktop";
"image/x-portable-pixmap" = "qimgv.desktop"; "image/x-portable-pixmap" = "qimgv.desktop";
"image/x-quicktime" = "qimgv.desktop"; "image/x-quicktime" = "qimgv.desktop";
"image/x-rgb" = "qimgv.desktop"; "image/x-rgb" = "qimgv.desktop";
"image/x-tiff" = "qimgv.desktop"; "image/x-tiff" = "qimgv.desktop";
"image/x-windows-bmp" = "qimgv.desktop"; "image/x-windows-bmp" = "qimgv.desktop";
"image/x-xbitmap" = "qimgv.desktop"; "image/x-xbitmap" = "qimgv.desktop";
"image/x-xbm" = "qimgv.desktop"; "image/x-xbm" = "qimgv.desktop";
"image/x-xpixmap" = "qimgv.desktop"; "image/x-xpixmap" = "qimgv.desktop";
"image/x-xwd" = "qimgv.desktop"; "image/x-xwd" = "qimgv.desktop";
"image/x-xwindowdump" = "qimgv.desktop"; "image/x-xwindowdump" = "qimgv.desktop";
"image/xbm" = "qimgv.desktop"; "image/xbm" = "qimgv.desktop";
"image/xpm" = "qimgv.desktop"; "image/xpm" = "qimgv.desktop";
};
}; };
} }