abolish with scoping
This commit is contained in:
parent
322e8cad34
commit
d5687fa024
9 changed files with 107 additions and 303 deletions
205
configs/home.nix
205
configs/home.nix
|
@ -1,205 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
pkgs-unstable,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Home Manager needs a bit of information about you and the paths it should
|
|
||||||
# manage.
|
|
||||||
home.username = "cdombroski";
|
|
||||||
home.homeDirectory = "/home/cdombroski";
|
|
||||||
|
|
||||||
# This value determines the Home Manager release that your configuration is
|
|
||||||
# compatible with. This helps avoid breakage when a new Home Manager release
|
|
||||||
# introduces backwards incompatible changes.
|
|
||||||
#
|
|
||||||
# You should not change this value, even if you update Home Manager. If you do
|
|
||||||
# want to update the value, then make sure to first check the Home Manager
|
|
||||||
# release notes.
|
|
||||||
home.stateVersion = "23.11"; # Please read the comment before changing.
|
|
||||||
|
|
||||||
# The home.packages option allows you to install Nix packages into your
|
|
||||||
# environment.
|
|
||||||
home.packages = [
|
|
||||||
pkgs.element-desktop
|
|
||||||
pkgs.discord
|
|
||||||
pkgs.openrgb-with-all-plugins
|
|
||||||
pkgs.keepassxc
|
|
||||||
pkgs.heroic
|
|
||||||
pkgs.r2modman
|
|
||||||
pkgs.mangohud
|
|
||||||
pkgs.hack-font
|
|
||||||
pkgs.htop
|
|
||||||
pkgs.jellyfin-media-player
|
|
||||||
pkgs.konversation
|
|
||||||
pkgs.nixd
|
|
||||||
pkgs.yakuake
|
|
||||||
pkgs.mgba
|
|
||||||
pkgs.vlc
|
|
||||||
pkgs-unstable.jetbrains.idea-community
|
|
||||||
pkgs.dolphin-emu-primehack
|
|
||||||
pkgs.steamtinkerlaunch
|
|
||||||
pkgs.mangohud
|
|
||||||
pkgs.lutris
|
|
||||||
pkgs.knossosnet
|
|
||||||
pkgs.lilypond
|
|
||||||
pkgs.musescore
|
|
||||||
pkgs.protontricks
|
|
||||||
pkgs.protonup-qt
|
|
||||||
(pkgs.retroarch.override {
|
|
||||||
cores = with pkgs.libretro; [
|
|
||||||
beetle-psx-hw
|
|
||||||
pcsx2
|
|
||||||
mesen
|
|
||||||
bsnes
|
|
||||||
parallel-n64
|
|
||||||
dolphin
|
|
||||||
sameboy
|
|
||||||
citra
|
|
||||||
gpsp
|
|
||||||
desmume
|
|
||||||
fbneo
|
|
||||||
nxengine
|
|
||||||
mgba
|
|
||||||
];
|
|
||||||
})
|
|
||||||
|
|
||||||
# # Adds the 'hello' command to your environment. It prints a friendly
|
|
||||||
# # "Hello, world!" when run.
|
|
||||||
# pkgs.hello
|
|
||||||
|
|
||||||
# # It is sometimes useful to fine-tune packages, for example, by applying
|
|
||||||
# # overrides. You can do that directly here, just don't forget the
|
|
||||||
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
|
|
||||||
# # fonts?
|
|
||||||
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
|
|
||||||
|
|
||||||
# # You can also create simple shell scripts directly inside your
|
|
||||||
# # configuration. For example, this adds a command 'my-hello' to your
|
|
||||||
# # environment:
|
|
||||||
# (pkgs.writeShellScriptBin "my-hello" ''
|
|
||||||
# echo "Hello, ${config.home.username}!"
|
|
||||||
# '')
|
|
||||||
];
|
|
||||||
|
|
||||||
services.syncthing = {
|
|
||||||
enable = true;
|
|
||||||
tray.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.user = {
|
|
||||||
targets.tray = {
|
|
||||||
Unit = {
|
|
||||||
Description = "System Tray";
|
|
||||||
Requires = [ "graphical-session.target" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nixpkgs.config = {
|
|
||||||
allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "discord" ];
|
|
||||||
permittedInsecurePackages = [ "electron-25.9.0" ];
|
|
||||||
};
|
|
||||||
xdg.configFile."autostart/yakuake.desktop".source = "${pkgs.yakuake}/share/applications/org.kde.yakuake.desktop";
|
|
||||||
|
|
||||||
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
|
||||||
# plain files is through 'home.file'.
|
|
||||||
home.file = {
|
|
||||||
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
|
|
||||||
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
|
|
||||||
# # symlink to the Nix store copy.
|
|
||||||
# ".screenrc".source = dotfiles/screenrc;
|
|
||||||
|
|
||||||
# # You can also set the file content immediately.
|
|
||||||
# ".gradle/gradle.properties".text = ''
|
|
||||||
# org.gradle.console=verbose
|
|
||||||
# org.gradle.daemon.idletimeout=3600000
|
|
||||||
# '';
|
|
||||||
};
|
|
||||||
|
|
||||||
home.preferXdgDirectories = true;
|
|
||||||
xdg.enable = true;
|
|
||||||
|
|
||||||
# Home Manager can also manage your environment variables through
|
|
||||||
# 'home.sessionVariables'. If you don't want to manage your shell through Home
|
|
||||||
# Manager then you have to manually source 'hm-session-vars.sh' located at
|
|
||||||
# either
|
|
||||||
#
|
|
||||||
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
|
||||||
#
|
|
||||||
# or
|
|
||||||
#
|
|
||||||
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
|
|
||||||
#
|
|
||||||
# or
|
|
||||||
#
|
|
||||||
# /etc/profiles/per-user/cdombroski/etc/profile.d/hm-session-vars.sh
|
|
||||||
#
|
|
||||||
home.sessionVariables = {
|
|
||||||
ANDROID_USER_HOME = "${config.xdg.dataHome}/android";
|
|
||||||
CARGO_HOME = "${config.xdg.dataHome}/cargo";
|
|
||||||
DOTNET_CLI_HOME = "${config.xdg.dataHome}/dotnet";
|
|
||||||
DVDCSS_CACHE = "${config.xdg.dataHome}/dvdcss";
|
|
||||||
GRADLE_USER_HOME = "${config.xdg.dataHome}/gradle";
|
|
||||||
JAVA_OPTIONS = "-Djava.util.prefs.userRoot=${config.xdg.configHome}/java";
|
|
||||||
NODE_REPL_HISTORY = "${config.xdg.stateHome}/node_repl_history";
|
|
||||||
NPM_CONFIG_USERCONFIG = "${config.xdg.configHome}/npm/npmrc";
|
|
||||||
PYTHON_HISTORY = "${config.xdg.stateHome}/python_history";
|
|
||||||
RUSTUP_HOME = "${config.xdg.dataHome}/rustup";
|
|
||||||
XCOMPOSE_CACHE = "${config.xdg.cacheHome}/X11/xcompose";
|
|
||||||
};
|
|
||||||
home.shellAliases = {
|
|
||||||
adb = ''HOME="${config.xdg.dataHome}/android" adb'';
|
|
||||||
mvn = "mvn -gs ${config.xdg.configHome}/maven/settings.xml";
|
|
||||||
wget = "wget --hsts-file=${config.xdg.dataHome}/wget-hsts";
|
|
||||||
};
|
|
||||||
home.sessionPath = [ "$HOME/.local/bin" ];
|
|
||||||
gtk.gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
|
||||||
programs = {
|
|
||||||
home-manager.enable = true;
|
|
||||||
bash = {
|
|
||||||
enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
historyFile = "${config.xdg.stateHome}/bash/history";
|
|
||||||
};
|
|
||||||
direnv = {
|
|
||||||
enable = true;
|
|
||||||
nix-direnv.enable = true;
|
|
||||||
};
|
|
||||||
gpg = {
|
|
||||||
enable = true;
|
|
||||||
homedir = "${config.xdg.dataHome}/gnupg";
|
|
||||||
};
|
|
||||||
vim = {
|
|
||||||
enable = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
plugins = with pkgs.vimPlugins; [
|
|
||||||
vim-sensible
|
|
||||||
vim-fugitive
|
|
||||||
vim-eunuch
|
|
||||||
vim-endwise
|
|
||||||
vim-lsp
|
|
||||||
vim-lsp-settings
|
|
||||||
nerdtree
|
|
||||||
nerdtree-git-plugin
|
|
||||||
vim-devicons
|
|
||||||
editorconfig-vim
|
|
||||||
];
|
|
||||||
};
|
|
||||||
vscode = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.vscodium-fhs;
|
|
||||||
extensions = with pkgs.vscode-extensions; [
|
|
||||||
mkhl.direnv
|
|
||||||
eamodio.gitlens
|
|
||||||
jnoortheen.nix-ide
|
|
||||||
redhat.java
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -130,9 +130,9 @@
|
||||||
config = { };
|
config = { };
|
||||||
};
|
};
|
||||||
devshells.default = {
|
devshells.default = {
|
||||||
packages = with pkgs; [
|
packages = [
|
||||||
deploy-rs.deploy-rs
|
pkgs.deploy-rs.deploy-rs
|
||||||
sops
|
pkgs.sops
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
packages.zwave-js-ui = pkgs.callPackage ./pkgs/zwave-js-ui.nix { };
|
packages.zwave-js-ui = pkgs.callPackage ./pkgs/zwave-js-ui.nix { };
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
programs.vim = {
|
programs.vim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
plugins = with pkgs.vimPlugins; [
|
plugins = builtins.attrValues {
|
||||||
|
inherit (pkgs.vimPlugins)
|
||||||
vim-sensible
|
vim-sensible
|
||||||
vim-fugitive
|
vim-fugitive
|
||||||
vim-eunuch
|
vim-eunuch
|
||||||
|
@ -14,6 +15,7 @@
|
||||||
nerdtree-git-plugin
|
nerdtree-git-plugin
|
||||||
vim-devicons
|
vim-devicons
|
||||||
editorconfig-vim
|
editorconfig-vim
|
||||||
];
|
;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,11 +8,11 @@
|
||||||
programs.vscode = lib.mkIf osConfig.services.displayManager.enable {
|
programs.vscode = lib.mkIf osConfig.services.displayManager.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.vscodium-fhs;
|
package = pkgs.vscodium-fhs;
|
||||||
extensions = with pkgs.vscode-extensions; [
|
extensions = [
|
||||||
mkhl.direnv
|
pkgs.vscode-extensions.mkhl.direnv
|
||||||
eamodio.gitlens
|
pkgs.vscode-extensions.eamodio.gitlens
|
||||||
jnoortheen.nix-ide
|
pkgs.vscode-extensions.jnoortheen.nix-ide
|
||||||
redhat.java
|
pkgs.vscode-extensions.redhat.java
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,9 +139,9 @@
|
||||||
services.adblock = {
|
services.adblock = {
|
||||||
startAt = "daily";
|
startAt = "daily";
|
||||||
postStop = "systemctl try-reload-or-restart unbound";
|
postStop = "systemctl try-reload-or-restart unbound";
|
||||||
path = with pkgs; [
|
path = [
|
||||||
gawk
|
pkgs.gawk
|
||||||
wget
|
pkgs.wget
|
||||||
];
|
];
|
||||||
script = ''
|
script = ''
|
||||||
wget -nv -O - https://raw.githubusercontent.com/hagezi/dns-blocklists/main/unbound/tif.blacklist.conf > /tmp/new.conf
|
wget -nv -O - https://raw.githubusercontent.com/hagezi/dns-blocklists/main/unbound/tif.blacklist.conf > /tmp/new.conf
|
||||||
|
@ -155,9 +155,9 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
systemPackages = with pkgs; [
|
systemPackages = [
|
||||||
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
pkgs.vim
|
||||||
wget
|
pkgs.wget
|
||||||
];
|
];
|
||||||
persistence."/persist" = {
|
persistence."/persist" = {
|
||||||
hideMounts = true;
|
hideMounts = true;
|
||||||
|
|
|
@ -63,7 +63,7 @@ in
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
permittedInsecurePackages = [ "electron-25.9.0" ];
|
permittedInsecurePackages = [ "electron-25.9.0" ];
|
||||||
packageOverrides = pkgs: {
|
packageOverrides = pkgs: {
|
||||||
steam = pkgs.steam.override { extraPkgs = pkgs: with pkgs; [ winetricks ]; };
|
steam = pkgs.steam.override { extraPkgs = pkgs: [ pkgs.winetricks ]; };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
hostPlatform = lib.mkDefault "x86_64-linux";
|
hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
@ -121,7 +121,9 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
systemPackages = with pkgs; [
|
systemPackages =
|
||||||
|
builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
vim-full
|
vim-full
|
||||||
libreoffice-qt
|
libreoffice-qt
|
||||||
firefox
|
firefox
|
||||||
|
@ -143,25 +145,27 @@ in
|
||||||
r2modman
|
r2modman
|
||||||
mangohud
|
mangohud
|
||||||
hack-font
|
hack-font
|
||||||
htop
|
|
||||||
jellyfin-media-player
|
jellyfin-media-player
|
||||||
konversation
|
konversation
|
||||||
nixd
|
nixd
|
||||||
yakuake
|
yakuake
|
||||||
mgba
|
mgba
|
||||||
vlc
|
vlc
|
||||||
pkgs-unstable.jetbrains.idea-community
|
|
||||||
dolphin-emu-primehack
|
dolphin-emu-primehack
|
||||||
steamtinkerlaunch
|
steamtinkerlaunch
|
||||||
mangohud
|
|
||||||
lutris
|
lutris
|
||||||
knossosnet
|
knossosnet
|
||||||
lilypond
|
lilypond
|
||||||
musescore
|
musescore
|
||||||
protontricks
|
protontricks
|
||||||
protonup-qt
|
protonup-qt
|
||||||
(retroarch.override {
|
;
|
||||||
cores = with libretro; [
|
inherit (pkgs-unstable.jetbrains) idea-community;
|
||||||
|
}
|
||||||
|
++ [
|
||||||
|
(pkgs.retroarch.override {
|
||||||
|
cores = builtins.attrValues {
|
||||||
|
inherit (pkgs.libretro)
|
||||||
beetle-psx-hw
|
beetle-psx-hw
|
||||||
pcsx2
|
pcsx2
|
||||||
mesen
|
mesen
|
||||||
|
@ -175,7 +179,8 @@ in
|
||||||
fbneo
|
fbneo
|
||||||
nxengine
|
nxengine
|
||||||
mgba
|
mgba
|
||||||
];
|
;
|
||||||
|
};
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
persistence."/persist" = {
|
persistence."/persist" = {
|
||||||
|
@ -212,9 +217,9 @@ in
|
||||||
remotePlay.openFirewall = true;
|
remotePlay.openFirewall = true;
|
||||||
gamescopeSession.enable = true;
|
gamescopeSession.enable = true;
|
||||||
};
|
};
|
||||||
firefox.nativeMessagingHosts.packages = with pkgs; [
|
firefox.nativeMessagingHosts.packages = [
|
||||||
keepassxc
|
pkgs.keepassxc
|
||||||
libsForQt5.plasma-browser-integration
|
pkgs.kdePackages.plasma-browser-integration
|
||||||
];
|
];
|
||||||
gamemode = {
|
gamemode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -258,7 +258,7 @@ in
|
||||||
imageFile = pkgs.dockerTools.buildLayeredImage {
|
imageFile = pkgs.dockerTools.buildLayeredImage {
|
||||||
name = "my-zwave-js-ui";
|
name = "my-zwave-js-ui";
|
||||||
tag = "latest";
|
tag = "latest";
|
||||||
contents = with pkgs; [ cacert ];
|
contents = [ pkgs.cacert ];
|
||||||
config.Cmd = [ "${inputs.self.packages.${pkgs.stdenv.system}.zwave-js-ui}/bin/zwave-js-ui" ];
|
config.Cmd = [ "${inputs.self.packages.${pkgs.stdenv.system}.zwave-js-ui}/bin/zwave-js-ui" ];
|
||||||
};
|
};
|
||||||
volumes = [ "zwave-config:/usr/src/app/store" ];
|
volumes = [ "zwave-config:/usr/src/app/store" ];
|
||||||
|
@ -488,15 +488,17 @@ in
|
||||||
};
|
};
|
||||||
nix.settings.trusted-users = [ "nixremote" ];
|
nix.settings.trusted-users = [ "nixremote" ];
|
||||||
environment = {
|
environment = {
|
||||||
systemPackages = with pkgs; [
|
systemPackages = builtins.attrValues {
|
||||||
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
inherit (pkgs)
|
||||||
|
vim
|
||||||
dive
|
dive
|
||||||
podman-tui
|
podman-tui
|
||||||
docker-compose
|
docker-compose
|
||||||
tcpdump
|
tcpdump
|
||||||
ethtool
|
ethtool
|
||||||
pkgs-unstable.recyclarr
|
;
|
||||||
];
|
inherit (pkgs-unstable) recyclarr;
|
||||||
|
};
|
||||||
persistence."/persist" = {
|
persistence."/persist" = {
|
||||||
enableWarnings = false;
|
enableWarnings = false;
|
||||||
hideMounts = true;
|
hideMounts = true;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{
|
{
|
||||||
boot.plymouth = {
|
boot.plymouth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
themePackages = with pkgs; [ (adi1090x-plymouth-themes.override { selected_themes = [ "owl" ]; }) ];
|
themePackages = [ (pkgs.adi1090x-plymouth-themes.override { selected_themes = [ "owl" ]; }) ];
|
||||||
theme = lib.mkForce "owl";
|
theme = lib.mkForce "owl";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,6 @@ buildNpmPackage rec {
|
||||||
description = "Full featured Z-Wave Control Panel and MQTT Gateway.";
|
description = "Full featured Z-Wave Control Panel and MQTT Gateway.";
|
||||||
homepage = "https://zwave-js.github.io/zwave-js-ui/";
|
homepage = "https://zwave-js.github.io/zwave-js-ui/";
|
||||||
license = lib.licenses.mit;
|
license = lib.licenses.mit;
|
||||||
maintainers = with lib.maintainers; [ cdombroski ];
|
maintainers = [ lib.maintainers.cdombroski ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue