Nix fmt rfc style (more or less)
This commit is contained in:
parent
e7496c447a
commit
515f098644
146 changed files with 2607 additions and 906 deletions
|
|
@ -3,15 +3,20 @@
|
|||
, xclip
|
||||
, coreutils
|
||||
, terminal-command ? "kitty -e"
|
||||
,
|
||||
}:
|
||||
# 64 │ function clipcopy() { xclip -in -selection clipboard < "${1:-/dev/stdin}"; }
|
||||
# 65 │ function clippaste() { xclip -out -selection clipboard; } clip
|
||||
writeShellScriptBin "clipedit" ''
|
||||
PATH=$PATH:"${lib.makeBinPath [ coreutils xclip ]}"
|
||||
PATH=$PATH:"${
|
||||
lib.makeBinPath [
|
||||
coreutils
|
||||
xclip
|
||||
]
|
||||
}"
|
||||
tmp_file=$(mktemp)
|
||||
xclip -out -selection -clipboard > $tmp_file
|
||||
${terminal-command} $VISUAL $tmp_file || ${terminal-command} $EDITOR $tmp_file
|
||||
xclip -in -selection clipboard < $tmp_file
|
||||
rm $tmp_file
|
||||
''
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
{ pkgs ? import <nixos> { inherit system; }, system ? builtins.currentSystem }:
|
||||
{ pkgs ? import <nixos> { inherit system; }
|
||||
, system ? builtins.currentSystem
|
||||
,
|
||||
}:
|
||||
let
|
||||
self = {
|
||||
clipedit = pkgs.callPackage ./clipedit { };
|
||||
|
|
|
|||
|
|
@ -4,11 +4,18 @@
|
|||
, libnotify
|
||||
, coreutils
|
||||
, keyboard_name ? "AT Translated Set 2 keyboard"
|
||||
,
|
||||
}:
|
||||
writeShellScriptBin "keyboard-switch" ''
|
||||
set -e
|
||||
|
||||
PATH=$PATH:"${lib.makeBinPath [ coreutils xorg.xinput libnotify ]}"
|
||||
PATH=$PATH:"${
|
||||
lib.makeBinPath [
|
||||
coreutils
|
||||
xorg.xinput
|
||||
libnotify
|
||||
]
|
||||
}"
|
||||
fconfig="''${XDG_DATA_HOME:-$HOME/.local/share}/keyboard-switch.state"
|
||||
if [ ! -f $fconfig ]; then
|
||||
echo "Creating config file"
|
||||
|
|
@ -31,5 +38,3 @@ writeShellScriptBin "keyboard-switch" ''
|
|||
echo 'disabled' > $fconfig
|
||||
fi
|
||||
''
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -10,8 +10,10 @@
|
|||
, palette ? rice.palette.palette { }
|
||||
, ...
|
||||
}:
|
||||
let strPalette = lib.nix-rice.palette.toRGBAHex palette;
|
||||
in writeScriptBin "lockscreen" ''
|
||||
let
|
||||
strPalette = lib.nix-rice.palette.toRGBAHex palette;
|
||||
in
|
||||
writeScriptBin "lockscreen" ''
|
||||
# Using font package ${font.package}
|
||||
${i3lock-color}/bin/i3lock-color \
|
||||
--insidever-color="${strPalette.normal.green}" \
|
||||
|
|
|
|||
|
|
@ -1,4 +1,10 @@
|
|||
{ lib, stdenv, fetchFromGitHub, sddm, qt5 }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, sddm
|
||||
, qt5
|
||||
,
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
pname = "sddm-sugar-dark";
|
||||
version = "2023-02-17";
|
||||
|
|
@ -35,4 +41,3 @@ stdenv.mkDerivation {
|
|||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,10 @@
|
|||
{ lib, stdenv, fetchFromGitHub, fira-mono, wallpaper ? null }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fira-mono
|
||||
, wallpaper ? null
|
||||
,
|
||||
}:
|
||||
with lib;
|
||||
stdenv.mkDerivation {
|
||||
pname = "sddm-theme-clairvoyance";
|
||||
|
|
@ -13,10 +19,12 @@ stdenv.mkDerivation {
|
|||
|
||||
buildInputs = [ fira-mono ];
|
||||
|
||||
installPhase = ''
|
||||
installPhase =
|
||||
''
|
||||
mkdir -p $out/usr/share/sddm/themes/
|
||||
cp -a . $out/usr/share/sddm/themes/clairvoyance
|
||||
'' + optionalString (wallpaper != null) ''
|
||||
''
|
||||
+ optionalString (wallpaper != null) ''
|
||||
cp ${wallpaper} $out/usr/share/sddm/themes/clairvoyance/Assets/Background.jpg
|
||||
'';
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
, coreutils
|
||||
, writeScriptBin
|
||||
, backgrounds_directory ? "$HOME/Immagini/Sfondi"
|
||||
,
|
||||
}:
|
||||
let
|
||||
find = "${findutils}/bin/find";
|
||||
|
|
|
|||
|
|
@ -11,8 +11,10 @@
|
|||
, palette ? rice.palette.palette { }
|
||||
, ...
|
||||
}:
|
||||
let strPalette = lib.nix-rice.palette.toRgbaShortHex palette;
|
||||
in writeScriptBin "way-lockscreen" ''
|
||||
let
|
||||
strPalette = lib.nix-rice.palette.toRgbaShortHex palette;
|
||||
in
|
||||
writeScriptBin "way-lockscreen" ''
|
||||
# Using font package ${font.package}
|
||||
${swaylock}/bin/swaylock \
|
||||
--color "${strPalette.primary.background}" \
|
||||
|
|
@ -35,4 +37,3 @@ in writeScriptBin "way-lockscreen" ''
|
|||
# --indicator-radius 120 \
|
||||
# --indicator-thickness 15 \
|
||||
''
|
||||
|
||||
|
|
|
|||
|
|
@ -4,16 +4,20 @@
|
|||
, coreutils
|
||||
, editor ? "hx"
|
||||
, terminal-command ? "kitty -e"
|
||||
,
|
||||
}:
|
||||
# 64 │ function clipcopy() { xclip -in -selection clipboard < "${1:-/dev/stdin}"; }
|
||||
# 65 │ function clippaste() { xclip -out -selection clipboard; } clip
|
||||
writeShellScriptBin "wl-clipedit" ''
|
||||
PATH=$PATH:"${lib.makeBinPath [ coreutils wl-clipboard ]}"
|
||||
PATH=$PATH:"${
|
||||
lib.makeBinPath [
|
||||
coreutils
|
||||
wl-clipboard
|
||||
]
|
||||
}"
|
||||
tmp_file=$(mktemp)
|
||||
wl-paste -t 'text/plain;charset=utf-8' -n > "$tmp_file"
|
||||
${terminal-command} ''${VISUAL:-''${EDITOR:-${editor}}} "$tmp_file"
|
||||
wl-copy -t 'text/plain;charset=utf-8' -n < "$tmp_file"
|
||||
rm "$tmp_file"
|
||||
''
|
||||
|
||||
|
||||
|
|
|
|||
11
default.nix
11
default.nix
|
|
@ -1,10 +1,13 @@
|
|||
(import
|
||||
(
|
||||
let lock = builtins.fromJSON (builtins.readFile ./flake.lock); in
|
||||
let
|
||||
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
|
||||
in
|
||||
fetchTarball {
|
||||
url = lock.nodes.flake-compat.locked.url or "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz";
|
||||
url =
|
||||
lock.nodes.flake-compat.locked.url
|
||||
or "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz";
|
||||
sha256 = lock.nodes.flake-compat.locked.narHash;
|
||||
}
|
||||
)
|
||||
{ src = ./.; }
|
||||
).defaultNix
|
||||
{ src = ./.; }).defaultNix
|
||||
|
|
|
|||
308
flake.nix
308
flake.nix
|
|
@ -6,19 +6,53 @@
|
|||
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/release-24.05";
|
||||
nixpkgs-u.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
home-manager = { url = "github:nix-community/home-manager/release-24.05"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-24.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
# home-manager-u = { url = "github:nix-community/home-manager"; inputs = { nixpkgs.follows = "nixpkgs-u"; }; };
|
||||
|
||||
agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||
deploy-rs = { url = "github:serokell/deploy-rs"; inputs = { nixpkgs.follows = "nixpkgs"; }; };
|
||||
agenix = {
|
||||
url = "github:ryantm/agenix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
deploy-rs = {
|
||||
url = "github:serokell/deploy-rs";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
nix-rice.url = "github:bertof/nix-rice";
|
||||
nixos-generators = { url = "github:nix-community/nixos-generators"; inputs = { nixpkgs.follows = "nixpkgs"; }; };
|
||||
nixos-generators = {
|
||||
url = "github:nix-community/nixos-generators";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
||||
pre-commit-hooks = { url = "github:cachix/pre-commit-hooks.nix"; inputs = { nixpkgs.follows = "nixpkgs"; }; };
|
||||
pre-commit-hooks = {
|
||||
url = "github:cachix/pre-commit-hooks.nix";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, nixpkgs-u, home-manager, agenix, deploy-rs, flake-utils, nixos-generators, nixos-hardware, nix-rice, pre-commit-hooks, ... }:
|
||||
outputs =
|
||||
{ self
|
||||
, nixpkgs
|
||||
, nixpkgs-u
|
||||
, home-manager
|
||||
, agenix
|
||||
, deploy-rs
|
||||
, flake-utils
|
||||
, nixos-generators
|
||||
, nixos-hardware
|
||||
, nix-rice
|
||||
, pre-commit-hooks
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
|
|
@ -33,8 +67,14 @@
|
|||
overlays = [
|
||||
# Combine stable and unstable packages
|
||||
(self: _: {
|
||||
stable_pkgs = import nixpkgs { inherit config overlays; inherit (self) system; };
|
||||
unstable_pkgs = import nixpkgs-u { inherit config overlays; inherit (self) system; };
|
||||
stable_pkgs = import nixpkgs {
|
||||
inherit config overlays;
|
||||
inherit (self) system;
|
||||
};
|
||||
unstable_pkgs = import nixpkgs-u {
|
||||
inherit config overlays;
|
||||
inherit (self) system;
|
||||
};
|
||||
})
|
||||
|
||||
# Nix rice
|
||||
|
|
@ -45,24 +85,47 @@
|
|||
(self: super: {
|
||||
clipedit = self.callPackage ./custom/clipedit { };
|
||||
wl-clipedit = self.callPackage ./custom/wl-clipedit { };
|
||||
update-background = self.callPackage ./custom/update-background { backgrounds_directory = "$HOME/Immagini/Sfondi/1080+/1440+"; };
|
||||
lockscreen = self.callPackage ./custom/lockscreen { palette = self.rice.colorPalette; font = self.rice.font.normal; };
|
||||
way-lockscreen = self.callPackage ./custom/way-lockscreen { palette = self.rice.colorPalette; font = self.rice.font.normal; };
|
||||
sddm-theme-clairvoyance = self.callPackage ./custom/sddm-theme-clairvoyance { wallpaper = ./wallpapers/background.jpg; };
|
||||
update-background = self.callPackage ./custom/update-background {
|
||||
backgrounds_directory = "$HOME/Immagini/Sfondi/1080+/1440+";
|
||||
};
|
||||
lockscreen = self.callPackage ./custom/lockscreen {
|
||||
palette = self.rice.colorPalette;
|
||||
font = self.rice.font.normal;
|
||||
};
|
||||
way-lockscreen = self.callPackage ./custom/way-lockscreen {
|
||||
palette = self.rice.colorPalette;
|
||||
font = self.rice.font.normal;
|
||||
};
|
||||
sddm-theme-clairvoyance = self.callPackage ./custom/sddm-theme-clairvoyance {
|
||||
wallpaper = ./wallpapers/background.jpg;
|
||||
};
|
||||
keyboard-switch = self.callPackage ./custom/keyboard-switch { };
|
||||
sddm-sugar-dark = self.callPackage ./custom/sddm-sugar-dark { };
|
||||
google-chrome = super.google-chrome.override { commandLineArgs = [ "--password-store=gnome" "--force-dark-mode" ]; };
|
||||
google-chrome = super.google-chrome.override {
|
||||
commandLineArgs = [
|
||||
"--password-store=gnome"
|
||||
"--force-dark-mode"
|
||||
];
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
basic = with flake-utils.lib;
|
||||
eachDefaultSystem (system:
|
||||
let pkgs = import nixpkgs { inherit system config overlays; };
|
||||
in {
|
||||
basic =
|
||||
with flake-utils.lib;
|
||||
eachDefaultSystem (
|
||||
system:
|
||||
let
|
||||
pkgs = import nixpkgs { inherit system config overlays; };
|
||||
in
|
||||
{
|
||||
checks = {
|
||||
pre-commit-check = pre-commit-hooks.lib.${system}.run {
|
||||
src = ./.;
|
||||
hooks = { deadnix.enable = true; nixpkgs-fmt.enable = true; statix.enable = true; };
|
||||
hooks = {
|
||||
deadnix.enable = true;
|
||||
nixpkgs-fmt.enable = true;
|
||||
statix.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -78,15 +141,30 @@
|
|||
};
|
||||
|
||||
formatter = pkgs.nixpkgs-fmt;
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
nix_configuration = {
|
||||
nixpkgs = { inherit overlays config; };
|
||||
nixpkgs = {
|
||||
inherit overlays config;
|
||||
};
|
||||
nix = {
|
||||
inherit (config) extraOptions;
|
||||
registry = {
|
||||
stable = { from = { id = "stable"; type = "indirect"; }; flake = nixpkgs; };
|
||||
unstable = { from = { id = "unstable"; type = "indirect"; }; flake = nixpkgs-u; };
|
||||
stable = {
|
||||
from = {
|
||||
id = "stable";
|
||||
type = "indirect";
|
||||
};
|
||||
flake = nixpkgs;
|
||||
};
|
||||
unstable = {
|
||||
from = {
|
||||
id = "unstable";
|
||||
type = "indirect";
|
||||
};
|
||||
flake = nixpkgs-u;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -94,7 +172,12 @@
|
|||
# Home manager configuration
|
||||
homeManagerModules = [
|
||||
home-manager.nixosModules.default
|
||||
{ home-manager = { useGlobalPkgs = true; useUserPackages = true; }; }
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
# homeManagerUModules = [
|
||||
|
|
@ -112,9 +195,15 @@
|
|||
age.secrets = {
|
||||
# oauth_proxy_client_credentials.file = ./secrets/oauth_proxy_client_credentials.age;
|
||||
# spotify_password = { file = ./secrets/spotify_password.age; owner = "bertof"; };
|
||||
wg_psk = { file = ./secrets/wg_psk.age; };
|
||||
baldur_wg_priv = { file = ./secrets/baldur_wg_priv.age; };
|
||||
oppo_wg_priv = { file = ./secrets/oppo_wg_priv.age; };
|
||||
wg_psk = {
|
||||
file = ./secrets/wg_psk.age;
|
||||
};
|
||||
baldur_wg_priv = {
|
||||
file = ./secrets/baldur_wg_priv.age;
|
||||
};
|
||||
oppo_wg_priv = {
|
||||
file = ./secrets/oppo_wg_priv.age;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -130,7 +219,9 @@
|
|||
nixosConfigurations = {
|
||||
thor = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = commonModules ++ [
|
||||
modules =
|
||||
commonModules
|
||||
++ [
|
||||
./modules/nixos/server
|
||||
|
||||
./instances/thor/hardware-configuration.nix
|
||||
|
|
@ -151,9 +242,9 @@
|
|||
}
|
||||
|
||||
./modules/nixos/musa.nix
|
||||
] ++ homeManagerModules ++ [
|
||||
{ home-manager.users.bertof = import ./instances/thor/hm.nix; }
|
||||
];
|
||||
]
|
||||
++ homeManagerModules
|
||||
++ [{ home-manager.users.bertof = import ./instances/thor/hm.nix; }];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -175,28 +266,20 @@
|
|||
./modules/nixos/steam.nix
|
||||
|
||||
./modules/nixos/hyprland.nix
|
||||
{
|
||||
home-manager.users.bertof.imports = [
|
||||
./modules/hm/hyprland.nix
|
||||
];
|
||||
}
|
||||
{ home-manager.users.bertof.imports = [ ./modules/hm/hyprland.nix ]; }
|
||||
|
||||
./modules/nixos/musa.nix
|
||||
] ++ homeManagerModules ++ [
|
||||
{ home-manager.users.bertof = import ./instances/odin/hm.nix; }
|
||||
];
|
||||
] ++ homeManagerModules ++ [{ home-manager.users.bertof = import ./instances/odin/hm.nix; }];
|
||||
in
|
||||
rec {
|
||||
odin-nvidia = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = commonModules ++ odinCommonModules
|
||||
++ [ ./instances/odin/configuration-nvidia.nix ];
|
||||
modules = commonModules ++ odinCommonModules ++ [ ./instances/odin/configuration-nvidia.nix ];
|
||||
};
|
||||
|
||||
odin-intel = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = commonModules ++ odinCommonModules
|
||||
++ [ ./instances/odin/configuration-intel.nix ];
|
||||
modules = commonModules ++ odinCommonModules ++ [ ./instances/odin/configuration-intel.nix ];
|
||||
};
|
||||
|
||||
odin = odin-intel;
|
||||
|
|
@ -207,7 +290,9 @@
|
|||
nixosConfigurations = {
|
||||
heimdall = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = commonModules ++ [
|
||||
modules =
|
||||
commonModules
|
||||
++ [
|
||||
nixos-hardware.nixosModules.common-cpu-amd
|
||||
nixos-hardware.nixosModules.common-gpu-amd
|
||||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
|
@ -223,9 +308,9 @@
|
|||
./modules/nixos/rclone.nix
|
||||
./modules/nixos/nextcloud.nix
|
||||
# ./modules/nixos/ntfy.nix
|
||||
] ++ homeManagerModules ++ [
|
||||
{ home-manager.users.bertof = import ./instances/heimdall/hm.nix; }
|
||||
];
|
||||
]
|
||||
++ homeManagerModules
|
||||
++ [{ home-manager.users.bertof = import ./instances/heimdall/hm.nix; }];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -234,11 +319,24 @@
|
|||
nixosConfigurations = {
|
||||
freya = nixpkgs.lib.nixosSystem {
|
||||
system = "aarch64-linux";
|
||||
modules = commonModules ++ [
|
||||
modules =
|
||||
commonModules
|
||||
++ [
|
||||
nixos-hardware.nixosModules.raspberry-pi-4
|
||||
({ lib, ... }: {
|
||||
boot.supportedFilesystems = lib.mkForce [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "ntfs" "cifs" ];
|
||||
})
|
||||
(
|
||||
{ lib, ... }:
|
||||
{
|
||||
boot.supportedFilesystems = lib.mkForce [
|
||||
"btrfs"
|
||||
"reiserfs"
|
||||
"vfat"
|
||||
"f2fs"
|
||||
"xfs"
|
||||
"ntfs"
|
||||
"cifs"
|
||||
];
|
||||
}
|
||||
)
|
||||
./modules/nixos/server
|
||||
|
||||
./instances/freya/hardware-configuration.nix
|
||||
|
|
@ -250,9 +348,9 @@
|
|||
./modules/nixos/minio.nix
|
||||
# ./modules/nixos/nextcloud.nix
|
||||
./modules/nixos/ntfy.nix
|
||||
] ++ homeManagerModules ++ [
|
||||
{ home-manager.users.bertof = import ./instances/freya/hm.nix; }
|
||||
];
|
||||
]
|
||||
++ homeManagerModules
|
||||
++ [{ home-manager.users.bertof = import ./instances/freya/hm.nix; }];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -282,7 +380,9 @@
|
|||
nixosConfigurations = {
|
||||
loki = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = commonModules ++ [
|
||||
modules =
|
||||
commonModules
|
||||
++ [
|
||||
./modules/nixos/server
|
||||
|
||||
nixos-hardware.nixosModules.common-cpu-intel
|
||||
|
|
@ -291,43 +391,108 @@
|
|||
./instances/loki/configuration.nix
|
||||
|
||||
./modules/nixos/users/tiziano.nix
|
||||
] ++ homeManagerModules ++ [{
|
||||
]
|
||||
++ homeManagerModules
|
||||
++ [
|
||||
{
|
||||
home-manager.users.bertof = import ./instances/loki/hm.nix;
|
||||
home-manager.users.tiziano = import ./instances/loki/hm_tiziano.nix;
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
deployments = {
|
||||
# Deploy-rs checks
|
||||
checks = builtins.mapAttrs
|
||||
(_system: deployLib: deployLib.deployChecks self.deploy)
|
||||
deploy-rs.lib;
|
||||
checks = builtins.mapAttrs (_system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib;
|
||||
|
||||
# Map nodes to Deploy-rs deployments
|
||||
deploy.nodes = {
|
||||
baldur = { hostname = "baldur.bertof.net"; profiles.system = { user = "root"; path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.baldur; }; };
|
||||
freya = { hostname = "freya.tsn"; profiles.system = { user = "root"; path = deploy-rs.lib.aarch64-linux.activate.nixos self.nixosConfigurations.freya; }; };
|
||||
heimdall = { hostname = "heimdall.tsn"; profiles.system = { user = "root"; path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.heimdall; }; };
|
||||
loki = { hostname = "loki.tsn"; profiles.system = { user = "root"; path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.loki; }; };
|
||||
odin = { hostname = "odin.tsn"; profiles.system = { user = "root"; path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.odin; }; };
|
||||
thor = { hostname = "thor.tsn"; profiles.system = { user = "root"; path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.thor; }; };
|
||||
baldur = {
|
||||
hostname = "baldur.bertof.net";
|
||||
profiles.system = {
|
||||
user = "root";
|
||||
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.baldur;
|
||||
};
|
||||
};
|
||||
freya = {
|
||||
hostname = "freya.tsn";
|
||||
profiles.system = {
|
||||
user = "root";
|
||||
path = deploy-rs.lib.aarch64-linux.activate.nixos self.nixosConfigurations.freya;
|
||||
};
|
||||
};
|
||||
heimdall = {
|
||||
hostname = "heimdall.tsn";
|
||||
profiles.system = {
|
||||
user = "root";
|
||||
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.heimdall;
|
||||
};
|
||||
};
|
||||
loki = {
|
||||
hostname = "loki.tsn";
|
||||
profiles.system = {
|
||||
user = "root";
|
||||
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.loki;
|
||||
};
|
||||
};
|
||||
odin = {
|
||||
hostname = "odin.tsn";
|
||||
profiles.system = {
|
||||
user = "root";
|
||||
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.odin;
|
||||
};
|
||||
};
|
||||
thor = {
|
||||
hostname = "thor.tsn";
|
||||
profiles.system = {
|
||||
user = "root";
|
||||
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.thor;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
images = with flake-utils.lib; eachSystem [ system.x86_64-linux system.aarch64-linux ] (system: {
|
||||
images =
|
||||
with flake-utils.lib;
|
||||
eachSystem
|
||||
[
|
||||
system.x86_64-linux
|
||||
system.aarch64-linux
|
||||
]
|
||||
(system: {
|
||||
packages = {
|
||||
# Installer ISO
|
||||
install-iso = nixos-generators.nixosGenerate { inherit system; modules = installerModules; format = "install-iso"; };
|
||||
install-iso = nixos-generators.nixosGenerate {
|
||||
inherit system;
|
||||
modules = installerModules;
|
||||
format = "install-iso";
|
||||
};
|
||||
# RAW base image
|
||||
raw-base-image = nixos-generators.nixosGenerate { system = flake-utils.lib.system.x86_64-linux; modules = installerModules; format = "raw-efi"; };
|
||||
raw-base-image = nixos-generators.nixosGenerate {
|
||||
system = flake-utils.lib.system.x86_64-linux;
|
||||
modules = installerModules;
|
||||
format = "raw-efi";
|
||||
};
|
||||
# VMDK base image
|
||||
vmdk-base-image = nixos-generators.nixosGenerate { system = flake-utils.lib.system.x86_64-linux; modules = installerModules; format = "vmware"; };
|
||||
vmdk-base-image = nixos-generators.nixosGenerate {
|
||||
system = flake-utils.lib.system.x86_64-linux;
|
||||
modules = installerModules;
|
||||
format = "vmware";
|
||||
};
|
||||
# Aarch64 base image
|
||||
aarch64-base-image = nixos-generators.nixosGenerate { system = flake-utils.lib.system.aarch64-linux; modules = installerModules; format = "sd-aarch64"; };
|
||||
aarch64-base-image = nixos-generators.nixosGenerate {
|
||||
system = flake-utils.lib.system.aarch64-linux;
|
||||
modules = installerModules;
|
||||
format = "sd-aarch64";
|
||||
};
|
||||
# Installer DigitalOcean
|
||||
do-image = nixos-generators.nixosGenerate { inherit system; modules = installerModules; format = "do"; };
|
||||
do-image = nixos-generators.nixosGenerate {
|
||||
inherit system;
|
||||
modules = installerModules;
|
||||
format = "do";
|
||||
};
|
||||
};
|
||||
});
|
||||
|
||||
|
|
@ -344,4 +509,3 @@
|
|||
images
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,4 +43,3 @@
|
|||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,9 +7,16 @@
|
|||
|
||||
boot = {
|
||||
growPartition = true;
|
||||
kernelParams = [ "console=ttyS0" "panic=1" "boot.panic_on_fail" ];
|
||||
kernelParams = [
|
||||
"console=ttyS0"
|
||||
"panic=1"
|
||||
"boot.panic_on_fail"
|
||||
];
|
||||
initrd.kernelModules = [ "virtio_scsi" ];
|
||||
kernelModules = [ "virtio_pci" "virtio_net" ];
|
||||
kernelModules = [
|
||||
"virtio_pci"
|
||||
"virtio_net"
|
||||
];
|
||||
loader = {
|
||||
grub.device = "/dev/sda";
|
||||
timeout = 0;
|
||||
|
|
@ -24,13 +31,20 @@
|
|||
|
||||
environment = {
|
||||
pathsToLink = [ "/share/zsh" ];
|
||||
systemPackages = [ pkgs.helix pkgs.zellij pkgs.kitty.terminfo ];
|
||||
systemPackages = [
|
||||
pkgs.helix
|
||||
pkgs.zellij
|
||||
pkgs.kitty.terminfo
|
||||
];
|
||||
};
|
||||
|
||||
i18n.defaultLocale = "it_IT.UTF-8";
|
||||
|
||||
programs = {
|
||||
gnupg.agent = { enable = true; enableSSHSupport = true; };
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
zsh.enable = true;
|
||||
};
|
||||
|
||||
|
|
@ -65,29 +79,40 @@
|
|||
recommendedTlsSettings = true;
|
||||
virtualHosts =
|
||||
let
|
||||
ssl = { enableACME = true; forceSSL = true; };
|
||||
ssl = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
};
|
||||
in
|
||||
{
|
||||
"me.bertof.net" = ssl // {
|
||||
locations."/".extraConfig =
|
||||
"rewrite ^/(.*)$ https://homes.di.unimi.it/berto/$1 redirect ;";
|
||||
locations."/".extraConfig = "rewrite ^/(.*)$ https://homes.di.unimi.it/berto/$1 redirect ;";
|
||||
};
|
||||
"home-assistant.bertof.net" = ssl // {
|
||||
locations."/" = { proxyPass = "http://loki.tsn:8123/"; proxyWebsockets = true; };
|
||||
locations."/" = {
|
||||
proxyPass = "http://loki.tsn:8123/";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
extraConfig = ''
|
||||
proxy_pass_header Authorization;
|
||||
proxy_buffering off;
|
||||
'';
|
||||
};
|
||||
"s3.bertof.net" = ssl // {
|
||||
locations."/" = { proxyPass = "http://heimdall.tsn:9000/"; proxyWebsockets = true; };
|
||||
locations."/" = {
|
||||
proxyPass = "http://heimdall.tsn:9000/";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
extraConfig = ''
|
||||
proxy_pass_header Authorization;
|
||||
proxy_buffering off;
|
||||
'';
|
||||
};
|
||||
"hass.bertof.net" = ssl // {
|
||||
locations."/" = { proxyPass = "http://heimdall.tsn:8123/"; proxyWebsockets = true; };
|
||||
locations."/" = {
|
||||
proxyPass = "http://heimdall.tsn:8123/";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
extraConfig = ''
|
||||
proxy_pass_header Authorization;
|
||||
proxy_buffering off;
|
||||
|
|
@ -120,14 +145,37 @@
|
|||
'';
|
||||
};
|
||||
};
|
||||
"radarr.bertof.net" = ssl // { locations."/" = { proxyPass = "http://heimdall.tsn:7878/"; proxyWebsockets = true; }; };
|
||||
"sonarr.bertof.net" = ssl // { locations."/" = { proxyPass = "http://heimdall.tsn:8989/"; proxyWebsockets = true; }; };
|
||||
"lidarr.bertof.net" = ssl // { locations."/" = { proxyPass = "http://heimdall.tsn:8686/"; proxyWebsockets = true; }; };
|
||||
"radarr.bertof.net" = ssl // {
|
||||
locations."/" = {
|
||||
proxyPass = "http://heimdall.tsn:7878/";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"sonarr.bertof.net" = ssl // {
|
||||
locations."/" = {
|
||||
proxyPass = "http://heimdall.tsn:8989/";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"lidarr.bertof.net" = ssl // {
|
||||
locations."/" = {
|
||||
proxyPass = "http://heimdall.tsn:8686/";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
# "ombi.bertof.net" = ssl // { locations."/" = { proxyPass = "http://heimdall.tsn:5000/"; proxyWebsockets = true; }; };
|
||||
"jellyfin.bertof.net" = ssl // { locations."/" = { proxyPass = "http://heimdall.tsn:8096/"; proxyWebsockets = true; }; };
|
||||
"jellyfin.bertof.net" = ssl // {
|
||||
locations."/" = {
|
||||
proxyPass = "http://heimdall.tsn:8096/";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
openssh = { enable = true; openFirewall = true; };
|
||||
};
|
||||
};
|
||||
openssh = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
# wgautomesh = {
|
||||
# enable = true;
|
||||
# settings = {
|
||||
|
|
@ -136,7 +184,10 @@
|
|||
# };
|
||||
};
|
||||
|
||||
security.acme = { acceptTerms = true; defaults.email = "filippo.berto95@gmail.com"; };
|
||||
security.acme = {
|
||||
acceptTerms = true;
|
||||
defaults.email = "filippo.berto95@gmail.com";
|
||||
};
|
||||
|
||||
users.users.bertof = {
|
||||
isNormalUser = true;
|
||||
|
|
@ -174,8 +225,15 @@
|
|||
firewall = {
|
||||
enable = true;
|
||||
allowPing = true;
|
||||
allowedTCPPorts = [ 80 443 53 ];
|
||||
allowedUDPPorts = [ 53 51820 ];
|
||||
allowedTCPPorts = [
|
||||
80
|
||||
443
|
||||
53
|
||||
];
|
||||
allowedUDPPorts = [
|
||||
53
|
||||
51820
|
||||
];
|
||||
# interfaces.ens3.allowedTCPPorts = [ 52123 53 ];
|
||||
# interfaces.ens3.allowedUDPPorts = [ 53 ];
|
||||
# extraCommands = ''iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns'';
|
||||
|
|
|
|||
|
|
@ -5,7 +5,13 @@
|
|||
|
||||
boot = {
|
||||
initrd = {
|
||||
availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" ];
|
||||
availableKernelModules = [
|
||||
"ata_piix"
|
||||
"uhci_hcd"
|
||||
"virtio_pci"
|
||||
"virtio_scsi"
|
||||
"sd_mod"
|
||||
];
|
||||
kernelModules = [ ];
|
||||
};
|
||||
|
||||
|
|
@ -19,6 +25,9 @@
|
|||
};
|
||||
|
||||
swapDevices = [
|
||||
{ device = "/swapfile"; size = 1024 * 1; }
|
||||
{
|
||||
device = "/swapfile";
|
||||
size = 1024 * 1;
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,14 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home = {
|
||||
language.base = "it_IT.UTF-8";
|
||||
keyboard = {
|
||||
layout = "it";
|
||||
options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" "grp:menu_toggle" ];
|
||||
options = [
|
||||
"terminate:ctrl_alt_bksp"
|
||||
"compose:rctrl"
|
||||
"grp:menu_toggle"
|
||||
];
|
||||
};
|
||||
packages = builtins.attrValues { inherit (pkgs) nix-prefetch-scripts; };
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,9 +1,13 @@
|
|||
{ ... }: {
|
||||
{ ... }:
|
||||
{
|
||||
home = {
|
||||
language.base = "it_IT.UTF-8";
|
||||
keyboard = {
|
||||
layout = "it";
|
||||
options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" ];
|
||||
options = [
|
||||
"terminate:ctrl_alt_bksp"
|
||||
"compose:rctrl"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,24 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
{ pkgs
|
||||
, lib
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
hosts = import ../../hosts.nix;
|
||||
in
|
||||
{
|
||||
|
||||
age.secrets = {
|
||||
ntfy-freya = { file = ../../secrets/ntfy-freya.age; owner = "bertof"; };
|
||||
ntfy-freya = {
|
||||
file = ../../secrets/ntfy-freya.age;
|
||||
owner = "bertof";
|
||||
};
|
||||
};
|
||||
|
||||
console = { font = "Lat2-Terminus16"; keyMap = "it"; };
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
keyMap = "it";
|
||||
};
|
||||
|
||||
environment = {
|
||||
pathsToLink = [ "/share/zsh" ];
|
||||
|
|
@ -20,7 +30,10 @@ in
|
|||
enable = true;
|
||||
# package = pkgs.bluezFull;
|
||||
};
|
||||
opengl = { enable = true; driSupport = true; };
|
||||
opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
};
|
||||
raspberry-pi."4" = {
|
||||
# audio.enable = true; # AUDIO
|
||||
fkms-3d.enable = true; # GPU
|
||||
|
|
@ -52,7 +65,10 @@ in
|
|||
|
||||
programs = {
|
||||
dconf.enable = true;
|
||||
gnupg.agent = { enable = true; enableSSHSupport = true; };
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
zsh.enable = true;
|
||||
};
|
||||
|
||||
|
|
@ -77,14 +93,24 @@ in
|
|||
blueman.enable = true;
|
||||
dbus.packages = [ pkgs.dconf ];
|
||||
gnome.gnome-keyring.enable = true;
|
||||
openssh = { enable = true; openFirewall = true; };
|
||||
openssh = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
# xserver = {
|
||||
# enable = true;
|
||||
# desktopManager.retroarch = { enable = true; package = pkgs.retroarchFull; };
|
||||
# };
|
||||
|
||||
fail2ban = { enable = true; bantime-increment.enable = true; };
|
||||
plex = { enable = true; openFirewall = true; group = "users"; };
|
||||
fail2ban = {
|
||||
enable = true;
|
||||
bantime-increment.enable = true;
|
||||
};
|
||||
plex = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
group = "users";
|
||||
};
|
||||
# jellyfin = { enable = true; openFirewall = true; group = "users"; };
|
||||
|
||||
home-assistant = {
|
||||
|
|
@ -246,11 +272,13 @@ in
|
|||
# "!secret famiglia_t_chat_id"
|
||||
# ];
|
||||
# }];
|
||||
tts = [{
|
||||
tts = [
|
||||
{
|
||||
platform = "google_translate";
|
||||
language = "it";
|
||||
# tld = "it";
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
configDir = "/var/lib/hass";
|
||||
configWritable = true;
|
||||
|
|
@ -336,12 +364,18 @@ in
|
|||
prometheus = {
|
||||
enable = true;
|
||||
exporters = {
|
||||
node = { enable = true; enabledCollectors = [ "systemd" ]; };
|
||||
node = {
|
||||
enable = true;
|
||||
enabledCollectors = [ "systemd" ];
|
||||
};
|
||||
process = {
|
||||
enable = true;
|
||||
settings.process_names = [
|
||||
# Remove nix store path from process name
|
||||
{ name = "{{.Matches.Wrapped}} {{ .Matches.Args }}"; cmdline = [ "^/nix/store[^ ]*/(?P<Wrapped>[^ /]*) (?P<Args>.*)" ]; }
|
||||
{
|
||||
name = "{{.Matches.Wrapped}} {{ .Matches.Args }}";
|
||||
cmdline = [ "^/nix/store[^ ]*/(?P<Wrapped>[^ /]*) (?P<Args>.*)" ];
|
||||
}
|
||||
];
|
||||
};
|
||||
systemd.enable = true;
|
||||
|
|
@ -352,15 +386,21 @@ in
|
|||
scrapeConfigs = [
|
||||
{
|
||||
job_name = "node";
|
||||
static_configs = [{ targets = [ "localhost:${toString config.services.prometheus.exporters.node.port}" ]; }];
|
||||
static_configs = [
|
||||
{ targets = [ "localhost:${toString config.services.prometheus.exporters.node.port}" ]; }
|
||||
];
|
||||
}
|
||||
{
|
||||
job_name = "process";
|
||||
static_configs = [{ targets = [ "localhost:${toString config.services.prometheus.exporters.process.port}" ]; }];
|
||||
static_configs = [
|
||||
{ targets = [ "localhost:${toString config.services.prometheus.exporters.process.port}" ]; }
|
||||
];
|
||||
}
|
||||
{
|
||||
job_name = "systemd";
|
||||
static_configs = [{ targets = [ "localhost:${toString config.services.prometheus.exporters.systemd.port}" ]; }];
|
||||
static_configs = [
|
||||
{ targets = [ "localhost:${toString config.services.prometheus.exporters.systemd.port}" ]; }
|
||||
];
|
||||
}
|
||||
];
|
||||
retentionTime = "15d";
|
||||
|
|
@ -368,15 +408,29 @@ in
|
|||
|
||||
snapper.configs =
|
||||
let
|
||||
common = { TIMELINE_CREATE = true; TIMELINE_CLEANUP = true; };
|
||||
common = {
|
||||
TIMELINE_CREATE = true;
|
||||
TIMELINE_CLEANUP = true;
|
||||
};
|
||||
in
|
||||
{
|
||||
bertof = lib.recursiveUpdate common { SUBVOLUME = "/mnt/raid/bertof/"; ALLOW_USERS = [ "bertof" ]; };
|
||||
tiziano = lib.recursiveUpdate common { SUBVOLUME = "/mnt/raid/tiziano/"; ALLOW_USERS = [ "tiziano" ]; };
|
||||
condiviso = lib.recursiveUpdate common { SUBVOLUME = "/mnt/raid/condiviso"; ALLOW_USERS = [ "bertof" "tiziano" ]; };
|
||||
bertof = lib.recursiveUpdate common {
|
||||
SUBVOLUME = "/mnt/raid/bertof/";
|
||||
ALLOW_USERS = [ "bertof" ];
|
||||
};
|
||||
tiziano = lib.recursiveUpdate common {
|
||||
SUBVOLUME = "/mnt/raid/tiziano/";
|
||||
ALLOW_USERS = [ "tiziano" ];
|
||||
};
|
||||
condiviso = lib.recursiveUpdate common {
|
||||
SUBVOLUME = "/mnt/raid/condiviso";
|
||||
ALLOW_USERS = [
|
||||
"bertof"
|
||||
"tiziano"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
time.timeZone = "Europe/Rome";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,15 @@
|
|||
{ lib, modulesPath, ... }:
|
||||
{
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
boot = {
|
||||
extraModulePackages = [ ];
|
||||
initrd = {
|
||||
availableKernelModules = [ "xhci_pci" "uas" "usb_storage" ];
|
||||
availableKernelModules = [
|
||||
"xhci_pci"
|
||||
"uas"
|
||||
"usb_storage"
|
||||
];
|
||||
kernelModules = [ ];
|
||||
};
|
||||
kernelModules = [ ];
|
||||
|
|
@ -26,7 +28,10 @@
|
|||
};
|
||||
|
||||
swapDevices = [
|
||||
{ device = "/swapfile"; size = 1024 * 4; }
|
||||
{
|
||||
device = "/swapfile";
|
||||
size = 1024 * 4;
|
||||
}
|
||||
];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
|
|
|
|||
|
|
@ -1,13 +1,22 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home = {
|
||||
language.base = "it_IT.UTF-8";
|
||||
keyboard = {
|
||||
layout = "it";
|
||||
options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" ];
|
||||
options = [
|
||||
"terminate:ctrl_alt_bksp"
|
||||
"compose:rctrl"
|
||||
];
|
||||
};
|
||||
packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
cava gallery-dl procps wireguard-tools httpie;
|
||||
cava
|
||||
gallery-dl
|
||||
procps
|
||||
wireguard-tools
|
||||
httpie
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,8 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
{ pkgs
|
||||
, lib
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
hosts = import ../../hosts.nix;
|
||||
in
|
||||
|
|
@ -12,7 +16,10 @@ in
|
|||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
|
||||
console = { font = "Lat2-Terminus16"; keyMap = "it"; };
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
keyMap = "it";
|
||||
};
|
||||
|
||||
environment = {
|
||||
pathsToLink = [ "/share/zsh" ];
|
||||
|
|
@ -24,7 +31,10 @@ in
|
|||
enable = true;
|
||||
# package = pkgs.bluezFull;
|
||||
};
|
||||
opengl = { enable = true; driSupport = true; };
|
||||
opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
};
|
||||
};
|
||||
|
||||
i18n.defaultLocale = "it_IT.UTF-8";
|
||||
|
|
@ -52,7 +62,10 @@ in
|
|||
|
||||
programs = {
|
||||
dconf.enable = true;
|
||||
gnupg.agent = { enable = true; enableSSHSupport = true; };
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
zsh.enable = true;
|
||||
};
|
||||
|
||||
|
|
@ -61,7 +74,14 @@ in
|
|||
'';
|
||||
|
||||
services = {
|
||||
grafana = { enable = true; settings.server = { http_addr = "0.0.0.0"; domain = "bertof.net"; root_url = "https://grafana.bertof.net/"; }; };
|
||||
grafana = {
|
||||
enable = true;
|
||||
settings.server = {
|
||||
http_addr = "0.0.0.0";
|
||||
domain = "bertof.net";
|
||||
root_url = "https://grafana.bertof.net/";
|
||||
};
|
||||
};
|
||||
|
||||
# avahi = {
|
||||
# enable = true;
|
||||
|
|
@ -79,15 +99,29 @@ in
|
|||
# blueman.enable = true;
|
||||
# dbus.packages = [ pkgs.dconf ];
|
||||
# gnome.gnome-keyring.enable = true;
|
||||
openssh = { enable = true; openFirewall = true; };
|
||||
openssh = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
# # xserver = {
|
||||
# # enable = true;
|
||||
# # desktopManager.retroarch = { enable = true; package = pkgs.retroarchFull; };
|
||||
# # };
|
||||
#
|
||||
fail2ban = { enable = true; bantime-increment.enable = true; };
|
||||
plex = { enable = true; openFirewall = true; group = "users"; };
|
||||
jellyfin = { enable = true; openFirewall = true; group = "users"; };
|
||||
fail2ban = {
|
||||
enable = true;
|
||||
bantime-increment.enable = true;
|
||||
};
|
||||
plex = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
group = "users";
|
||||
};
|
||||
jellyfin = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
group = "users";
|
||||
};
|
||||
#
|
||||
home-assistant = {
|
||||
enable = true;
|
||||
|
|
@ -248,11 +282,13 @@ in
|
|||
# "!secret famiglia_t_chat_id"
|
||||
# ];
|
||||
# }];
|
||||
tts = [{
|
||||
tts = [
|
||||
{
|
||||
platform = "google_translate";
|
||||
language = "it";
|
||||
# tld = "it";
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
configDir = "/var/lib/hass";
|
||||
configWritable = true;
|
||||
|
|
@ -338,36 +374,73 @@ in
|
|||
prometheus = {
|
||||
enable = true;
|
||||
exporters = {
|
||||
node = { enable = true; enabledCollectors = [ "systemd" ]; };
|
||||
node = {
|
||||
enable = true;
|
||||
enabledCollectors = [ "systemd" ];
|
||||
};
|
||||
process = {
|
||||
enable = true;
|
||||
settings.process_names = [
|
||||
# Remove nix store path from process name
|
||||
{ name = "{{.Matches.Wrapped}} {{ .Matches.Args }}"; cmdline = [ "^/nix/store[^ ]*/(?P<Wrapped>[^ /]*) (?P<Args>.*)" ]; }
|
||||
{
|
||||
name = "{{.Matches.Wrapped}} {{ .Matches.Args }}";
|
||||
cmdline = [ "^/nix/store[^ ]*/(?P<Wrapped>[^ /]*) (?P<Args>.*)" ];
|
||||
}
|
||||
];
|
||||
};
|
||||
systemd.enable = true;
|
||||
};
|
||||
globalConfig = { scrape_interval = "10s"; };
|
||||
globalConfig = {
|
||||
scrape_interval = "10s";
|
||||
};
|
||||
scrapeConfigs = [
|
||||
{ job_name = "node"; static_configs = [{ targets = [ "localhost:${toString config.services.prometheus.exporters.node.port}" ]; }]; }
|
||||
{ job_name = "process"; static_configs = [{ targets = [ "localhost:${toString config.services.prometheus.exporters.process.port}" ]; }]; }
|
||||
{ job_name = "systemd"; static_configs = [{ targets = [ "localhost:${toString config.services.prometheus.exporters.systemd.port}" ]; }]; }
|
||||
{
|
||||
job_name = "node";
|
||||
static_configs = [
|
||||
{ targets = [ "localhost:${toString config.services.prometheus.exporters.node.port}" ]; }
|
||||
];
|
||||
}
|
||||
{
|
||||
job_name = "process";
|
||||
static_configs = [
|
||||
{ targets = [ "localhost:${toString config.services.prometheus.exporters.process.port}" ]; }
|
||||
];
|
||||
}
|
||||
{
|
||||
job_name = "systemd";
|
||||
static_configs = [
|
||||
{ targets = [ "localhost:${toString config.services.prometheus.exporters.systemd.port}" ]; }
|
||||
];
|
||||
}
|
||||
];
|
||||
retentionTime = "15d";
|
||||
};
|
||||
|
||||
snapper.configs =
|
||||
let
|
||||
common = { TIMELINE_CREATE = true; TIMELINE_CLEANUP = true; };
|
||||
common = {
|
||||
TIMELINE_CREATE = true;
|
||||
TIMELINE_CLEANUP = true;
|
||||
};
|
||||
in
|
||||
{
|
||||
bertof = lib.recursiveUpdate common { SUBVOLUME = "/mnt/raid/bertof/"; ALLOW_USERS = [ "bertof" ]; };
|
||||
tiziano = lib.recursiveUpdate common { SUBVOLUME = "/mnt/raid/tiziano/"; ALLOW_USERS = [ "tiziano" ]; };
|
||||
condiviso = lib.recursiveUpdate common { SUBVOLUME = "/mnt/raid/condiviso"; ALLOW_USERS = [ "bertof" "tiziano" ]; };
|
||||
bertof = lib.recursiveUpdate common {
|
||||
SUBVOLUME = "/mnt/raid/bertof/";
|
||||
ALLOW_USERS = [ "bertof" ];
|
||||
};
|
||||
tiziano = lib.recursiveUpdate common {
|
||||
SUBVOLUME = "/mnt/raid/tiziano/";
|
||||
ALLOW_USERS = [ "tiziano" ];
|
||||
};
|
||||
condiviso = lib.recursiveUpdate common {
|
||||
SUBVOLUME = "/mnt/raid/condiviso";
|
||||
ALLOW_USERS = [
|
||||
"bertof"
|
||||
"tiziano"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
time.timeZone = "Europe/Rome";
|
||||
|
||||
|
|
@ -393,4 +466,3 @@ in
|
|||
|
||||
system.stateVersion = "24.05";
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,26 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, modulesPath, ... }:
|
||||
{ config
|
||||
, lib
|
||||
, modulesPath
|
||||
, ...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
boot = {
|
||||
initrd = {
|
||||
availableKernelModules = [ "xhci_pci" "ahci" "ehci_pci" "nvme" "usb_storage" "usbhid" "sd_mod" ];
|
||||
availableKernelModules = [
|
||||
"xhci_pci"
|
||||
"ahci"
|
||||
"ehci_pci"
|
||||
"nvme"
|
||||
"usb_storage"
|
||||
"usbhid"
|
||||
"sd_mod"
|
||||
];
|
||||
kernelModules = [ ];
|
||||
};
|
||||
kernelModules = [ "kvm-amd" ];
|
||||
|
|
@ -29,7 +41,10 @@
|
|||
"/boot" = {
|
||||
device = "/dev/disk/by-uuid/7F42-D513";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
options = [
|
||||
"fmask=0022"
|
||||
"dmask=0022"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -47,4 +62,3 @@
|
|||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,22 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home = {
|
||||
language.base = "it_IT.UTF-8";
|
||||
keyboard = {
|
||||
layout = "it";
|
||||
options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" ];
|
||||
options = [
|
||||
"terminate:ctrl_alt_bksp"
|
||||
"compose:rctrl"
|
||||
];
|
||||
};
|
||||
packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
cava gallery-dl procps wireguard-tools httpie;
|
||||
cava
|
||||
gallery-dl
|
||||
procps
|
||||
wireguard-tools
|
||||
httpie
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -22,4 +31,3 @@
|
|||
|
||||
home.stateVersion = "22.11";
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,16 +5,28 @@ in
|
|||
{
|
||||
|
||||
age.secrets = {
|
||||
ntfy-loki = { file = ../../secrets/ntfy-loki.age; owner = "bertof"; };
|
||||
ntfy-loki = {
|
||||
file = ../../secrets/ntfy-loki.age;
|
||||
owner = "bertof";
|
||||
};
|
||||
};
|
||||
|
||||
boot = {
|
||||
binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ];
|
||||
binfmt.emulatedSystems = [
|
||||
"armv7l-linux"
|
||||
"aarch64-linux"
|
||||
];
|
||||
# kernelPackages = pkgs.linuxPackages_latest;
|
||||
loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; };
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
};
|
||||
|
||||
console = { font = "Lat2-Terminus16"; keyMap = "it"; };
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
keyMap = "it";
|
||||
};
|
||||
|
||||
environment = {
|
||||
pathsToLink = [ "/share/zsh" ];
|
||||
|
|
@ -36,7 +48,12 @@ in
|
|||
opengl = {
|
||||
enable = true;
|
||||
extraPackages = builtins.attrValues {
|
||||
inherit (pkgs) intel-media-driver libvdpau-va-gl vaapiIntel vaapiVdpau;
|
||||
inherit (pkgs)
|
||||
intel-media-driver
|
||||
libvdpau-va-gl
|
||||
vaapiIntel
|
||||
vaapiVdpau
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -81,16 +98,29 @@ in
|
|||
};
|
||||
# bazarr = { enable = true; openFirewall = true; group = "users"; };
|
||||
blueman.enable = true;
|
||||
dbus = { packages = [ pkgs.dconf ]; implementation = "broker"; };
|
||||
esphome = { enable = true; openFirewall = true; };
|
||||
dbus = {
|
||||
packages = [ pkgs.dconf ];
|
||||
implementation = "broker";
|
||||
};
|
||||
esphome = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
# fail2ban = { enable = true; bantime-increment.enable = true; };
|
||||
gnome.gnome-keyring.enable = true;
|
||||
gvfs.enable = true;
|
||||
# jackett = { enable = true; openFirewall = true; group = "users"; };
|
||||
jellyfin = { enable = true; openFirewall = true; group = "users"; };
|
||||
jellyfin = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
group = "users";
|
||||
};
|
||||
logind.lidSwitch = "ignore";
|
||||
# node-red = { enable = true; openFirewall = true; withNpmAndGcc = true; };
|
||||
openssh = { enable = true; openFirewall = true; };
|
||||
openssh = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
# plex = { enable = true; openFirewall = true; group = "users"; };
|
||||
power-profiles-daemon.enable = true;
|
||||
# prowlarr = { enable = true; openFirewall = true; };
|
||||
|
|
@ -201,7 +231,11 @@ in
|
|||
};
|
||||
tiziano = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "audio" "input" "video" ];
|
||||
extraGroups = [
|
||||
"audio"
|
||||
"input"
|
||||
"video"
|
||||
];
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMExwtJFk6HjySrTZwJH67SOHC3hlL28NO4oe2GXsv6k"
|
||||
];
|
||||
|
|
@ -241,8 +275,7 @@ in
|
|||
138 # SYNCTHING
|
||||
3702 # SAMBA-WSDD
|
||||
];
|
||||
extraCommands =
|
||||
"iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns";
|
||||
extraCommands = "iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns";
|
||||
};
|
||||
|
||||
virtualisation = {
|
||||
|
|
@ -306,9 +339,21 @@ in
|
|||
assist_pipeline = { };
|
||||
# bluetooth = { };
|
||||
camera = [
|
||||
{ platform = "local_file"; file_path = "/tmp/doods_camera_camera_cancello.jpg"; name = "File DOODS2 Camera cancello"; }
|
||||
{ platform = "local_file"; file_path = "/tmp/doods_camera_camera_vialetto.jpg"; name = "File DOODS2 Camera vialetto"; }
|
||||
{ platform = "local_file"; file_path = "/tmp/doods_camera_camera_garage.jpg"; name = "File DOODS2 Camera garage"; }
|
||||
{
|
||||
platform = "local_file";
|
||||
file_path = "/tmp/doods_camera_camera_cancello.jpg";
|
||||
name = "File DOODS2 Camera cancello";
|
||||
}
|
||||
{
|
||||
platform = "local_file";
|
||||
file_path = "/tmp/doods_camera_camera_vialetto.jpg";
|
||||
name = "File DOODS2 Camera vialetto";
|
||||
}
|
||||
{
|
||||
platform = "local_file";
|
||||
file_path = "/tmp/doods_camera_camera_garage.jpg";
|
||||
name = "File DOODS2 Camera garage";
|
||||
}
|
||||
];
|
||||
cloud = { };
|
||||
config = { };
|
||||
|
|
@ -322,14 +367,30 @@ in
|
|||
url = "http://localhost:8080";
|
||||
detector = "default";
|
||||
source = [
|
||||
{ entity_id = "camera.camera_camera_cancello"; name = "DOODS2 Camera cancello"; }
|
||||
{ entity_id = "camera.camera_camera_vialetto"; name = "DOODS2 Camera vialetto"; }
|
||||
{ entity_id = "camera.camera_camera_garage"; name = "DOODS2 Camera garage"; }
|
||||
{
|
||||
entity_id = "camera.camera_camera_cancello";
|
||||
name = "DOODS2 Camera cancello";
|
||||
}
|
||||
{
|
||||
entity_id = "camera.camera_camera_vialetto";
|
||||
name = "DOODS2 Camera vialetto";
|
||||
}
|
||||
{
|
||||
entity_id = "camera.camera_camera_garage";
|
||||
name = "DOODS2 Camera garage";
|
||||
}
|
||||
];
|
||||
confidence = 60;
|
||||
file_out = "/tmp/doods_{{ camera_entity.split('.')[1] }}.jpg";
|
||||
scan_interval = 5;
|
||||
labels = [ "bicycle" "car" "cat" "dog" "person" "truck" ];
|
||||
labels = [
|
||||
"bicycle"
|
||||
"car"
|
||||
"cat"
|
||||
"dog"
|
||||
"person"
|
||||
"truck"
|
||||
];
|
||||
}
|
||||
];
|
||||
# esphome = { };
|
||||
|
|
@ -384,11 +445,13 @@ in
|
|||
# "!secret famiglia_t_chat_id"
|
||||
# ];
|
||||
# }];
|
||||
tts = [{
|
||||
tts = [
|
||||
{
|
||||
platform = "google_translate";
|
||||
language = "it";
|
||||
# tld = "it";
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
configDir = "/var/lib/hass";
|
||||
configWritable = true;
|
||||
|
|
@ -473,21 +536,44 @@ in
|
|||
services.prometheus = {
|
||||
enable = true;
|
||||
exporters = {
|
||||
node = { enable = true; enabledCollectors = [ "systemd" ]; };
|
||||
node = {
|
||||
enable = true;
|
||||
enabledCollectors = [ "systemd" ];
|
||||
};
|
||||
process = {
|
||||
enable = true;
|
||||
settings.process_names = [
|
||||
# Remove nix store path from process name
|
||||
{ name = "{{.Matches.Wrapped}} {{ .Matches.Args }}"; cmdline = [ "^/nix/store[^ ]*/(?P<Wrapped>[^ /]*) (?P<Args>.*)" ]; }
|
||||
{
|
||||
name = "{{.Matches.Wrapped}} {{ .Matches.Args }}";
|
||||
cmdline = [ "^/nix/store[^ ]*/(?P<Wrapped>[^ /]*) (?P<Args>.*)" ];
|
||||
}
|
||||
];
|
||||
};
|
||||
systemd.enable = true;
|
||||
};
|
||||
globalConfig = { scrape_interval = "10s"; };
|
||||
globalConfig = {
|
||||
scrape_interval = "10s";
|
||||
};
|
||||
scrapeConfigs = [
|
||||
{ job_name = "node"; static_configs = [{ targets = [ "localhost:${toString config.services.prometheus.exporters.node.port}" ]; }]; }
|
||||
{ job_name = "process"; static_configs = [{ targets = [ "localhost:${toString config.services.prometheus.exporters.process.port}" ]; }]; }
|
||||
{ job_name = "systemd"; static_configs = [{ targets = [ "localhost:${toString config.services.prometheus.exporters.systemd.port}" ]; }]; }
|
||||
{
|
||||
job_name = "node";
|
||||
static_configs = [
|
||||
{ targets = [ "localhost:${toString config.services.prometheus.exporters.node.port}" ]; }
|
||||
];
|
||||
}
|
||||
{
|
||||
job_name = "process";
|
||||
static_configs = [
|
||||
{ targets = [ "localhost:${toString config.services.prometheus.exporters.process.port}" ]; }
|
||||
];
|
||||
}
|
||||
{
|
||||
job_name = "systemd";
|
||||
static_configs = [
|
||||
{ targets = [ "localhost:${toString config.services.prometheus.exporters.systemd.port}" ]; }
|
||||
];
|
||||
}
|
||||
];
|
||||
retentionTime = "15d";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,14 +1,26 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, modulesPath, ... }:
|
||||
{ config
|
||||
, lib
|
||||
, modulesPath
|
||||
, ...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
boot = {
|
||||
initrd = {
|
||||
availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "uas" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||
availableKernelModules = [
|
||||
"xhci_pci"
|
||||
"ehci_pci"
|
||||
"ahci"
|
||||
"uas"
|
||||
"usb_storage"
|
||||
"sd_mod"
|
||||
"rtsx_pci_sdmmc"
|
||||
];
|
||||
kernelModules = [ ];
|
||||
};
|
||||
kernelModules = [ "kvm-intel" ];
|
||||
|
|
@ -46,10 +58,12 @@
|
|||
# };
|
||||
};
|
||||
|
||||
swapDevices = [{
|
||||
swapDevices = [
|
||||
{
|
||||
device = "/swapfile";
|
||||
size = 1024 * 4;
|
||||
}];
|
||||
}
|
||||
];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
|
|
|
|||
|
|
@ -3,7 +3,10 @@
|
|||
language.base = "it_IT.UTF-8";
|
||||
keyboard = {
|
||||
layout = "it";
|
||||
options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" ];
|
||||
options = [
|
||||
"terminate:ctrl_alt_bksp"
|
||||
"compose:rctrl"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,10 @@
|
|||
language.base = "it_IT.UTF-8";
|
||||
keyboard = {
|
||||
layout = "it";
|
||||
options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" ];
|
||||
options = [
|
||||
"terminate:ctrl_alt_bksp"
|
||||
"compose:rctrl"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,18 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
{ config
|
||||
, pkgs
|
||||
, lib
|
||||
, ...
|
||||
}:
|
||||
{
|
||||
|
||||
|
||||
age.secrets = {
|
||||
ntfy-odin = { file = ../../secrets/ntfy-odin.age; owner = "bertof"; };
|
||||
ntfy-odin = {
|
||||
file = ../../secrets/ntfy-odin.age;
|
||||
owner = "bertof";
|
||||
};
|
||||
odin_wg_priv.file = ../../secrets/odin_wg_priv.age;
|
||||
};
|
||||
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot = {
|
||||
# kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
|
@ -15,11 +20,20 @@
|
|||
# kernelPackages = pkgs.linuxPackages_6_8;
|
||||
kernelParams = [ "acpi_osi=Linux-Dell-Video" ];
|
||||
initrd.checkJournalingFS = true; # Use same ACPI identifier as Dell Ubuntu
|
||||
loader = { systemd-boot = { enable = true; editor = false; }; efi.canTouchEfiVariables = true; };
|
||||
loader = {
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
editor = false;
|
||||
};
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
||||
|
||||
# Cross-build arm
|
||||
binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ];
|
||||
binfmt.emulatedSystems = [
|
||||
"armv7l-linux"
|
||||
"aarch64-linux"
|
||||
];
|
||||
};
|
||||
|
||||
hardware = {
|
||||
|
|
@ -33,14 +47,21 @@
|
|||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
extraPackages = builtins.attrValues {
|
||||
inherit (pkgs) intel-media-driver vaapiIntel vaapiVdpau libvdpau-va-gl;
|
||||
inherit (pkgs)
|
||||
intel-media-driver
|
||||
vaapiIntel
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
# Tablet
|
||||
opentabletdriver = { enable = true; daemon.enable = true; };
|
||||
opentabletdriver = {
|
||||
enable = true;
|
||||
daemon.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
networking = {
|
||||
hostName = "odin";
|
||||
|
|
@ -113,7 +134,10 @@
|
|||
options = "eurosign:e,terminate:ctrl_alt_bksp,compose:rctrl,grp:menu_toggle";
|
||||
};
|
||||
|
||||
displayManager.gdm = { enable = true; autoSuspend = false; };
|
||||
displayManager.gdm = {
|
||||
enable = true;
|
||||
autoSuspend = false;
|
||||
};
|
||||
# displayManager.sddm = {
|
||||
# enable = true;
|
||||
# autoNumlock = true;
|
||||
|
|
@ -121,7 +145,10 @@
|
|||
# "${pkgs.sddm-theme-clairvoyance}/usr/share/sddm/themes/clairvoyance";
|
||||
# };
|
||||
};
|
||||
displayManager = { enable = true; defaultSession = "hyprland"; };
|
||||
displayManager = {
|
||||
enable = true;
|
||||
defaultSession = "hyprland";
|
||||
};
|
||||
libinput.enable = true;
|
||||
|
||||
keybase.enable = true;
|
||||
|
|
@ -130,7 +157,10 @@
|
|||
enable = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
alsa = { enable = true; support32Bit = true; };
|
||||
alsa = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
};
|
||||
# media-session.enable = true;
|
||||
};
|
||||
|
||||
|
|
@ -145,7 +175,10 @@
|
|||
};
|
||||
|
||||
# Disable auto handling of power button
|
||||
logind = { powerKey = "ignore"; lidSwitch = "hibernate"; };
|
||||
logind = {
|
||||
powerKey = "ignore";
|
||||
lidSwitch = "hibernate";
|
||||
};
|
||||
};
|
||||
|
||||
# Set your time zone.
|
||||
|
|
@ -160,22 +193,43 @@
|
|||
|
||||
environment = {
|
||||
pathsToLink = [ "/share/zsh" ];
|
||||
sessionVariables.LD_LIBRARY_PATH = lib.mkForce
|
||||
"${config.services.pipewire.package.jack}/lib"; # Temporary fix for WebKitGTK
|
||||
systemPackages = builtins.attrValues { inherit (pkgs) tmux helix vim git ntfs3g; };
|
||||
sessionVariables.LD_LIBRARY_PATH = lib.mkForce "${config.services.pipewire.package.jack}/lib"; # Temporary fix for WebKitGTK
|
||||
systemPackages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
tmux
|
||||
helix
|
||||
vim
|
||||
git
|
||||
ntfs3g
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.bertof = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "audio" "input" "docker" "flashrom" "libvirtd" "network" "networkmanager" "usb" "video" "wheel" ];
|
||||
extraGroups = [
|
||||
"audio"
|
||||
"input"
|
||||
"docker"
|
||||
"flashrom"
|
||||
"libvirtd"
|
||||
"network"
|
||||
"networkmanager"
|
||||
"usb"
|
||||
"video"
|
||||
"wheel"
|
||||
];
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
programs = {
|
||||
dconf.enable = true;
|
||||
flashrom.enable = true;
|
||||
gnupg.agent = { enable = true; enableSSHSupport = true; };
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
steam = {
|
||||
enable = true;
|
||||
package = pkgs.steam.override {
|
||||
|
|
@ -267,7 +321,10 @@
|
|||
power-profiles-daemon.enable = true;
|
||||
fprintd = {
|
||||
enable = true;
|
||||
tod = { enable = true; driver = pkgs.libfprint-2-tod1-goodix; };
|
||||
tod = {
|
||||
enable = true;
|
||||
driver = pkgs.libfprint-2-tod1-goodix;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -286,7 +343,6 @@
|
|||
# updater.enable = true;
|
||||
# };
|
||||
|
||||
|
||||
# services.teamviewer.enable = true;
|
||||
|
||||
# Virtualisation
|
||||
|
|
@ -294,12 +350,14 @@
|
|||
# vswitch.enable = true;
|
||||
# docker.enable = true;
|
||||
kvmgt.enable = true;
|
||||
libvirtd = { enable = true; qemu.swtpm.enable = true; };
|
||||
libvirtd = {
|
||||
enable = true;
|
||||
qemu.swtpm.enable = true;
|
||||
};
|
||||
podman.enable = true;
|
||||
# virtualbox.host.enable = true;
|
||||
};
|
||||
|
||||
|
||||
security.sudo.extraConfig = ''
|
||||
Defaults pwfeedback
|
||||
'';
|
||||
|
|
@ -308,9 +366,7 @@
|
|||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
packageOverrides = pkgs: {
|
||||
steam = pkgs.steam.override { extraPkgs = pkgs: [ pkgs.icu ]; };
|
||||
};
|
||||
packageOverrides = pkgs: { steam = pkgs.steam.override { extraPkgs = pkgs: [ pkgs.icu ]; }; };
|
||||
};
|
||||
|
||||
zramSwap.enable = true;
|
||||
|
|
@ -323,4 +379,3 @@
|
|||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "22.11"; # Did you read the comment?
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,10 @@
|
|||
{
|
||||
boot = {
|
||||
initrd.kernelModules = [ "i915" ];
|
||||
blacklistedKernelModules = [ "nouveau" "nvidia" ];
|
||||
blacklistedKernelModules = [
|
||||
"nouveau"
|
||||
"nvidia"
|
||||
];
|
||||
};
|
||||
|
||||
# This runs only Intel and nvidia does not drain power.
|
||||
|
|
|
|||
|
|
@ -1,9 +1,16 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
{ pkgs, lib, config, ... }: {
|
||||
{ pkgs
|
||||
, lib
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
{
|
||||
|
||||
boot = { initrd.kernelModules = [ "i915" ]; };
|
||||
boot = {
|
||||
initrd.kernelModules = [ "i915" ];
|
||||
};
|
||||
|
||||
hardware.nvidia = {
|
||||
# modesetting.enable = true;
|
||||
|
|
|
|||
|
|
@ -1,14 +1,23 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, modulesPath, ... }:
|
||||
{ config
|
||||
, lib
|
||||
, modulesPath
|
||||
, ...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
boot = {
|
||||
initrd = {
|
||||
availableKernelModules = [ "xhci_pci" "ahci" "nvme" "sd_mod" ];
|
||||
availableKernelModules = [
|
||||
"xhci_pci"
|
||||
"ahci"
|
||||
"nvme"
|
||||
"sd_mod"
|
||||
];
|
||||
kernelModules = [ ];
|
||||
};
|
||||
kernelModules = [ "kvm-intel" ];
|
||||
|
|
@ -19,52 +28,92 @@
|
|||
"/" = {
|
||||
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
|
||||
fsType = "btrfs";
|
||||
options = [ "space_cache=v2" "subvol=@root" "x-gvfs-hide" ];
|
||||
options = [
|
||||
"space_cache=v2"
|
||||
"subvol=@root"
|
||||
"x-gvfs-hide"
|
||||
];
|
||||
};
|
||||
"/nix" = {
|
||||
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
|
||||
fsType = "btrfs";
|
||||
options = [ "space_cache=v2" "subvol=@nix" "x-gvfs-hide" ];
|
||||
options = [
|
||||
"space_cache=v2"
|
||||
"subvol=@nix"
|
||||
"x-gvfs-hide"
|
||||
];
|
||||
};
|
||||
"/home/bertof" = {
|
||||
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
|
||||
fsType = "btrfs";
|
||||
options = [ "space_cache=v2" "subvol=@bertof/@home" "x-gvfs-hide" ];
|
||||
options = [
|
||||
"space_cache=v2"
|
||||
"subvol=@bertof/@home"
|
||||
"x-gvfs-hide"
|
||||
];
|
||||
};
|
||||
"/home/bertof/Giochi/SSD" = {
|
||||
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
|
||||
fsType = "btrfs";
|
||||
options = [ "space_cache=v2" "subvol=@bertof/@games" "x-gvfs-hide" ];
|
||||
options = [
|
||||
"space_cache=v2"
|
||||
"subvol=@bertof/@games"
|
||||
"x-gvfs-hide"
|
||||
];
|
||||
};
|
||||
"/home/bertof/Video" = {
|
||||
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
|
||||
fsType = "btrfs";
|
||||
options = [ "space_cache=v2" "subvol=@bertof/@videos" "x-gvfs-hide" ];
|
||||
options = [
|
||||
"space_cache=v2"
|
||||
"subvol=@bertof/@videos"
|
||||
"x-gvfs-hide"
|
||||
];
|
||||
};
|
||||
"/home/bertof/Musica" = {
|
||||
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
|
||||
fsType = "btrfs";
|
||||
options = [ "space_cache=v2" "subvol=@bertof/@music" "x-gvfs-hide" ];
|
||||
options = [
|
||||
"space_cache=v2"
|
||||
"subvol=@bertof/@music"
|
||||
"x-gvfs-hide"
|
||||
];
|
||||
};
|
||||
"/home/bertof/Immagini" = {
|
||||
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
|
||||
fsType = "btrfs";
|
||||
options = [ "space_cache=v2" "subvol=@bertof/@images" "x-gvfs-hide" ];
|
||||
options = [
|
||||
"space_cache=v2"
|
||||
"subvol=@bertof/@images"
|
||||
"x-gvfs-hide"
|
||||
];
|
||||
};
|
||||
"/home/bertof/Scaricati" = {
|
||||
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
|
||||
fsType = "btrfs";
|
||||
options = [ "space_cache=v2" "subvol=@bertof/@downloads" "x-gvfs-hide" ];
|
||||
options = [
|
||||
"space_cache=v2"
|
||||
"subvol=@bertof/@downloads"
|
||||
"x-gvfs-hide"
|
||||
];
|
||||
};
|
||||
"/home/bertof/Documenti" = {
|
||||
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
|
||||
fsType = "btrfs";
|
||||
options = [ "space_cache=v2" "subvol=@bertof/@documents" "x-gvfs-hide" ];
|
||||
options = [
|
||||
"space_cache=v2"
|
||||
"subvol=@bertof/@documents"
|
||||
"x-gvfs-hide"
|
||||
];
|
||||
};
|
||||
"/home/bertof/Documenti/Git" = {
|
||||
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
|
||||
fsType = "btrfs";
|
||||
options = [ "space_cache=v2" "subvol=@bertof/@git" "x-gvfs-hide" ];
|
||||
options = [
|
||||
"space_cache=v2"
|
||||
"subvol=@bertof/@git"
|
||||
"x-gvfs-hide"
|
||||
];
|
||||
};
|
||||
"/boot" = {
|
||||
device = "/dev/disk/by-uuid/82DB-3444";
|
||||
|
|
@ -72,9 +121,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{ device = "/dev/disk/by-uuid/5f3cf424-2bd8-4352-a778-1bb067cb5700"; }
|
||||
];
|
||||
swapDevices = [{ device = "/dev/disk/by-uuid/5f3cf424-2bd8-4352-a778-1bb067cb5700"; }];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
|
|
@ -90,6 +137,5 @@
|
|||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||
hardware.cpu.intel.updateMicrocode =
|
||||
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,15 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home = {
|
||||
language.base = "it_IT.UTF-8";
|
||||
keyboard = {
|
||||
layout = "it,us,us";
|
||||
variant = ",,colemak";
|
||||
options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" "grp:menu_toggle" ];
|
||||
options = [
|
||||
"terminate:ctrl_alt_bksp"
|
||||
"compose:rctrl"
|
||||
"grp:menu_toggle"
|
||||
];
|
||||
};
|
||||
packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
|
|
@ -62,7 +67,9 @@
|
|||
};
|
||||
};
|
||||
|
||||
services = { gnome-keyring.enable = true; };
|
||||
services = {
|
||||
gnome-keyring.enable = true;
|
||||
};
|
||||
|
||||
xsession = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,14 +1,26 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{ lib
|
||||
, config
|
||||
, pkgs
|
||||
, ...
|
||||
}:
|
||||
{
|
||||
|
||||
age.secrets = {
|
||||
thor_wg_priv = { file = ../../secrets/thor_wg_priv.age; };
|
||||
ntfy-thor = { file = ../../secrets/ntfy-thor.age; owner = "bertof"; };
|
||||
thor_wg_priv = {
|
||||
file = ../../secrets/thor_wg_priv.age;
|
||||
};
|
||||
ntfy-thor = {
|
||||
file = ../../secrets/ntfy-thor.age;
|
||||
owner = "bertof";
|
||||
};
|
||||
};
|
||||
|
||||
boot = {
|
||||
kernelModules = [ "hid-nintendo" ];
|
||||
binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ];
|
||||
binfmt.emulatedSystems = [
|
||||
"armv7l-linux"
|
||||
"aarch64-linux"
|
||||
];
|
||||
# kernelPackages = pkgs.linuxPackages_latest;
|
||||
# kernelPackages = pkgs.linuxPackages_6_1;
|
||||
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
||||
|
|
@ -42,7 +54,14 @@
|
|||
|
||||
environment = {
|
||||
pathsToLink = [ "/share/zsh" ];
|
||||
systemPackages = builtins.attrValues { inherit (pkgs) git helix tmux vim; };
|
||||
systemPackages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
git
|
||||
helix
|
||||
tmux
|
||||
vim
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
hardware = {
|
||||
|
|
@ -61,7 +80,6 @@
|
|||
};
|
||||
};
|
||||
|
||||
|
||||
opengl.enable = true;
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
|
|
@ -69,7 +87,10 @@
|
|||
};
|
||||
enableRedistributableFirmware = true;
|
||||
pulseaudio.enable = false;
|
||||
opentabletdriver = { enable = true; daemon.enable = true; };
|
||||
opentabletdriver = {
|
||||
enable = true;
|
||||
daemon.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
i18n.defaultLocale = "it_IT.UTF-8";
|
||||
|
|
@ -100,15 +121,24 @@
|
|||
wg-quick.interfaces = {
|
||||
wg0 = {
|
||||
autostart = false;
|
||||
address = [ "10.0.0.4/24" "fdc9:281f:04d7:9ee9::4/64" ];
|
||||
dns = [ "10.0.0.1" "fdc9:281f:04d7:9ee9::1" ];
|
||||
address = [
|
||||
"10.0.0.4/24"
|
||||
"fdc9:281f:04d7:9ee9::4/64"
|
||||
];
|
||||
dns = [
|
||||
"10.0.0.1"
|
||||
"fdc9:281f:04d7:9ee9::1"
|
||||
];
|
||||
privateKeyFile = config.age.secrets.thor_wg_priv.path;
|
||||
|
||||
peers = [
|
||||
{
|
||||
# baldur
|
||||
# allowedIPs = [ "10.0.0.3/32" "fdc9:281f:04d7:9ee9::3/128" ];
|
||||
allowedIPs = [ "0.0.0.0/0" "::/0" ];
|
||||
allowedIPs = [
|
||||
"0.0.0.0/0"
|
||||
"::/0"
|
||||
];
|
||||
endpoint = "baldur.bertof.net:51820";
|
||||
presharedKeyFile = config.age.secrets.wg_psk.path;
|
||||
publicKey = "K57ikgFSR1O0CXWBxfQEu7uxSOsp3ePj/NMRets5pVc=";
|
||||
|
|
@ -117,19 +147,28 @@
|
|||
# odin
|
||||
publicKey = "LDBhvzeYmHJ0z5ch+N559GWjT3It1gZvGR/9WtCfURw=";
|
||||
presharedKeyFile = config.age.secrets.wg_psk.path;
|
||||
allowedIPs = [ "10.0.0.2/24" "fdc9:281f:04d7:9ee9::2/128" ];
|
||||
allowedIPs = [
|
||||
"10.0.0.2/24"
|
||||
"fdc9:281f:04d7:9ee9::2/128"
|
||||
];
|
||||
}
|
||||
{
|
||||
# oppo
|
||||
publicKey = "OBk6bHKuIYLwD7cwjmAuMn57jXqbDwCL52jhQxiHnnA=";
|
||||
presharedKeyFile = config.age.secrets.wg_psk.path;
|
||||
allowedIPs = [ "10.0.0.3/24" "fdc9:281f:04d7:9ee9::3/128" ];
|
||||
allowedIPs = [
|
||||
"10.0.0.3/24"
|
||||
"fdc9:281f:04d7:9ee9::3/128"
|
||||
];
|
||||
}
|
||||
{
|
||||
# thor
|
||||
publicKey = "rpwR6n4IE96VZAmQDBufsWE/a9G7d8fpkvY1OwsbOhk=";
|
||||
presharedKeyFile = config.age.secrets.wg_psk.path;
|
||||
allowedIPs = [ "10.0.0.4/24" "fdc9:281f:04d7:9ee9::4/128" ];
|
||||
allowedIPs = [
|
||||
"10.0.0.4/24"
|
||||
"fdc9:281f:04d7:9ee9::4/128"
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
|
@ -159,7 +198,10 @@
|
|||
# daemon.enable = true;
|
||||
# updater.enable = true;
|
||||
# };
|
||||
dbus = { packages = [ pkgs.dconf ]; implementation = "broker"; };
|
||||
dbus = {
|
||||
packages = [ pkgs.dconf ];
|
||||
implementation = "broker";
|
||||
};
|
||||
gnome.gnome-keyring.enable = true;
|
||||
gvfs = {
|
||||
enable = true;
|
||||
|
|
@ -168,10 +210,16 @@
|
|||
# joycond.enable = true;
|
||||
keybase.enable = true;
|
||||
onedrive.enable = true;
|
||||
openssh = { enable = true; openFirewall = true; };
|
||||
openssh = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa = { enable = true; support32Bit = true; };
|
||||
alsa = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
};
|
||||
jack.enable = true;
|
||||
pulse.enable = true;
|
||||
# media-session.enable = true;
|
||||
|
|
@ -206,17 +254,22 @@
|
|||
xserver = {
|
||||
enable = true;
|
||||
desktopManager.gnome.enable = true;
|
||||
displayManager.gdm = { enable = true; autoSuspend = false; };
|
||||
displayManager.gdm = {
|
||||
enable = true;
|
||||
autoSuspend = false;
|
||||
};
|
||||
# windowManager.bspwm = { enable = true; };
|
||||
videoDrivers = [ "nvidia" ];
|
||||
xkb = {
|
||||
layout = "us,it";
|
||||
options = "eurosign:e,terminate:ctrl_alt_bksp,compose:rctrl,grp:menu_toggle";
|
||||
};
|
||||
xrandrHeads = [{
|
||||
xrandrHeads = [
|
||||
{
|
||||
primary = true;
|
||||
output = "DP-2";
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
# gnome.gnome-remote-desktop.enable = true;
|
||||
};
|
||||
|
|
@ -226,7 +279,9 @@
|
|||
security = {
|
||||
tpm2.enable = true;
|
||||
rtkit.enable = true;
|
||||
pam.services = { autounlock_gnome_keyring.enableGnomeKeyring = true; };
|
||||
pam.services = {
|
||||
autounlock_gnome_keyring.enableGnomeKeyring = true;
|
||||
};
|
||||
sudo.extraConfig = ''
|
||||
Defaults pwfeedback
|
||||
'';
|
||||
|
|
@ -261,9 +316,7 @@
|
|||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
packageOverrides = pkgs: {
|
||||
steam = pkgs.steam.override { extraPkgs = pkgs: [ pkgs.icu ]; };
|
||||
};
|
||||
packageOverrides = pkgs: { steam = pkgs.steam.override { extraPkgs = pkgs: [ pkgs.icu ]; }; };
|
||||
# cudaSupport = true;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,14 @@
|
|||
boot = {
|
||||
extraModulePackages = [ ];
|
||||
initrd = {
|
||||
availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
||||
availableKernelModules = [
|
||||
"nvme"
|
||||
"xhci_pci"
|
||||
"ahci"
|
||||
"usb_storage"
|
||||
"usbhid"
|
||||
"sd_mod"
|
||||
];
|
||||
kernelModules = [ "dm-snapshot" ];
|
||||
};
|
||||
kernelModules = [ "kvm-amd" ];
|
||||
|
|
@ -19,7 +26,13 @@
|
|||
"/" = {
|
||||
device = "/dev/disk/by-uuid/6c06428e-c296-4ef1-8429-62bafb860126";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@root" "x-gvfs-hide" "space_cache=v2" "discard" "compress-force=zstd:1" ];
|
||||
options = [
|
||||
"subvol=@root"
|
||||
"x-gvfs-hide"
|
||||
"space_cache=v2"
|
||||
"discard"
|
||||
"compress-force=zstd:1"
|
||||
];
|
||||
};
|
||||
"/boot" = {
|
||||
device = "/dev/disk/by-uuid/B9D2-255C";
|
||||
|
|
@ -28,17 +41,32 @@
|
|||
"/home/bertof" = {
|
||||
device = "/dev/disk/by-uuid/6c06428e-c296-4ef1-8429-62bafb860126";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@home_bertof" "x-gvfs-hide" "space_cache=v2" "discard" "compress-force=zstd:1" ];
|
||||
options = [
|
||||
"subvol=@home_bertof"
|
||||
"x-gvfs-hide"
|
||||
"space_cache=v2"
|
||||
"discard"
|
||||
"compress-force=zstd:1"
|
||||
];
|
||||
};
|
||||
"/nix" = {
|
||||
device = "/dev/disk/by-uuid/6c06428e-c296-4ef1-8429-62bafb860126";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@nix" "x-gvfs-hide" "space_cache=v2" "discard" "compress-force=zstd:1" ];
|
||||
options = [
|
||||
"subvol=@nix"
|
||||
"x-gvfs-hide"
|
||||
"space_cache=v2"
|
||||
"discard"
|
||||
"compress-force=zstd:1"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{ device = "/dev/disk/by-uuid/dee188e4-4ff8-417c-9419-b7f00ecb9989"; }
|
||||
{ device = "/swapfile"; size = 1024 * 32; }
|
||||
{
|
||||
device = "/swapfile";
|
||||
size = 1024 * 32;
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,15 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home = {
|
||||
language.base = "it_IT.UTF-8";
|
||||
keyboard = {
|
||||
layout = "us,it";
|
||||
variant = ",colemak,";
|
||||
options = [ "terminate:ctrl_alt_bksp" "compose:rctrl" "grp:menu_toggle" ];
|
||||
options = [
|
||||
"terminate:ctrl_alt_bksp"
|
||||
"compose:rctrl"
|
||||
"grp:menu_toggle"
|
||||
];
|
||||
};
|
||||
packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
|
|
@ -58,13 +63,13 @@
|
|||
# seahorse
|
||||
totem
|
||||
;
|
||||
inherit (pkgs.unstable_pkgs)
|
||||
heroic
|
||||
;
|
||||
inherit (pkgs.unstable_pkgs) heroic;
|
||||
};
|
||||
};
|
||||
|
||||
services = { gnome-keyring.enable = true; };
|
||||
services = {
|
||||
gnome-keyring.enable = true;
|
||||
};
|
||||
|
||||
imports = [
|
||||
../../modules/hm/__basic.nix
|
||||
|
|
|
|||
|
|
@ -1,10 +1,24 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home = {
|
||||
language.base = "it_IT.UTF-8";
|
||||
packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
fd file htop mmv-go neofetch nixos-option pv ripgrep unrar unzip wget
|
||||
xclip yq zip;
|
||||
fd
|
||||
file
|
||||
htop
|
||||
mmv-go
|
||||
neofetch
|
||||
nixos-option
|
||||
pv
|
||||
ripgrep
|
||||
unrar
|
||||
unzip
|
||||
wget
|
||||
xclip
|
||||
yq
|
||||
zip
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -27,11 +27,13 @@ in
|
|||
programs.alacritty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
key_bindings = [{
|
||||
key_bindings = [
|
||||
{
|
||||
key = "Return";
|
||||
mods = "Control|Shift";
|
||||
action = "SpawnNewInstance";
|
||||
}];
|
||||
}
|
||||
];
|
||||
# env.TERM = "xterm-256color";
|
||||
env = {
|
||||
TERM = "alacritty";
|
||||
|
|
|
|||
|
|
@ -5,8 +5,7 @@
|
|||
let
|
||||
dell-laptop = {
|
||||
dpi = 96;
|
||||
fingerprint =
|
||||
"00ffffffffffff0030e43f0500000000001a010495221378eaa1c59459578f27205054000000010101010101010101010101010101012e3680a070381f403020350058c21000001a5c2b80a070381f403020350058c21000001a000000fe0034584b3133803135365746360a000000000000413196001000000a010a202000c5";
|
||||
fingerprint = "00ffffffffffff0030e43f0500000000001a010495221378eaa1c59459578f27205054000000010101010101010101010101010101012e3680a070381f403020350058c21000001a5c2b80a070381f403020350058c21000001a000000fe0034584b3133803135365746360a000000000000413196001000000a010a202000c5";
|
||||
mode = "1920x1080";
|
||||
};
|
||||
schermo_lab_dp = {
|
||||
|
|
@ -22,7 +21,9 @@
|
|||
in
|
||||
{
|
||||
odin-nvidia = {
|
||||
fingerprint = { "eDP-1-1" = dell-laptop.fingerprint; };
|
||||
fingerprint = {
|
||||
"eDP-1-1" = dell-laptop.fingerprint;
|
||||
};
|
||||
config = {
|
||||
"eDP-1-1" = {
|
||||
inherit (dell-laptop) mode dpi;
|
||||
|
|
@ -32,7 +33,9 @@
|
|||
};
|
||||
|
||||
odin-intel = {
|
||||
fingerprint = { "eDP1" = dell-laptop.fingerprint; };
|
||||
fingerprint = {
|
||||
"eDP1" = dell-laptop.fingerprint;
|
||||
};
|
||||
config = {
|
||||
"eDP1" = {
|
||||
inherit (dell-laptop) mode dpi;
|
||||
|
|
@ -111,10 +114,8 @@
|
|||
|
||||
thor-default = {
|
||||
fingerprint = {
|
||||
"DP-2" =
|
||||
"00ffffffffffff001e6d7f5ba1c60a00011f0104b53c22789f8cb5af4f43ab260e5054254b007140818081c0a9c0b300d1c08100d1cf09ec00a0a0a0675030203a0055502100001a000000fd0030901ee63c000a202020202020000000fc004c4720554c545241474541520a000000ff003130314e5454514c533230390a017102031a7123090607e305c000e606050160592846100403011f136fc200a0a0a0555030203a0055502100001a565e00a0a0a029503020350055502100001a5aa000a0a0a0465030203a005550210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000da";
|
||||
"HDMI-0" =
|
||||
"00ffffffffffff004c2d2c0d443650302e19010380341d782a5295a556549d250e5054bb8c00b30081c0810081809500a9c001010101023a801871382d40582c450009252100001e000000fd0030481e5216000a202020202020000000fc00433234463339300a2020202020000000ff00485451483330353636370a20200163020324f14690041f131203230907078301000067030c001000802b681a00000101304800011d00bc52d01e20b828554009252100001e8c0ad090204031200c4055000925210000188c0ad08a20e02d10103e9600092521000018215280a07238304088c8350009252100001c00000000000000000000000000000000000000fa";
|
||||
"DP-2" = "00ffffffffffff001e6d7f5ba1c60a00011f0104b53c22789f8cb5af4f43ab260e5054254b007140818081c0a9c0b300d1c08100d1cf09ec00a0a0a0675030203a0055502100001a000000fd0030901ee63c000a202020202020000000fc004c4720554c545241474541520a000000ff003130314e5454514c533230390a017102031a7123090607e305c000e606050160592846100403011f136fc200a0a0a0555030203a0055502100001a565e00a0a0a029503020350055502100001a5aa000a0a0a0465030203a005550210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000da";
|
||||
"HDMI-0" = "00ffffffffffff004c2d2c0d443650302e19010380341d782a5295a556549d250e5054bb8c00b30081c0810081809500a9c001010101023a801871382d40582c450009252100001e000000fd0030481e5216000a202020202020000000fc00433234463339300a2020202020000000ff00485451483330353636370a20200163020324f14690041f131203230907078301000067030c001000802b681a00000101304800011d00bc52d01e20b828554009252100001e8c0ad090204031200c4055000925210000188c0ad08a20e02d10103e9600092521000018215280a07238304088c8350009252100001c00000000000000000000000000000000000000fa";
|
||||
};
|
||||
config = {
|
||||
"DP-2" = {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@
|
|||
programs.bash = {
|
||||
enable = true;
|
||||
enableVteIntegration = true;
|
||||
shellAliases = { ".." = "cd .."; };
|
||||
shellAliases = {
|
||||
".." = "cd ..";
|
||||
};
|
||||
|
||||
bashrcExtra = ''
|
||||
source $HOME/.profile
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = builtins.attrValues {
|
||||
inherit (pkgs) calibre;
|
||||
inherit (pkgs.unstable_pkgs) mangal;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,14 @@
|
|||
{ pkgs, config, lib, ... }: {
|
||||
home.packages = [ pkgs.bitwarden ] ++
|
||||
lib.optionals config.programs.rofi.enable (builtins.attrValues {
|
||||
{ pkgs
|
||||
, config
|
||||
, lib
|
||||
, ...
|
||||
}:
|
||||
{
|
||||
home.packages =
|
||||
[ pkgs.bitwarden ]
|
||||
++ lib.optionals config.programs.rofi.enable (
|
||||
builtins.attrValues {
|
||||
# inherit (pkgs.unstable_pkgs) rbw rofi-rbw pinentry-gtk2;
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +1,4 @@
|
|||
{ pkgs, ... }: { home.packages = [ pkgs.blender ]; }
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.blender ];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ (pkgs.blender.override { cudaSupport = true; }) ];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
{ pkgs, ... }:
|
||||
let tomlGenerate = (pkgs.formats.toml { }).generate "bottom-toml";
|
||||
in {
|
||||
let
|
||||
tomlGenerate = (pkgs.formats.toml { }).generate "bottom-toml";
|
||||
in
|
||||
{
|
||||
home.packages = [ pkgs.bottom ];
|
||||
xdg.configFile."bottom/bottom.toml".source = tomlGenerate {
|
||||
"flags" = {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,18 @@
|
|||
{ pkgs, lib, ... }:
|
||||
let
|
||||
xsetroot = "${pkgs.xorg.xsetroot}/bin/xsetroot";
|
||||
monitorPages = [ "Ⅰ" "Ⅱ" "Ⅲ" "Ⅳ" "Ⅴ" "Ⅵ" "Ⅶ" "Ⅷ" "Ⅸ" "Ⅹ" ];
|
||||
monitorPages = [
|
||||
"Ⅰ"
|
||||
"Ⅱ"
|
||||
"Ⅲ"
|
||||
"Ⅳ"
|
||||
"Ⅴ"
|
||||
"Ⅵ"
|
||||
"Ⅶ"
|
||||
"Ⅷ"
|
||||
"Ⅸ"
|
||||
"Ⅹ"
|
||||
];
|
||||
monitorPagesString = lib.strings.concatStringsSep " " monitorPages;
|
||||
monitorSetupScript = pkgs.writeShellScript "monitorSetupScript" ''
|
||||
for monitor in $(bspc query -M --names); do
|
||||
|
|
@ -50,9 +61,15 @@ in
|
|||
};
|
||||
# monitors = builtins.foldl' (acc: monitor: acc // { ${monitor} = monitorPages; }) { } monitors;
|
||||
rules = {
|
||||
"*" = { follow = true; };
|
||||
"Zathura" = { state = "tiled"; };
|
||||
"Yad" = { state = "floating"; };
|
||||
"*" = {
|
||||
follow = true;
|
||||
};
|
||||
"Zathura" = {
|
||||
state = "tiled";
|
||||
};
|
||||
"Yad" = {
|
||||
state = "floating";
|
||||
};
|
||||
};
|
||||
startupPrograms = [
|
||||
"${monitorSetupScript}" # Setup monitors
|
||||
|
|
|
|||
|
|
@ -1,10 +1,15 @@
|
|||
{ pkgs, config, lib, ... }: {
|
||||
{ pkgs
|
||||
, config
|
||||
, lib
|
||||
, ...
|
||||
}:
|
||||
{
|
||||
home.packages =
|
||||
lib.optionals config.programs.helix.enable
|
||||
(builtins.attrValues {
|
||||
inherit (pkgs) clang-tools cmake-language-server;
|
||||
}) ++
|
||||
lib.optionals config.programs.kakoune.enable (builtins.attrValues {
|
||||
inherit (pkgs) clang-tools cmake-language-server;
|
||||
});
|
||||
(
|
||||
builtins.attrValues { inherit (pkgs) clang-tools cmake-language-server; }
|
||||
)
|
||||
++ lib.optionals config.programs.kakoune.enable (
|
||||
builtins.attrValues { inherit (pkgs) clang-tools cmake-language-server; }
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,21 @@
|
|||
{ config, pkgs, lib, ... }: {
|
||||
home.packages = lib.optionals config.programs.helix.enable
|
||||
(builtins.attrValues {
|
||||
{ config
|
||||
, pkgs
|
||||
, lib
|
||||
, ...
|
||||
}:
|
||||
{
|
||||
home.packages =
|
||||
lib.optionals config.programs.helix.enable
|
||||
(
|
||||
builtins.attrValues {
|
||||
inherit (pkgs) yaml-language-server taplo-cli;
|
||||
inherit (pkgs.nodePackages) vscode-langservers-extracted;
|
||||
}) ++ lib.optionals config.programs.kakoune.enable (builtins.attrValues {
|
||||
}
|
||||
)
|
||||
++ lib.optionals config.programs.kakoune.enable (
|
||||
builtins.attrValues {
|
||||
inherit (pkgs) yaml-language-server;
|
||||
inherit (pkgs.nodePackages) vscode-langservers-extracted;
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = builtins.attrValues { inherit (pkgs.unstable_pkgs.jetbrains) datagrip jdk; };
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,14 @@
|
|||
{ pkgs, config, lib, ... }: {
|
||||
home.packages = (builtins.attrValues { inherit (pkgs) docker-compose; })
|
||||
++ lib.optionals config.programs.helix.enable (builtins.attrValues { inherit (pkgs.nodePackages) dockerfile-language-server-nodejs; });
|
||||
{ pkgs
|
||||
, config
|
||||
, lib
|
||||
, ...
|
||||
}:
|
||||
{
|
||||
home.packages =
|
||||
(builtins.attrValues { inherit (pkgs) docker-compose; })
|
||||
++ lib.optionals config.programs.helix.enable (
|
||||
builtins.attrValues { inherit (pkgs.nodePackages) dockerfile-language-server-nodejs; }
|
||||
);
|
||||
home.shellAliases = {
|
||||
"dkcd" = "docker-compose down";
|
||||
"dkc" = "docker-compose";
|
||||
|
|
@ -8,4 +16,3 @@
|
|||
"dk" = "docker";
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,15 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
{ pkgs
|
||||
, lib
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
{
|
||||
programs.go = {
|
||||
enable = true;
|
||||
goPath = ".go";
|
||||
};
|
||||
|
||||
home.packages =
|
||||
(lib.optionals config.programs.helix.enable [ pkgs.gopls ]) ++
|
||||
(lib.optionals config.programs.kakoune.enable [ pkgs.gopls ]);
|
||||
(lib.optionals config.programs.helix.enable [ pkgs.gopls ])
|
||||
++ (lib.optionals config.programs.kakoune.enable [ pkgs.gopls ]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,16 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
home.packages = lib.optionals config.programs.helix.enable
|
||||
(builtins.attrValues {
|
||||
inherit (pkgs.nodePackages) typescript-language-server;
|
||||
}) ++ lib.optionals config.programs.kakoune.enable (builtins.attrValues {
|
||||
inherit (pkgs.nodePackages) typescript-language-server;
|
||||
});
|
||||
{ pkgs
|
||||
, lib
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
{
|
||||
home.packages =
|
||||
lib.optionals config.programs.helix.enable
|
||||
(
|
||||
builtins.attrValues { inherit (pkgs.nodePackages) typescript-language-server; }
|
||||
)
|
||||
++ lib.optionals config.programs.kakoune.enable (
|
||||
builtins.attrValues { inherit (pkgs.nodePackages) typescript-language-server; }
|
||||
);
|
||||
programs.neovim.withNodeJs = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home = {
|
||||
shellAliases = { "k" = "kubectl"; };
|
||||
shellAliases = {
|
||||
"k" = "kubectl";
|
||||
};
|
||||
packages = [
|
||||
(pkgs.wrapHelm pkgs.kubernetes-helm {
|
||||
plugins = builtins.attrValues {
|
||||
|
|
|
|||
|
|
@ -1,10 +1,26 @@
|
|||
{ pkgs, config, lib, ... }: {
|
||||
home.packages = [ pkgs.bibtool pkgs.texlive.combined.scheme-full ]
|
||||
{ pkgs
|
||||
, config
|
||||
, lib
|
||||
, ...
|
||||
}:
|
||||
{
|
||||
home.packages =
|
||||
[
|
||||
pkgs.bibtool
|
||||
pkgs.texlive.combined.scheme-full
|
||||
]
|
||||
++ lib.optionals config.programs.helix.enable [ pkgs.texlab ]
|
||||
++ lib.optionals config.programs.kakoune.enable (builtins.attrValues {
|
||||
++ lib.optionals config.programs.kakoune.enable (
|
||||
builtins.attrValues {
|
||||
inherit (pkgs) texlab aspell;
|
||||
inherit (pkgs.aspellDicts) en en-computers en-science it;
|
||||
});
|
||||
inherit (pkgs.aspellDicts)
|
||||
en
|
||||
en-computers
|
||||
en-science
|
||||
it
|
||||
;
|
||||
}
|
||||
);
|
||||
|
||||
home.file.".latexmkrc".text = ''
|
||||
$pdf_previewer = 'zathura %O %S';
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
{ pkgs
|
||||
, lib
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
{
|
||||
home.packages = [
|
||||
pkgs.pandoc
|
||||
# pkgs.pandoc-drawio-filter
|
||||
# pkgs.pandoc-imagine
|
||||
]
|
||||
++ lib.optionals config.programs.helix.enable [
|
||||
pkgs.marksman
|
||||
];
|
||||
] ++ lib.optionals config.programs.helix.enable [ pkgs.marksman ];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,19 @@
|
|||
{ pkgs, config, lib, ... }: {
|
||||
{ pkgs
|
||||
, config
|
||||
, lib
|
||||
, ...
|
||||
}:
|
||||
{
|
||||
home.packages =
|
||||
(builtins.attrValues { inherit (pkgs) nixpkgs-fmt nixfmt-classic nix-prefetch-scripts nixpkgs-review nix-tree; })
|
||||
(builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
nixpkgs-fmt
|
||||
nixfmt-classic
|
||||
nix-prefetch-scripts
|
||||
nixpkgs-review
|
||||
nix-tree
|
||||
;
|
||||
})
|
||||
++ lib.optionals config.programs.helix.enable [ pkgs.nil ]
|
||||
++ lib.optionals config.programs.kakoune.enable [ pkgs.rnix-lsp ];
|
||||
programs.neovim.plugins = [ pkgs.vimPlugins.vim-nix ];
|
||||
|
|
|
|||
|
|
@ -1,22 +1,26 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
{ pkgs
|
||||
, lib
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
|
||||
let
|
||||
py = pkgs.python3;
|
||||
pyPkgs = py.pkgs;
|
||||
in
|
||||
{
|
||||
home.packages = [ py pyPkgs.black ] ++
|
||||
lib.optionals config.programs.helix.enable ((builtins.attrValues {
|
||||
inherit (pyPkgs)
|
||||
python-lsp-server
|
||||
pyls-flake8
|
||||
pyls-isort;
|
||||
}) ++ pyPkgs.python-lsp-server.optional-dependencies.all) ++
|
||||
lib.optionals config.programs.kakoune.enable ((builtins.attrValues {
|
||||
inherit (pyPkgs)
|
||||
python-lsp-server
|
||||
pyls-flake8
|
||||
pyls-isort;
|
||||
}) ++ pyPkgs.python-lsp-server.optional-dependencies.all);
|
||||
home.packages =
|
||||
[
|
||||
py
|
||||
pyPkgs.black
|
||||
]
|
||||
++ lib.optionals config.programs.helix.enable (
|
||||
(builtins.attrValues { inherit (pyPkgs) python-lsp-server pyls-flake8 pyls-isort; })
|
||||
++ pyPkgs.python-lsp-server.optional-dependencies.all
|
||||
)
|
||||
++ lib.optionals config.programs.kakoune.enable (
|
||||
(builtins.attrValues { inherit (pyPkgs) python-lsp-server pyls-flake8 pyls-isort; })
|
||||
++ pyPkgs.python-lsp-server.optional-dependencies.all
|
||||
);
|
||||
programs.neovim.withPython3 = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,21 +1,52 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
let tomlGenerate = (pkgs.formats.toml { }).generate; in
|
||||
{ pkgs
|
||||
, lib
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
tomlGenerate = (pkgs.formats.toml { }).generate;
|
||||
in
|
||||
{
|
||||
home.packages = (builtins.attrValues {
|
||||
home.packages =
|
||||
(builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
bacon cargo cargo-audit cargo-criterion cargo-deadlinks cargo-expand
|
||||
cargo-flamegraph cargo-fuzz cargo-hack cargo-hakari cargo-inspect
|
||||
cargo-modules cargo-outdated cargo-profiler cargo-release cargo-show-asm
|
||||
cargo-spellcheck cargo-tarpaulin cargo-udeps cargo-watch cargo-workspaces
|
||||
clippy rustc rustfmt;
|
||||
bacon
|
||||
cargo
|
||||
cargo-audit
|
||||
cargo-criterion
|
||||
cargo-deadlinks
|
||||
cargo-expand
|
||||
cargo-flamegraph
|
||||
cargo-fuzz
|
||||
cargo-hack
|
||||
cargo-hakari
|
||||
cargo-inspect
|
||||
cargo-modules
|
||||
cargo-outdated
|
||||
cargo-profiler
|
||||
cargo-release
|
||||
cargo-show-asm
|
||||
cargo-spellcheck
|
||||
cargo-tarpaulin
|
||||
cargo-udeps
|
||||
cargo-watch
|
||||
cargo-workspaces
|
||||
clippy
|
||||
rustc
|
||||
rustfmt
|
||||
;
|
||||
# cargo-about
|
||||
# cargo-auditable
|
||||
# cargo-deny
|
||||
# cargo-deps
|
||||
# cargo-feature
|
||||
})
|
||||
++ lib.optionals config.programs.helix.enable (builtins.attrValues { inherit (pkgs) lldb rust-analyzer; })
|
||||
++ lib.optionals config.programs.kakoune.enable (builtins.attrValues { inherit (pkgs) rust-analyzer; });
|
||||
++ lib.optionals config.programs.helix.enable (
|
||||
builtins.attrValues { inherit (pkgs) lldb rust-analyzer; }
|
||||
)
|
||||
++ lib.optionals config.programs.kakoune.enable (
|
||||
builtins.attrValues { inherit (pkgs) rust-analyzer; }
|
||||
);
|
||||
|
||||
home.file.".cargo/config.toml".source = tomlGenerate "cargo-config" {
|
||||
build.rustc-wrapper = "${pkgs.sccache}/bin/sccache";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.httpie ];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.easyeffects ];
|
||||
services.easyeffects.enable = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,4 +5,3 @@
|
|||
enableZshIntegration = true;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,17 @@
|
|||
{ pkgs, ... }: {
|
||||
fonts.fontconfig = { enable = true; };
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
fonts.fontconfig = {
|
||||
enable = true;
|
||||
};
|
||||
home.packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
dejavu_fonts noto-fonts noto-fonts-extra noto-fonts-cjk-sans font-awesome
|
||||
dejavu_fonts
|
||||
noto-fonts
|
||||
noto-fonts-extra
|
||||
noto-fonts-cjk-sans
|
||||
font-awesome
|
||||
corefonts# Microsoft fonts
|
||||
vistafonts;
|
||||
vistafonts
|
||||
;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,10 +48,8 @@ let
|
|||
"gfg" = "git ls-files | grep";
|
||||
"gignored" = ''git ls-files -v \| grep"^[[ :lower: ]]"'';
|
||||
"glo" = "git log --oneline --decorate";
|
||||
"glols" =
|
||||
"git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --stat";
|
||||
"glola" =
|
||||
"git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --all";
|
||||
"glols" = "git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --stat";
|
||||
"glola" = "git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --all";
|
||||
"glog" = "git log --oneline --decorate --graph";
|
||||
"gloga" = "git log --oneline --decorate --graph --all";
|
||||
"gm" = "git merge";
|
||||
|
|
@ -140,5 +138,12 @@ in
|
|||
bash.shellAliases = shellAliases;
|
||||
zsh.shellAliases = shellAliases;
|
||||
};
|
||||
home.packages = builtins.attrValues { inherit (pkgs) gh git-secret glab meld; };
|
||||
home.packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
gh
|
||||
git-secret
|
||||
glab
|
||||
meld
|
||||
;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,8 +4,14 @@
|
|||
rules = [
|
||||
{
|
||||
name = "Nvidia2screens";
|
||||
outputs_connected = [ "HDMI-0" "eDP-1-1" ];
|
||||
configure_column = [ "HDMI-0" "eDP-1-1" ];
|
||||
outputs_connected = [
|
||||
"HDMI-0"
|
||||
"eDP-1-1"
|
||||
];
|
||||
configure_column = [
|
||||
"HDMI-0"
|
||||
"eDP-1-1"
|
||||
];
|
||||
primary = "HDMI-0";
|
||||
}
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
gtk = {
|
||||
enable = true;
|
||||
font = pkgs.rice.font.normal;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
let thumbnailer = "${pkgs.libheif.bin}/bin/heif-thumbnailer";
|
||||
in {
|
||||
let
|
||||
thumbnailer = "${pkgs.libheif.bin}/bin/heif-thumbnailer";
|
||||
in
|
||||
{
|
||||
# home.packages = [
|
||||
# pkgs.libheif.bin
|
||||
# ];
|
||||
|
|
|
|||
|
|
@ -1,7 +1,13 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home = {
|
||||
sessionVariables = { EDITOR = "hx"; VISUAL = "hx"; };
|
||||
shellAliases = { x = "hx"; };
|
||||
sessionVariables = {
|
||||
EDITOR = "hx";
|
||||
VISUAL = "hx";
|
||||
};
|
||||
shellAliases = {
|
||||
x = "hx";
|
||||
};
|
||||
packages = builtins.attrValues {
|
||||
inherit (pkgs) nil; # Nix language server
|
||||
# inherit desktopItem;
|
||||
|
|
@ -10,10 +16,12 @@
|
|||
programs.helix = {
|
||||
enable = true;
|
||||
package = pkgs.unstable_pkgs.helix;
|
||||
languages.language = [{
|
||||
languages.language = [
|
||||
{
|
||||
name = "nix";
|
||||
auto-format = true;
|
||||
}];
|
||||
}
|
||||
];
|
||||
languages.language-server = {
|
||||
nil.config.nil = {
|
||||
formatting.command = [ "nixpkgs-fmt" ];
|
||||
|
|
@ -82,24 +90,56 @@
|
|||
{
|
||||
base16 = {
|
||||
"ui.menu" = transparent;
|
||||
"ui.menu.selected" = { modifiers = [ "reversed" ]; };
|
||||
"ui.linenr" = { fg = gray; bg = dark-gray; };
|
||||
"ui.popup" = { modifiers = [ "reversed" ]; };
|
||||
"ui.linenr.selected" = { fg = white; bg = black; modifiers = [ "bold" ]; };
|
||||
"ui.selection" = { fg = black; bg = blue; };
|
||||
"ui.selection.primary" = { modifiers = [ "reversed" ]; };
|
||||
"comment" = { fg = gray; };
|
||||
"ui.statusline" = { fg = white; bg = dark-gray; };
|
||||
"ui.statusline.inactive" = { fg = dark-gray; bg = white; };
|
||||
"ui.help" = { fg = dark-gray; bg = white; };
|
||||
"ui.cursor" = { modifiers = [ "reversed" ]; };
|
||||
"ui.menu.selected" = {
|
||||
modifiers = [ "reversed" ];
|
||||
};
|
||||
"ui.linenr" = {
|
||||
fg = gray;
|
||||
bg = dark-gray;
|
||||
};
|
||||
"ui.popup" = {
|
||||
modifiers = [ "reversed" ];
|
||||
};
|
||||
"ui.linenr.selected" = {
|
||||
fg = white;
|
||||
bg = black;
|
||||
modifiers = [ "bold" ];
|
||||
};
|
||||
"ui.selection" = {
|
||||
fg = black;
|
||||
bg = blue;
|
||||
};
|
||||
"ui.selection.primary" = {
|
||||
modifiers = [ "reversed" ];
|
||||
};
|
||||
"comment" = {
|
||||
fg = gray;
|
||||
};
|
||||
"ui.statusline" = {
|
||||
fg = white;
|
||||
bg = dark-gray;
|
||||
};
|
||||
"ui.statusline.inactive" = {
|
||||
fg = dark-gray;
|
||||
bg = white;
|
||||
};
|
||||
"ui.help" = {
|
||||
fg = dark-gray;
|
||||
bg = white;
|
||||
};
|
||||
"ui.cursor" = {
|
||||
modifiers = [ "reversed" ];
|
||||
};
|
||||
"variable" = red;
|
||||
"variable.builtin" = orange;
|
||||
"constant.numeric" = orange;
|
||||
"constant" = orange;
|
||||
"attributes" = yellow;
|
||||
"type" = yellow;
|
||||
"ui.cursor.match" = { fg = yellow; modifiers = [ "underlined" ]; };
|
||||
"ui.cursor.match" = {
|
||||
fg = yellow;
|
||||
modifiers = [ "underlined" ];
|
||||
};
|
||||
"string" = green;
|
||||
"variable.other.member" = red;
|
||||
"constant.character.escape" = cyan;
|
||||
|
|
@ -112,8 +152,12 @@
|
|||
"diff.plus" = green;
|
||||
"diff.delta" = yellow;
|
||||
"diff.minus" = red;
|
||||
"diagnostic" = { modifiers = [ "underlined" ]; };
|
||||
"ui.gutter" = { bg = black; };
|
||||
"diagnostic" = {
|
||||
modifiers = [ "underlined" ];
|
||||
};
|
||||
"ui.gutter" = {
|
||||
bg = black;
|
||||
};
|
||||
"info" = blue;
|
||||
"hint" = dark-gray;
|
||||
"debug" = dark-gray;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,9 @@
|
|||
{ pkgs, lib, nixosConfig, ... }: {
|
||||
{ pkgs
|
||||
, lib
|
||||
, nixosConfig
|
||||
, ...
|
||||
}:
|
||||
{
|
||||
systemd.user.services."bluetooth-keyboard" = {
|
||||
Unit = {
|
||||
Description = "Disable the laptop keyboard when the bluetooth keyboard is connected";
|
||||
|
|
@ -9,7 +14,14 @@
|
|||
Service = {
|
||||
Type = "simple";
|
||||
ExecStart = pkgs.writeShellScript "bluetooth-keyboard.sh" ''
|
||||
PATH=$PATH:${lib.makeBinPath [pkgs.coreutils pkgs.gnugrep pkgs.libnotify nixosConfig.programs.hyprland.package]}
|
||||
PATH=$PATH:${
|
||||
lib.makeBinPath [
|
||||
pkgs.coreutils
|
||||
pkgs.gnugrep
|
||||
pkgs.libnotify
|
||||
nixosConfig.programs.hyprland.package
|
||||
]
|
||||
}
|
||||
BLUETOOTH_DEVICE="keychron-k1-max-keyboard"
|
||||
LAPTOP_DEVICE="at-translated-set-2-keyboard"
|
||||
STATUS_FILE="$XDG_RUNTIME_DIR/bluetooth_keyboard.status"
|
||||
|
|
@ -49,4 +61,3 @@
|
|||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{ nixosConfig, pkgs, ... }: {
|
||||
{ nixosConfig, pkgs, ... }:
|
||||
{
|
||||
|
||||
imports = [
|
||||
./kitty.nix
|
||||
|
|
@ -12,7 +13,29 @@
|
|||
./hyprland-bluetooth-keyboard.nix
|
||||
];
|
||||
|
||||
home.packages = builtins.attrValues { inherit (pkgs) blueman brillo gamescope grimblast networkmanagerapplet wireplumber playerctl swaylock swww walker way-lockscreen waybar wl-clipboard wl-clipedit wlogout wofi wofi-emoji wtype xdg-desktop-portal-gtk; };
|
||||
home.packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
blueman
|
||||
brillo
|
||||
gamescope
|
||||
grimblast
|
||||
networkmanagerapplet
|
||||
wireplumber
|
||||
playerctl
|
||||
swaylock
|
||||
swww
|
||||
walker
|
||||
way-lockscreen
|
||||
waybar
|
||||
wl-clipboard
|
||||
wl-clipedit
|
||||
wlogout
|
||||
wofi
|
||||
wofi-emoji
|
||||
wtype
|
||||
xdg-desktop-portal-gtk
|
||||
;
|
||||
};
|
||||
|
||||
# wayland.windowManager.hyprland = { };
|
||||
|
||||
|
|
@ -52,14 +75,17 @@
|
|||
monitor=eDP-1,preferred,320x1440,1
|
||||
monitor=DP-1,preferred,0x0,1
|
||||
''
|
||||
else ""
|
||||
else
|
||||
""
|
||||
}
|
||||
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
|
||||
# Execute your favorite apps at launch
|
||||
exec-once = ${if nixosConfig.networking.hostName == "thor" then "xrandr --output DP-2 --primary" else "true"} & swww init & nm-applet & blueman-applet & systemctl --user start hyprland-login.target
|
||||
exec-once = ${
|
||||
if nixosConfig.networking.hostName == "thor" then "xrandr --output DP-2 --primary" else "true"
|
||||
} & swww init & nm-applet & blueman-applet & systemctl --user start hyprland-login.target
|
||||
|
||||
# Source a file (multi-file configs)
|
||||
# source = ~/.config/hypr/myColors.conf
|
||||
|
|
@ -69,7 +95,7 @@
|
|||
|
||||
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||
input {
|
||||
kb_layout = ${if nixosConfig.networking.hostName == "thor" then "us,it,us" else "it,us,us" }
|
||||
kb_layout = ${if nixosConfig.networking.hostName == "thor" then "us,it,us" else "it,us,us"}
|
||||
kb_variant = ,,colemak
|
||||
kb_model =
|
||||
kb_options = grp:menu_toggle,compose:rctrl
|
||||
|
|
|
|||
|
|
@ -1 +1,5 @@
|
|||
{ programs.info = { enable = true; }; }
|
||||
{
|
||||
programs.info = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
(pkgs.jellyfin-media-player.overrideAttrs (old: {
|
||||
postInstall = ''
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
let tomlGenerate = (pkgs.formats.toml { }).generate; in
|
||||
let
|
||||
tomlGenerate = (pkgs.formats.toml { }).generate;
|
||||
in
|
||||
{
|
||||
# TODO: switch to module on next release
|
||||
|
||||
|
|
@ -16,7 +18,11 @@ let tomlGenerate = (pkgs.formats.toml { }).generate; in
|
|||
display = {
|
||||
mode = "default";
|
||||
collapse_preview = true;
|
||||
column_ratio = [ 1 3 4 ];
|
||||
column_ratio = [
|
||||
1
|
||||
3
|
||||
4
|
||||
];
|
||||
show_borders = true;
|
||||
show_hidden = false;
|
||||
show_icons = true;
|
||||
|
|
@ -44,37 +50,102 @@ let tomlGenerate = (pkgs.formats.toml { }).generate; in
|
|||
|
||||
class = {
|
||||
audio_default = [
|
||||
{ command = "mpv"; args = [ "--" ]; }
|
||||
{ command = "mediainfo"; confirm_exit = true; }
|
||||
{
|
||||
command = "mpv";
|
||||
args = [ "--" ];
|
||||
}
|
||||
{
|
||||
command = "mediainfo";
|
||||
confirm_exit = true;
|
||||
}
|
||||
];
|
||||
|
||||
image_default = [
|
||||
{ command = "geeqie"; fork = true; silent = true; }
|
||||
{ command = "qimgv"; args = [ "--" ]; fork = true; silent = true; }
|
||||
{ command = "krita"; args = [ "--" ]; fork = true; silent = true; }
|
||||
{ command = "exiftool"; confirm_exit = true; }
|
||||
{ command = "swappy"; args = [ "-f" ]; fork = true; }
|
||||
{
|
||||
command = "geeqie";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
{
|
||||
command = "qimgv";
|
||||
args = [ "--" ];
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
{
|
||||
command = "krita";
|
||||
args = [ "--" ];
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
{
|
||||
command = "exiftool";
|
||||
confirm_exit = true;
|
||||
}
|
||||
{
|
||||
command = "swappy";
|
||||
args = [ "-f" ];
|
||||
fork = true;
|
||||
}
|
||||
];
|
||||
|
||||
video_default = [
|
||||
{ command = "mpv"; args = [ "--" ]; fork = true; silent = true; }
|
||||
{ command = "mediainfo"; confirm_exit = true; }
|
||||
{ command = "mpv"; args = [ "--mute" "on" "--" ]; fork = true; silent = true; }
|
||||
{
|
||||
command = "mpv";
|
||||
args = [ "--" ];
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
{
|
||||
command = "mediainfo";
|
||||
confirm_exit = true;
|
||||
}
|
||||
{
|
||||
command = "mpv";
|
||||
args = [
|
||||
"--mute"
|
||||
"on"
|
||||
"--"
|
||||
];
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
];
|
||||
|
||||
text_default = [
|
||||
{ command = "hx"; }
|
||||
{ command = "micro"; }
|
||||
{ command = "gedit"; fork = true; silent = true; }
|
||||
{ command = "bat"; args = [ "--paging=always" ]; }
|
||||
{
|
||||
command = "gedit";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
{
|
||||
command = "bat";
|
||||
args = [ "--paging=always" ];
|
||||
}
|
||||
];
|
||||
|
||||
reader_default = [
|
||||
{ command = "evince"; fork = true; silent = true; }
|
||||
{ command = "zathura"; fork = true; silent = true; }
|
||||
{
|
||||
command = "evince";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
{
|
||||
command = "zathura";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
];
|
||||
|
||||
libreoffice_default = [{ command = "libreoffice"; fork = true; silent = true; }];
|
||||
libreoffice_default = [
|
||||
{
|
||||
command = "libreoffice";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
extension = {
|
||||
|
|
@ -92,12 +163,28 @@ let tomlGenerate = (pkgs.formats.toml { }).generate; in
|
|||
webp."inherit" = "image_default";
|
||||
|
||||
svg.app_list = [
|
||||
{ command = "inkview"; fork = true; silent = true; }
|
||||
{ command = "inkscape"; fork = true; silent = true; }
|
||||
{
|
||||
command = "inkview";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
{
|
||||
command = "inkscape";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
];
|
||||
tiff.app_list = [
|
||||
{ command = "qimgv"; fork = true; silent = true; }
|
||||
{ command = "krita"; fork = true; silent = true; }
|
||||
{
|
||||
command = "qimgv";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
{
|
||||
command = "krita";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
];
|
||||
|
||||
## audio formats
|
||||
|
|
@ -165,46 +252,122 @@ let tomlGenerate = (pkgs.formats.toml { }).generate; in
|
|||
|
||||
# archive formats
|
||||
"7z".app_list = [
|
||||
{ command = "7z"; args = [ "x" ]; confirm_exit = true; }
|
||||
{ command = "file-roller"; fork = true; silent = true; }
|
||||
{
|
||||
command = "7z";
|
||||
args = [ "x" ];
|
||||
confirm_exit = true;
|
||||
}
|
||||
{
|
||||
command = "file-roller";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
];
|
||||
bz2.app_list = [
|
||||
{ command = "tar"; args = [ "-xvjf" ]; confirm_exit = true; }
|
||||
{ command = "file-roller"; fork = true; silent = true; }
|
||||
{
|
||||
command = "tar";
|
||||
args = [ "-xvjf" ];
|
||||
confirm_exit = true;
|
||||
}
|
||||
{
|
||||
command = "file-roller";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
];
|
||||
gz.app_list = [
|
||||
{ command = "tar"; args = [ "-xvzf" ]; confirm_exit = true; }
|
||||
{ command = "file-roller"; fork = true; silent = true; }
|
||||
{
|
||||
command = "tar";
|
||||
args = [ "-xvzf" ];
|
||||
confirm_exit = true;
|
||||
}
|
||||
{
|
||||
command = "file-roller";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
];
|
||||
tar.app_list = [
|
||||
{ command = "tar"; args = [ "-xvf" ]; confirm_exit = true; }
|
||||
{ command = "file-roller"; fork = true; silent = true; }
|
||||
{
|
||||
command = "tar";
|
||||
args = [ "-xvf" ];
|
||||
confirm_exit = true;
|
||||
}
|
||||
{
|
||||
command = "file-roller";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
];
|
||||
tgz.app_list = [
|
||||
{ command = "tar"; args = [ "-xvzf" ]; confirm_exit = true; }
|
||||
{ command = "file-roller"; fork = true; silent = true; }
|
||||
{
|
||||
command = "tar";
|
||||
args = [ "-xvzf" ];
|
||||
confirm_exit = true;
|
||||
}
|
||||
{
|
||||
command = "file-roller";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
];
|
||||
rar.app_list = [
|
||||
{ command = "unrar"; args = [ "x" ]; confirm_exit = true; }
|
||||
{ command = "file-roller"; fork = true; silent = true; }
|
||||
{
|
||||
command = "unrar";
|
||||
args = [ "x" ];
|
||||
confirm_exit = true;
|
||||
}
|
||||
{
|
||||
command = "file-roller";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
];
|
||||
xz.app_list = [
|
||||
{ command = "tar"; args = [ "-xvJf" ]; confirm_exit = true; }
|
||||
{ command = "file-roller"; fork = true; silent = true; }
|
||||
{
|
||||
command = "tar";
|
||||
args = [ "-xvJf" ];
|
||||
confirm_exit = true;
|
||||
}
|
||||
{
|
||||
command = "file-roller";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
];
|
||||
zip.app_list = [
|
||||
{ command = "unzip"; confirm_exit = true; }
|
||||
{ command = "file-roller"; fork = true; silent = true; }
|
||||
{
|
||||
command = "unzip";
|
||||
confirm_exit = true;
|
||||
}
|
||||
{
|
||||
command = "file-roller";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
];
|
||||
|
||||
# misc formats
|
||||
aup.app_list = [{ command = "audacity"; fork = true; silent = true; }];
|
||||
aup.app_list = [
|
||||
{
|
||||
command = "audacity";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
];
|
||||
|
||||
m3u.app_list = [
|
||||
{ command = "micro"; }
|
||||
{ command = "mpv"; }
|
||||
{ command = "gedit"; fork = true; silent = true; }
|
||||
{ command = "bat"; confirm_exit = true; }
|
||||
{
|
||||
command = "gedit";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
{
|
||||
command = "bat";
|
||||
confirm_exit = true;
|
||||
}
|
||||
];
|
||||
|
||||
odt."inherit" = "libreoffice_default";
|
||||
|
|
@ -221,13 +384,32 @@ let tomlGenerate = (pkgs.formats.toml { }).generate; in
|
|||
|
||||
pdf."inherit" = "reader_default";
|
||||
|
||||
kra.app_list = [{ command = "krita"; fork = true; silent = true; }];
|
||||
kdenlive.app_list = [{ command = "kdenlive"; fork = true; silent = true; }];
|
||||
kra.app_list = [
|
||||
{
|
||||
command = "krita";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
];
|
||||
kdenlive.app_list = [
|
||||
{
|
||||
command = "kdenlive";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
];
|
||||
|
||||
tex.app_list = [
|
||||
{ command = "micro"; }
|
||||
{ command = "gedit"; fork = true; silent = true; }
|
||||
{ command = "bat"; confirm_exit = true; }
|
||||
{
|
||||
command = "gedit";
|
||||
fork = true;
|
||||
silent = true;
|
||||
}
|
||||
{
|
||||
command = "bat";
|
||||
confirm_exit = true;
|
||||
}
|
||||
{ command = "pdflatex"; }
|
||||
];
|
||||
|
||||
|
|
@ -246,10 +428,22 @@ let tomlGenerate = (pkgs.formats.toml { }).generate; in
|
|||
|
||||
"joshuto/bookmarks.toml".source = tomlGenerate "joshuto-bookmarks.toml" {
|
||||
bookmark = [
|
||||
{ path = "/"; key = "r"; }
|
||||
{ path = "~/"; key = "h"; }
|
||||
{ path = "~/Scaricati"; key = "d"; }
|
||||
{ path = "~/Syncthing"; key = "s"; }
|
||||
{
|
||||
path = "/";
|
||||
key = "r";
|
||||
}
|
||||
{
|
||||
path = "~/";
|
||||
key = "h";
|
||||
}
|
||||
{
|
||||
path = "~/Scaricati";
|
||||
key = "d";
|
||||
}
|
||||
{
|
||||
path = "~/Syncthing";
|
||||
key = "s";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,13 +1,17 @@
|
|||
{ pkgs, ... }:
|
||||
let joystickwakeCmd = "${pkgs.joystickwake}/bin/joystickwake";
|
||||
in {
|
||||
let
|
||||
joystickwakeCmd = "${pkgs.joystickwake}/bin/joystickwake";
|
||||
in
|
||||
{
|
||||
systemd.user.services."joystickwake" = {
|
||||
Unit = {
|
||||
Description = "Keep lockscreen from activating";
|
||||
After = [ "graphical-session.target" ];
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
};
|
||||
Install = { WantedBy = [ "graphical-session.target" ]; };
|
||||
Install = {
|
||||
WantedBy = [ "graphical-session.target" ];
|
||||
};
|
||||
Service = {
|
||||
Type = "simple";
|
||||
ExecStart = joystickwakeCmd;
|
||||
|
|
|
|||
|
|
@ -1 +1,5 @@
|
|||
{ programs.jq = { enable = true; }; }
|
||||
{
|
||||
programs.jq = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
themeBuilder = palette:
|
||||
with palette; ''
|
||||
themeBuilder =
|
||||
palette: with palette; ''
|
||||
set-face global value rgb:${normal.magenta},default
|
||||
set-face global type rgb:${bright.white},default
|
||||
set-face global identifier rgb:${normal.cyan},default
|
||||
|
|
@ -64,8 +64,12 @@ let
|
|||
in
|
||||
{
|
||||
programs = {
|
||||
bash.shellAliases = { k = "kak"; };
|
||||
zsh.shellAliases = { k = "kak"; };
|
||||
bash.shellAliases = {
|
||||
k = "kak";
|
||||
};
|
||||
zsh.shellAliases = {
|
||||
k = "kak";
|
||||
};
|
||||
kakoune = {
|
||||
enable = true;
|
||||
config = {
|
||||
|
|
@ -270,8 +274,9 @@ in
|
|||
home.packages = packages;
|
||||
|
||||
# THEME FILE
|
||||
xdg.configFile."kak/colors/nord.kak".text = themeBuilder
|
||||
(pkgs.lib.nix-rice.palette.toRgbShortHex pkgs.rice.colorPalette);
|
||||
xdg.configFile."kak/colors/nord.kak".text = themeBuilder (
|
||||
pkgs.lib.nix-rice.palette.toRgbShortHex pkgs.rice.colorPalette
|
||||
);
|
||||
|
||||
xdg.configFile."kak-lsp/kak-lsp.toml".text = ''
|
||||
snippet_support = false
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
config.systemd.user.services.keepassxc = {
|
||||
Unit = {
|
||||
Description = "KeePassXC password manager";
|
||||
|
|
@ -6,8 +7,12 @@
|
|||
Partof = [ "graphical-session.target" ];
|
||||
};
|
||||
|
||||
Install = { WantedBy = [ "graphical-session.target" ]; };
|
||||
Install = {
|
||||
WantedBy = [ "graphical-session.target" ];
|
||||
};
|
||||
|
||||
Service = { ExecStart = "${pkgs.keepassxc}/bin/keepassxc"; };
|
||||
Service = {
|
||||
ExecStart = "${pkgs.keepassxc}/bin/keepassxc";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,10 @@
|
|||
programs.keychain = {
|
||||
enable = true;
|
||||
keys = [ "id_ed25519" ];
|
||||
agents = [ "gpg" "ssh" ];
|
||||
agents = [
|
||||
"gpg"
|
||||
"ssh"
|
||||
];
|
||||
enableBashIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
enableXsessionIntegration = true;
|
||||
|
|
|
|||
|
|
@ -1 +1,4 @@
|
|||
{ pkgs, ... }: { home.packages = [ pkgs.kicad ]; }
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.kicad ];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,8 +2,25 @@
|
|||
let
|
||||
strPalette = pkgs.lib.nix-rice.palette.toRgbHex {
|
||||
inherit (pkgs.rice.colorPalette)
|
||||
background foreground color0 color1 color2 color3 color4 color5 color6
|
||||
color7 color8 color9 color10 color11 color12 color13 color14 color15;
|
||||
background
|
||||
foreground
|
||||
color0
|
||||
color1
|
||||
color2
|
||||
color3
|
||||
color4
|
||||
color5
|
||||
color6
|
||||
color7
|
||||
color8
|
||||
color9
|
||||
color10
|
||||
color11
|
||||
color12
|
||||
color13
|
||||
color14
|
||||
color15
|
||||
;
|
||||
};
|
||||
in
|
||||
{
|
||||
|
|
@ -16,8 +33,7 @@ in
|
|||
update_check_interval = 0;
|
||||
background_opacity = toString pkgs.rice.opacity;
|
||||
close_on_child_death = "yes";
|
||||
clipboard_control =
|
||||
"write-clipboard write-primary read-clipboard read-primary";
|
||||
clipboard_control = "write-clipboard write-primary read-clipboard read-primary";
|
||||
disable_ligatures = "never";
|
||||
editor = "kak";
|
||||
} // strPalette;
|
||||
|
|
|
|||
|
|
@ -68,20 +68,25 @@ in
|
|||
source = previewer;
|
||||
# keybinding = "i";
|
||||
};
|
||||
keybindings = { "<c-f>" = "$EDITOR $(fzf)"; };
|
||||
keybindings = {
|
||||
"<c-f>" = "$EDITOR $(fzf)";
|
||||
};
|
||||
commands = {
|
||||
mkdir = ''''${{
|
||||
mkdir = ''
|
||||
''${{
|
||||
printf "Directory name: "
|
||||
read ans
|
||||
mkdir $ans
|
||||
}}'';
|
||||
mkfile = ''''${{
|
||||
mkfile = ''
|
||||
''${{
|
||||
printf "File name: "
|
||||
read ans
|
||||
$VISUAL $ans
|
||||
}}'';
|
||||
|
||||
trash = ''''${{
|
||||
trash = ''
|
||||
''${{
|
||||
files=$(printf "$fx" | tr '\n' ';')
|
||||
while [ "$files" ]; do
|
||||
file=''${files%%;*}
|
||||
|
|
@ -94,19 +99,23 @@ in
|
|||
fi
|
||||
done
|
||||
}}'';
|
||||
restore_trash = ''''${{
|
||||
restore_trash = ''
|
||||
''${{
|
||||
trash-restore
|
||||
}}'';
|
||||
|
||||
z = ''''${{
|
||||
z = ''
|
||||
''${{
|
||||
result="$(zoxide query --exclude "$PWD" -- "$@")"
|
||||
lf -remote "send $id cd '$result'"
|
||||
}}'';
|
||||
zi = ''''${{
|
||||
zi = ''
|
||||
''${{
|
||||
result="$(zoxide query -i -- "$@")"
|
||||
lf -remote "send $id cd '$result'"
|
||||
}}'';
|
||||
extract = ''''${{
|
||||
extract = ''
|
||||
''${{
|
||||
set -f
|
||||
case $f in
|
||||
*.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,9 @@ in
|
|||
After = [ "graphical-session-pre.target" ];
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
};
|
||||
Install = { WantedBy = [ "graphical-session.target" ]; };
|
||||
Install = {
|
||||
WantedBy = [ "graphical-session.target" ];
|
||||
};
|
||||
Service = {
|
||||
Type = "simple";
|
||||
ExecStart = libinputGesturesCmd;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
{ pkgs, ... }: {
|
||||
home.packages = [ pkgs.lutris pkgs.winePackages.full ];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
pkgs.lutris
|
||||
pkgs.winePackages.full
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
{ pkgs, ... }:
|
||||
let strPalette = pkgs.lib.nix-rice.palette.toRgbShortHex pkgs.rice.colorPalette;
|
||||
in {
|
||||
let
|
||||
strPalette = pkgs.lib.nix-rice.palette.toRgbShortHex pkgs.rice.colorPalette;
|
||||
in
|
||||
{
|
||||
programs.mangohud = {
|
||||
enable = true;
|
||||
# enableSessionWide = true;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
{ pkgs, ... }:
|
||||
let megasyncCmd = "${pkgs.megacmd}/bin/mega-cmd-server";
|
||||
in {
|
||||
let
|
||||
megasyncCmd = "${pkgs.megacmd}/bin/mega-cmd-server";
|
||||
in
|
||||
{
|
||||
home.packages = [ pkgs.megacmd ];
|
||||
|
||||
systemd.user.services."mega-cmd-server" = {
|
||||
|
|
@ -9,7 +11,9 @@ in {
|
|||
After = [ "default.target" ];
|
||||
PartOf = [ "default.target" ];
|
||||
};
|
||||
Install = { WantedBy = [ "default.target" ]; };
|
||||
Install = {
|
||||
WantedBy = [ "default.target" ];
|
||||
};
|
||||
Service = {
|
||||
Type = "simple";
|
||||
ExecStart = megasyncCmd;
|
||||
|
|
|
|||
|
|
@ -1 +1,7 @@
|
|||
{ pkgs, ... }: { home.packages = [ pkgs.gnome.nautilus pkgs.gnome.sushi ]; }
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
pkgs.gnome.nautilus
|
||||
pkgs.gnome.sushi
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = builtins.attrValues { inherit (pkgs.cinnamon) nemo; };
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1,5 @@
|
|||
{ programs.noti = { enable = true; }; }
|
||||
{
|
||||
programs.noti = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,14 @@
|
|||
{ nixosConfig, pkgs, config, ... }:
|
||||
{ nixosConfig
|
||||
, pkgs
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
inherit (nixosConfig.networking) hostName;
|
||||
in
|
||||
{
|
||||
home.packages = [ pkgs.ntfy-sh ];
|
||||
xdg.configFile."ntfy/client.yml".source = config.lib.file.mkOutOfStoreSymlink nixosConfig.age.secrets."ntfy-${hostName}".path;
|
||||
xdg.configFile."ntfy/client.yml".source =
|
||||
config.lib.file.mkOutOfStoreSymlink
|
||||
nixosConfig.age.secrets."ntfy-${hostName}".path;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.obs-studio = {
|
||||
enable = true;
|
||||
package = pkgs.obs-studio;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = builtins.attrValues {
|
||||
inherit (pkgs) hunspell libreoffice-fresh;
|
||||
inherit (pkgs.hunspellDicts) en_GB-large en_US-large it_IT;
|
||||
|
|
|
|||
|
|
@ -1,13 +1,17 @@
|
|||
{ pkgs, ... }:
|
||||
let onedriveCmd = "${pkgs.onedrive}/bin/onedrive --monitor";
|
||||
in {
|
||||
let
|
||||
onedriveCmd = "${pkgs.onedrive}/bin/onedrive --monitor";
|
||||
in
|
||||
{
|
||||
systemd.user.services."onedrive" = {
|
||||
Unit = {
|
||||
Description = "OneDrive synchronization service";
|
||||
After = [ "network.target" ];
|
||||
PartOf = [ "default.target" ];
|
||||
};
|
||||
Install = { WantedBy = [ "default.target" ]; };
|
||||
Install = {
|
||||
WantedBy = [ "default.target" ];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = onedriveCmd;
|
||||
Restart = "always";
|
||||
|
|
|
|||
|
|
@ -1,14 +1,19 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.password-store = {
|
||||
package = pkgs.pass.withExtensions (ext: (builtins.attrValues {
|
||||
package = pkgs.pass.withExtensions (
|
||||
ext:
|
||||
(builtins.attrValues {
|
||||
inherit (ext)
|
||||
# pass-audit
|
||||
pass-checkup
|
||||
pass-import
|
||||
pass-otp
|
||||
pass-tomb
|
||||
pass-update;
|
||||
}));
|
||||
pass-update
|
||||
;
|
||||
})
|
||||
);
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,9 @@
|
|||
{ nixosConfig, config, pkgs, lib, ... }:
|
||||
{ nixosConfig
|
||||
, config
|
||||
, pkgs
|
||||
, lib
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs.rice) colorPalette opacity;
|
||||
inherit (pkgs.lib) nix-rice;
|
||||
|
|
@ -48,7 +53,13 @@ let
|
|||
wait
|
||||
'';
|
||||
powermenu = pkgs.writeShellScript "powermenu" ''
|
||||
PATH=$PATH:"${lib.makeBinPath [ pkgs.rofi pkgs.rofi-power-menu pkgs.zsh ]}"
|
||||
PATH=$PATH:"${
|
||||
lib.makeBinPath [
|
||||
pkgs.rofi
|
||||
pkgs.rofi-power-menu
|
||||
pkgs.zsh
|
||||
]
|
||||
}"
|
||||
zsh -c 'rofi -show menu -modi "menu:rofi-power-menu --choices=shutdown/reboot/hibernate/logout"'
|
||||
'';
|
||||
colors = nix-rice.palette.toARGBHex rec {
|
||||
|
|
@ -99,9 +110,7 @@ let
|
|||
bottom.size = 0;
|
||||
};
|
||||
font = [
|
||||
"${pkgs.rice.font.monospace.name}:size=${
|
||||
toString pkgs.rice.font.monospace.size
|
||||
};2"
|
||||
"${pkgs.rice.font.monospace.name}:size=${toString pkgs.rice.font.monospace.size};2"
|
||||
# "Font Awesome 6 Free:size=14;0"
|
||||
# "Noto Color Emoji:size=2;2"
|
||||
"Noto Sans Symbols2:size=${toString pkgs.rice.font.monospace.size};2"
|
||||
|
|
@ -116,7 +125,14 @@ let
|
|||
wm-restack = "bspwm";
|
||||
};
|
||||
|
||||
ramp = [ "▂" "▃" "▄" "▅" "▆" "▇" ];
|
||||
ramp = [
|
||||
"▂"
|
||||
"▃"
|
||||
"▄"
|
||||
"▅"
|
||||
"▆"
|
||||
"▇"
|
||||
];
|
||||
in
|
||||
{
|
||||
home.packages = builtins.attrValues {
|
||||
|
|
@ -139,13 +155,14 @@ in
|
|||
'';
|
||||
|
||||
settings = {
|
||||
"settings" = { screenchange-reload = false; };
|
||||
"settings" = {
|
||||
screenchange-reload = false;
|
||||
};
|
||||
|
||||
"bar/primary" = lib.recursiveUpdate commonBar {
|
||||
modules-left = "bspwm";
|
||||
# modules-center =
|
||||
modules-right =
|
||||
"player pulseaudio temperature cpu memory battery keyboard-switch notifications powermenu date";
|
||||
modules-right = "player pulseaudio temperature cpu memory battery keyboard-switch notifications powermenu date";
|
||||
tray = {
|
||||
position = "right";
|
||||
padding = 1;
|
||||
|
|
@ -155,8 +172,7 @@ in
|
|||
"bar/secondary" = lib.recursiveUpdate commonBar {
|
||||
modules-left = "bspwm";
|
||||
# modules-center =
|
||||
modules-right =
|
||||
"player pulseaudio temperature cpu memory battery keyboard-switch notifications powermenu date";
|
||||
modules-right = "player pulseaudio temperature cpu memory battery keyboard-switch notifications powermenu date";
|
||||
};
|
||||
|
||||
"module/battery" = {
|
||||
|
|
@ -167,14 +183,30 @@ in
|
|||
full.at = 98;
|
||||
|
||||
animation = {
|
||||
charging = { text = [ "" "" "" "" "" ]; framerate = "750"; };
|
||||
discharging = { text = [ "" "" "" "" "" ]; framerate = "750"; };
|
||||
charging = {
|
||||
text = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
framerate = "750";
|
||||
};
|
||||
discharging = {
|
||||
text = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
framerate = "750";
|
||||
};
|
||||
};
|
||||
|
||||
format = {
|
||||
charging = lib.recursiveUpdate colors.selected {
|
||||
text = "<animation-charging> <label-charging>";
|
||||
};
|
||||
charging = lib.recursiveUpdate colors.selected { text = "<animation-charging> <label-charging>"; };
|
||||
discharging = lib.recursiveUpdate colors.active {
|
||||
text = "<animation-discharging> <label-discharging>";
|
||||
};
|
||||
|
|
@ -204,7 +236,9 @@ in
|
|||
{
|
||||
focused = lib.recursiveUpdate common colors.selected;
|
||||
occupied = lib.recursiveUpdate common colors.active;
|
||||
urgent = lib.recursiveUpdate (lib.recursiveUpdate common colors.active) { background = colors.alert; };
|
||||
urgent = lib.recursiveUpdate (lib.recursiveUpdate common colors.active) {
|
||||
background = colors.alert;
|
||||
};
|
||||
empty = lib.recursiveUpdate common colors.normal;
|
||||
};
|
||||
};
|
||||
|
|
@ -220,10 +254,16 @@ in
|
|||
"module/date" = {
|
||||
type = "internal/date";
|
||||
format = colors.normal;
|
||||
date = { alt = "%Y-%m-%d"; text = "%a %d/%m/%y"; };
|
||||
date = {
|
||||
alt = "%Y-%m-%d";
|
||||
text = "%a %d/%m/%y";
|
||||
};
|
||||
interval = "1";
|
||||
label = "%date% %time%";
|
||||
time = { alt = "%H:%M:%S"; text = "%H:%M"; };
|
||||
time = {
|
||||
alt = "%H:%M:%S";
|
||||
text = "%H:%M";
|
||||
};
|
||||
};
|
||||
|
||||
"module/memory" = {
|
||||
|
|
@ -237,9 +277,15 @@ in
|
|||
"module/pulseaudio" = {
|
||||
interval = 2;
|
||||
bar.volume = {
|
||||
empty = { text = "─"; };
|
||||
fill = { text = "─"; };
|
||||
indicator = { text = "|"; };
|
||||
empty = {
|
||||
text = "─";
|
||||
};
|
||||
fill = {
|
||||
text = "─";
|
||||
};
|
||||
indicator = {
|
||||
text = "|";
|
||||
};
|
||||
width = "10";
|
||||
foreground = [
|
||||
colors.green
|
||||
|
|
@ -252,18 +298,19 @@ in
|
|||
colors.red
|
||||
];
|
||||
};
|
||||
click.right =
|
||||
"${pgrep} pavucontrol && ${pkill} pavucontrol || ${pavucontrol}";
|
||||
click.right = "${pgrep} pavucontrol && ${pkill} pavucontrol || ${pavucontrol}";
|
||||
format = {
|
||||
padding = 1;
|
||||
muted = colors.active;
|
||||
volume = lib.recursiveUpdate colors.normal {
|
||||
text = "<ramp-volume> <label-volume>";
|
||||
};
|
||||
volume = lib.recursiveUpdate colors.normal { text = "<ramp-volume> <label-volume>"; };
|
||||
};
|
||||
label.muted.text = " muted";
|
||||
label.volume.text = "%percentage%%";
|
||||
ramp.volume = [ "" "" "" ];
|
||||
ramp.volume = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
type = "internal/pulseaudio";
|
||||
};
|
||||
|
||||
|
|
@ -279,7 +326,13 @@ in
|
|||
text = "%temperature-c%";
|
||||
warn = "%temperature-c%";
|
||||
};
|
||||
ramp.text = [ "" "" "" "" "" ];
|
||||
ramp.text = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
thermal.zone = if nixosConfig.networking.hostName == "odin" then 8 else 0;
|
||||
type = "internal/temperature";
|
||||
warn.temperature = "90";
|
||||
|
|
|
|||
|
|
@ -1,12 +1,10 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
systemLibFolder = "/run/current-system/sw/lib/";
|
||||
userLibFolder =
|
||||
"$HOME/.local/state/nix/profiles/home-manager/home-path/lib";
|
||||
userLibFolder = "$HOME/.local/state/nix/profiles/home-manager/home-path/lib";
|
||||
variables = {
|
||||
DSSI_PATH = "$HOME/.dssi:${userLibFolder}/dssi:${systemLibFolder}/dssi";
|
||||
LADSPA_PATH =
|
||||
"$HOME/.ladspa:${userLibFolder}/ladspa:${systemLibFolder}/ladspa";
|
||||
LADSPA_PATH = "$HOME/.ladspa:${userLibFolder}/ladspa:${systemLibFolder}/ladspa";
|
||||
LV2_PATH = "$HOME/.lv2:${userLibFolder}/lv2:${systemLibFolder}/lv2";
|
||||
LXVST_PATH = "$HOME/.lxvst:${userLibFolder}/lxvst:${systemLibFolder}/lxvst";
|
||||
VST_PATH = "$HOME/.vst:${userLibFolder}/vst:${systemLibFolder}/vst";
|
||||
|
|
@ -16,12 +14,35 @@ in
|
|||
{
|
||||
home.packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
ardour breeze-icons carla mixxx rnnoise
|
||||
ardour
|
||||
breeze-icons
|
||||
carla
|
||||
mixxx
|
||||
rnnoise
|
||||
#mamba
|
||||
# zrythm
|
||||
|
||||
# Plugins
|
||||
aeolus artyFX autotalent boops calf cardinal fluidsynth geonkick giada lsp-plugins samplv1 sfizz surge surge-XT talentedhack vocproc x42-plugins zita-at1 zyn-fusion zynaddsubfx
|
||||
aeolus
|
||||
artyFX
|
||||
autotalent
|
||||
boops
|
||||
calf
|
||||
cardinal
|
||||
fluidsynth
|
||||
geonkick
|
||||
giada
|
||||
lsp-plugins
|
||||
samplv1
|
||||
sfizz
|
||||
surge
|
||||
surge-XT
|
||||
talentedhack
|
||||
vocproc
|
||||
x42-plugins
|
||||
zita-at1
|
||||
zyn-fusion
|
||||
zynaddsubfx
|
||||
# helm
|
||||
# noise-repellent
|
||||
# speech-denoiser
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = builtins.attrValues {
|
||||
inherit (pkgs) python3;
|
||||
inherit (pkgs.unstable_pkgs.jetbrains) pycharm-professional jdk;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
# mendeley # Reference manager
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
|
||||
home.packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
|
|
@ -15,7 +16,9 @@
|
|||
location = "center";
|
||||
font = "${pkgs.rice.font.monospace.name} ${toString pkgs.rice.font.monospace.size}";
|
||||
plugins = [ pkgs.rofi-calc ];
|
||||
extraConfig = { modi = "drun,run,ssh,window,calc"; };
|
||||
extraConfig = {
|
||||
modi = "drun,run,ssh,window,calc";
|
||||
};
|
||||
terminal = "alacritty";
|
||||
theme = "onedark";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services.screen-locker = {
|
||||
enable = true;
|
||||
lockCmd = "${pkgs.lockscreen}/bin/lockscreen";
|
||||
inactiveInterval = 2; # minutes
|
||||
xautolock.extraOptions = [ "-secure" "-lockaftersleep" ];
|
||||
xautolock.extraOptions = [
|
||||
"-secure"
|
||||
"-lockaftersleep"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
nmap# RECOGNITION
|
||||
|
|
@ -8,7 +9,9 @@
|
|||
# altair
|
||||
# burpsuite
|
||||
|
||||
bintools ghidra-bin radare2# REVERSING
|
||||
bintools
|
||||
ghidra-bin
|
||||
radare2# REVERSING
|
||||
# cutter
|
||||
|
||||
# INFRASTRUCTURE
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{ nixosConfig, ... }: {
|
||||
{ nixosConfig, ... }:
|
||||
{
|
||||
services.spotifyd = {
|
||||
enable = true;
|
||||
settings.global = {
|
||||
|
|
|
|||
|
|
@ -2,6 +2,10 @@
|
|||
programs.ssh = {
|
||||
enable = true;
|
||||
compression = true;
|
||||
matchBlocks = { "*" = { identityFile = "~/.ssh/id_ed25519"; }; };
|
||||
matchBlocks = {
|
||||
"*" = {
|
||||
identityFile = "~/.ssh/id_ed25519";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,10 @@
|
|||
hostname.format = "[$hostname]($style) "; # Disable ssh symbol
|
||||
# line_break.disabled = true; # Prompt in one line
|
||||
nix_shell.symbol = "❄️ "; # better soacing
|
||||
python.python_binary = [ "python3" "python2" ];
|
||||
python.python_binary = [
|
||||
"python3"
|
||||
"python2"
|
||||
];
|
||||
status = {
|
||||
disabled = false; # enable module
|
||||
format = "[$symbol $status]($style) "; # nicer status format
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue