Reformat + swap odin SSD
This commit is contained in:
parent
1bc27dde82
commit
2f3d05a802
83 changed files with 1448 additions and 931 deletions
|
|
@ -1,6 +1,5 @@
|
|||
{ pkgs, lib, ... }:
|
||||
with lib;
|
||||
{
|
||||
with lib; {
|
||||
# boot = {
|
||||
# # binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ];
|
||||
# # kernelPackages = pkgs.linuxPackages_5_18;
|
||||
|
|
@ -24,8 +23,14 @@ with lib;
|
|||
|
||||
programs = {
|
||||
dconf.enable = true;
|
||||
gnupg.agent = { enable = true; enableSSHSupport = true; };
|
||||
zsh = { enable = true; syntaxHighlighting.enable = true; };
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
zsh = {
|
||||
enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
networking = {
|
||||
|
|
@ -56,14 +61,22 @@ with lib;
|
|||
# bazarr = { enable = true; openFirewall = true; group = "users"; };
|
||||
# blueman.enable = true;
|
||||
dbus.packages = with pkgs; [ dconf ];
|
||||
fail2ban = { enable = true; bantime-increment.enable = true; };
|
||||
fail2ban = {
|
||||
enable = true;
|
||||
bantime-increment.enable = true;
|
||||
};
|
||||
# gnome.gnome-keyring.enable = true;
|
||||
# gvfs = { enable = true; package = mkForce pkgs.gnome3.gvfs; };
|
||||
# jackett = { 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; permitRootLogin = "no"; passwordAuthentication = false; };
|
||||
openssh = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
permitRootLogin = "no";
|
||||
passwordAuthentication = false;
|
||||
};
|
||||
# plex = { enable = true; openFirewall = true; group = "users"; };
|
||||
# power-profiles-daemon.enable = true;
|
||||
# radarr = { enable = true; openFirewall = true; group = "users"; };
|
||||
|
|
@ -104,7 +117,17 @@ with lib;
|
|||
|
||||
users.users.bertof = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "audio" "input" "docker" "libvirtd" "network" "networkmanager" "usb" "video" "wheel" ];
|
||||
extraGroups = [
|
||||
"audio"
|
||||
"input"
|
||||
"docker"
|
||||
"libvirtd"
|
||||
"network"
|
||||
"networkmanager"
|
||||
"usb"
|
||||
"video"
|
||||
"wheel"
|
||||
];
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
|
|
@ -142,7 +165,6 @@ with lib;
|
|||
# };
|
||||
# };
|
||||
|
||||
|
||||
# systemd.packages = with pkgs; [ syncthing ];
|
||||
# systemd.services =
|
||||
# let
|
||||
|
|
@ -230,7 +252,6 @@ with lib;
|
|||
# };
|
||||
# };
|
||||
|
||||
|
||||
security.sudo.extraConfig = ''
|
||||
Defaults pwfeedback
|
||||
'';
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
nixpkgs.overlays = [
|
||||
(_: _: {
|
||||
devEnvironment = (import ./environment.nix) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
{ pkgs ? import <nixos> { inherit system; }
|
||||
, system ? builtins.currentSystem
|
||||
}:
|
||||
{ pkgs ? import <nixos> { inherit system; }, system ? builtins.currentSystem }:
|
||||
|
||||
let
|
||||
self = with pkgs; {
|
||||
|
|
|
|||
|
|
@ -3,14 +3,15 @@
|
|||
, roboto
|
||||
, i3lock-color
|
||||
, writeScriptBin
|
||||
, font ? { package = roboto; name = "Roboto"; }
|
||||
, font ? {
|
||||
package = roboto;
|
||||
name = "Roboto";
|
||||
}
|
||||
, palette ? rice.palette.palette { }
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
strPalette = lib.rice.palette.toRGBAHex palette;
|
||||
in
|
||||
writeScriptBin "lockscreen" ''
|
||||
let strPalette = lib.rice.palette.toRGBAHex palette;
|
||||
in writeScriptBin "lockscreen" ''
|
||||
#!/bin/sh
|
||||
# Using font package ${font.package}
|
||||
${i3lock-color}/bin/i3lock-color \
|
||||
|
|
|
|||
170
flake.nix
170
flake.nix
|
|
@ -3,17 +3,41 @@
|
|||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/release-22.05";
|
||||
home-manager = { url = "github:nix-community/home-manager/release-22.05"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-22.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nixpkgs-u.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
home-manager-u = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs-u"; };
|
||||
home-manager-u = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs-u";
|
||||
};
|
||||
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
||||
|
||||
nix-rice = { url = "github:bertof/nix-rice"; inputs = { inxpkgs.follows = "nixpkgs-u"; flake-utils.follows = "flake-utils"; }; };
|
||||
pre-commit-hooks = { url = "github:cachix/pre-commit-hooks.nix"; inputs = { nixpkgs.follows = "nixpkgs-u"; flake-utils.follows = "flake-utils"; }; };
|
||||
tex2nix = { url = "github:Mic92/tex2nix"; inputs = { nixpkgs.follows = "nixpkgs-u"; flake-utils.follows = "flake-utils"; }; };
|
||||
nix-rice = {
|
||||
url = "github:bertof/nix-rice";
|
||||
inputs = {
|
||||
inxpkgs.follows = "nixpkgs-u";
|
||||
flake-utils.follows = "flake-utils";
|
||||
};
|
||||
};
|
||||
pre-commit-hooks = {
|
||||
url = "github:cachix/pre-commit-hooks.nix";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs-u";
|
||||
flake-utils.follows = "flake-utils";
|
||||
};
|
||||
};
|
||||
tex2nix = {
|
||||
url = "github:Mic92/tex2nix";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs-u";
|
||||
flake-utils.follows = "flake-utils";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
|
|
@ -30,13 +54,25 @@
|
|||
}:
|
||||
let
|
||||
overlaysBuilder = system: [
|
||||
(_: _: { inherit (tex2nix.packages.${system}) tex2nix; stable = pkgs { inherit system; }; unstable = pkgs-u { inherit system; }; })
|
||||
(_: _: {
|
||||
inherit (tex2nix.packages.${system}) tex2nix;
|
||||
stable = pkgs { inherit system; };
|
||||
unstable = pkgs-u { inherit system; };
|
||||
})
|
||||
(nix-rice.overlays.default)
|
||||
(import ./rice.nix)
|
||||
(final: _: {
|
||||
update-background = final.callPackage ./custom/update-background { backgrounds_directory = "$HOME/Immagini/Sfondi/1080+/1440+"; };
|
||||
lockscreen = final.callPackage ./custom/lockscreen { palette = final.rice.colorPalette; font = final.rice.font.normal; };
|
||||
sddm-theme-clairvoyance = final.callPackage ./custom/sddm-theme-clairvoyance { wallpaper = ./wallpapers/comfy_waves.jpg; };
|
||||
update-background = final.callPackage ./custom/update-background {
|
||||
backgrounds_directory = "$HOME/Immagini/Sfondi/1080+/1440+";
|
||||
};
|
||||
lockscreen = final.callPackage ./custom/lockscreen {
|
||||
palette = final.rice.colorPalette;
|
||||
font = final.rice.font.normal;
|
||||
};
|
||||
sddm-theme-clairvoyance =
|
||||
final.callPackage ./custom/sddm-theme-clairvoyance {
|
||||
wallpaper = ./wallpapers/comfy_waves.jpg;
|
||||
};
|
||||
})
|
||||
];
|
||||
defaultConfig = {
|
||||
|
|
@ -44,10 +80,18 @@
|
|||
allowUnfree = true;
|
||||
permittedInsecurePackages = [ "electron-9.4.4" ]; # authy dependency
|
||||
};
|
||||
nixpkgsSettings = { system, overlays ? overlaysBuilder system, config ? defaultConfig }: { inherit system overlays config; };
|
||||
nixpkgsSettings =
|
||||
{ system, overlays ? overlaysBuilder system, config ? defaultConfig }: {
|
||||
inherit system overlays config;
|
||||
};
|
||||
pkgs = s: import nixpkgs (nixpkgsSettings s);
|
||||
pkgs-u = s: import nixpkgs-u (nixpkgsSettings s);
|
||||
homeManagerSettings = { home-manager = { useGlobalPkgs = true; useUserPackages = true; }; };
|
||||
homeManagerSettings = {
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
};
|
||||
};
|
||||
|
||||
commonBaseModules = [
|
||||
./nixos_modules/bertof_user.nix
|
||||
|
|
@ -79,22 +123,22 @@
|
|||
odinIntelModules = [ ./odin/configuration-intel.nix ];
|
||||
odinNvidiaModules = [ ./odin/configuration-nvidia.nix ];
|
||||
|
||||
odinIntelBuilder = { extraModules ? [ ] }: nixpkgs.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
modules =
|
||||
[{ nixpkgs = nixpkgsSettings { inherit system; }; }] ++
|
||||
commonBaseModules ++ odinBaseModules ++ odinIntelModules ++
|
||||
(homeManagerModules { bertof = import ./odin/hm.nix; }) ++
|
||||
extraModules;
|
||||
};
|
||||
odinNvidiaBuilder = { extraModules ? [ ] }: nixpkgs.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
modules =
|
||||
[{ nixpkgs = nixpkgsSettings { inherit system; }; }] ++
|
||||
commonBaseModules ++ odinBaseModules ++ odinNvidiaModules ++
|
||||
(homeManagerModules { bertof = import ./odin/hm.nix; }) ++
|
||||
extraModules;
|
||||
};
|
||||
odinIntelBuilder = { extraModules ? [ ] }:
|
||||
nixpkgs.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
modules = [{ nixpkgs = nixpkgsSettings { inherit system; }; }]
|
||||
++ commonBaseModules ++ odinBaseModules ++ odinIntelModules
|
||||
++ (homeManagerModules { bertof = import ./odin/hm.nix; })
|
||||
++ extraModules;
|
||||
};
|
||||
odinNvidiaBuilder = { extraModules ? [ ] }:
|
||||
nixpkgs.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
modules = [{ nixpkgs = nixpkgsSettings { inherit system; }; }]
|
||||
++ commonBaseModules ++ odinBaseModules ++ odinNvidiaModules
|
||||
++ (homeManagerModules { bertof = import ./odin/hm.nix; })
|
||||
++ extraModules;
|
||||
};
|
||||
|
||||
thorBaseModules = [
|
||||
./thor/hardware-configuration.nix
|
||||
|
|
@ -102,14 +146,14 @@
|
|||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
./thor/configuration.nix
|
||||
];
|
||||
thorBuilder = { extraModules ? [ ] }: nixpkgs-u.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
modules =
|
||||
[{ nixpkgs = nixpkgsSettings { inherit system; }; }] ++
|
||||
commonBaseModules ++ thorBaseModules ++
|
||||
(homeManagerUModules { bertof = import ./thor/hm.nix; }) ++
|
||||
extraModules;
|
||||
};
|
||||
thorBuilder = { extraModules ? [ ] }:
|
||||
nixpkgs-u.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
modules = [{ nixpkgs = nixpkgsSettings { inherit system; }; }]
|
||||
++ commonBaseModules ++ thorBaseModules
|
||||
++ (homeManagerUModules { bertof = import ./thor/hm.nix; })
|
||||
++ extraModules;
|
||||
};
|
||||
|
||||
lokiBaseModules = [
|
||||
./loki/hardware-configuration.nix
|
||||
|
|
@ -117,39 +161,38 @@
|
|||
nixos-hardware.nixosModules.common-pc-ssd
|
||||
./loki/configuration.nix
|
||||
];
|
||||
lokiBuilder = { extraModules ? [ ] }: nixpkgs.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
modules =
|
||||
[{ nixpkgs = nixpkgsSettings { inherit system; }; }] ++
|
||||
commonBaseModules ++ lokiBaseModules ++
|
||||
(homeManagerModules { bertof = import ./loki/hm.nix; }) ++
|
||||
extraModules;
|
||||
};
|
||||
lokiBuilder = { extraModules ? [ ] }:
|
||||
nixpkgs.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
modules = [{ nixpkgs = nixpkgsSettings { inherit system; }; }]
|
||||
++ commonBaseModules ++ lokiBaseModules
|
||||
++ (homeManagerModules { bertof = import ./loki/hm.nix; })
|
||||
++ extraModules;
|
||||
};
|
||||
|
||||
freyaBaseModules = [
|
||||
# ./freya/hardware-configuration.nix
|
||||
nixos-hardware.nixosModules.raspberry-pi."4"
|
||||
./freya/configuration.nix
|
||||
];
|
||||
freyaBuilder = { extraModules ? [ ] }: nixpkgs.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
modules =
|
||||
[{ nixpkgs = nixpkgsSettings { inherit system; }; }] ++
|
||||
commonBaseModules ++ freyaBaseModules ++
|
||||
(homeManagerModules { bertof = import ./freya/hm.nix; }) ++
|
||||
extraModules;
|
||||
};
|
||||
freyaBuilder = { extraModules ? [ ] }:
|
||||
nixpkgs.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
modules = [{ nixpkgs = nixpkgsSettings { inherit system; }; }]
|
||||
++ commonBaseModules ++ freyaBaseModules
|
||||
++ (homeManagerModules { bertof = import ./freya/hm.nix; })
|
||||
++ extraModules;
|
||||
};
|
||||
|
||||
baldurBaseModules = [
|
||||
./baldur/configuration.nix
|
||||
];
|
||||
balurBuilder = { extraModules ? [ ] }: nixpkgs.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
modules = [{ nixpkgs = nixpkgsSettings { inherit system; }; }] ++
|
||||
commonBaseModules ++ baldurBaseModules ++
|
||||
(homeManagerModules { bertof = import ./baldur/hm.nix; }) ++
|
||||
extraModules;
|
||||
};
|
||||
baldurBaseModules = [ ./baldur/configuration.nix ];
|
||||
balurBuilder = { extraModules ? [ ] }:
|
||||
nixpkgs.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
modules = [{ nixpkgs = nixpkgsSettings { inherit system; }; }]
|
||||
++ commonBaseModules ++ baldurBaseModules
|
||||
++ (homeManagerModules { bertof = import ./baldur/hm.nix; })
|
||||
++ extraModules;
|
||||
};
|
||||
in
|
||||
(flake-utils.lib.eachDefaultSystem (system: rec {
|
||||
packages = pkgs-u { inherit system; };
|
||||
|
|
@ -157,7 +200,10 @@
|
|||
checks = {
|
||||
pre-commit-check = pre-commit-hooks.lib.${system}.run {
|
||||
src = ./.;
|
||||
hooks = { nixpkgs-fmt.enable = true; nix-linter.enable = true; };
|
||||
hooks = {
|
||||
nixpkgs-fmt.enable = true;
|
||||
nix-linter.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
{ pkgs, lib, ... }:
|
||||
with lib;
|
||||
{
|
||||
with lib; {
|
||||
boot = {
|
||||
binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ];
|
||||
kernelPackages = pkgs.linuxPackages_5_18;
|
||||
|
|
@ -24,8 +23,14 @@ with lib;
|
|||
|
||||
programs = {
|
||||
dconf.enable = true;
|
||||
gnupg.agent = { enable = true; enableSSHSupport = true; };
|
||||
zsh = { enable = true; syntaxHighlighting.enable = true; };
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
zsh = {
|
||||
enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
networking = {
|
||||
|
|
@ -63,7 +68,12 @@ with lib;
|
|||
# jellyfin = { enable = true; openFirewall = true; group = "users"; };
|
||||
# logind.lidSwitch = "ignore";
|
||||
# node-red = { enable = true; openFirewall = true; withNpmAndGcc = true; };
|
||||
openssh = { enable = true; openFirewall = true; permitRootLogin = "no"; passwordAuthentication = false; };
|
||||
openssh = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
permitRootLogin = "no";
|
||||
passwordAuthentication = false;
|
||||
};
|
||||
# plex = { enable = true; openFirewall = true; group = "users"; };
|
||||
# power-profiles-daemon.enable = true;
|
||||
# radarr = { enable = true; openFirewall = true; group = "users"; };
|
||||
|
|
@ -136,7 +146,10 @@ with lib;
|
|||
# };
|
||||
# };
|
||||
# };
|
||||
smartd = { enable = true; notifications.x11.enable = true; };
|
||||
smartd = {
|
||||
enable = true;
|
||||
notifications.x11.enable = true;
|
||||
};
|
||||
# sonarr = { enable = true; openFirewall = true; group = "users"; };
|
||||
thermald.enable = true;
|
||||
# transmission = {
|
||||
|
|
@ -173,7 +186,17 @@ with lib;
|
|||
users.users = {
|
||||
bertof = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "audio" "input" "docker" "libvirtd" "network" "networkmanager" "usb" "video" "wheel" ];
|
||||
extraGroups = [
|
||||
"audio"
|
||||
"input"
|
||||
"docker"
|
||||
"libvirtd"
|
||||
"network"
|
||||
"networkmanager"
|
||||
"usb"
|
||||
"video"
|
||||
"wheel"
|
||||
];
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
# tiziano = {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
nixpkgs.overlays = [
|
||||
(_: _: {
|
||||
devEnvironment = (import ./environment.nix) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
home = {
|
||||
language.base = "it_IT.UTF-8";
|
||||
packages = with pkgs; [
|
||||
|
|
|
|||
|
|
@ -1,31 +1,32 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
strPalette = with pkgs.rice; pkgs.lib.rice.palette.toRgbHex rec {
|
||||
inherit (colorPalette) normal bright;
|
||||
dim = colorPalette.dark;
|
||||
strPalette = with pkgs.rice;
|
||||
pkgs.lib.rice.palette.toRgbHex rec {
|
||||
inherit (colorPalette) normal bright;
|
||||
dim = colorPalette.dark;
|
||||
|
||||
primary = {
|
||||
background = normal.black;
|
||||
foreground = normal.white;
|
||||
dim_foreground = dim.white;
|
||||
};
|
||||
cursor = {
|
||||
cursor = normal.white;
|
||||
text = normal.black;
|
||||
};
|
||||
vi_mode_cursor = {
|
||||
cursor = normal.white;
|
||||
text = normal.black;
|
||||
};
|
||||
selection.background = dim.blue;
|
||||
search = {
|
||||
matches.background = dim.cyan;
|
||||
bar = {
|
||||
foreground = dim.cyan;
|
||||
background = dim.yellow;
|
||||
primary = {
|
||||
background = normal.black;
|
||||
foreground = normal.white;
|
||||
dim_foreground = dim.white;
|
||||
};
|
||||
cursor = {
|
||||
cursor = normal.white;
|
||||
text = normal.black;
|
||||
};
|
||||
vi_mode_cursor = {
|
||||
cursor = normal.white;
|
||||
text = normal.black;
|
||||
};
|
||||
selection.background = dim.blue;
|
||||
search = {
|
||||
matches.background = dim.cyan;
|
||||
bar = {
|
||||
foreground = dim.cyan;
|
||||
background = dim.yellow;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
# Include fonts packages
|
||||
|
|
@ -45,10 +46,11 @@ in
|
|||
# hide_when_typing = true;
|
||||
hints.modifiers = "Control";
|
||||
};
|
||||
colors = with pkgs.rice; strPalette // {
|
||||
selection.text = "CellForeground";
|
||||
search.matches.foreground = "CellForeground";
|
||||
};
|
||||
colors = with pkgs.rice;
|
||||
strPalette // {
|
||||
selection.text = "CellForeground";
|
||||
search.matches.foreground = "CellForeground";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
programs.zsh.enable = true;
|
||||
programs.zsh.initExtra = ''
|
||||
source <(${pkgs.any-nix-shell}/bin/any-nix-shell zsh --info-right)
|
||||
'';
|
||||
}
|
||||
|
|
@ -5,7 +5,8 @@
|
|||
let
|
||||
dell-laptop = {
|
||||
dpi = 96;
|
||||
fingerprint = "00ffffffffffff0030e43f0500000000001a010495221378eaa1c59459578f27205054000000010101010101010101010101010101012e3680a070381f403020350058c21000001a5c2b80a070381f403020350058c21000001a000000fe0034584b3133803135365746360a000000000000413196001000000a010a202000c5";
|
||||
fingerprint =
|
||||
"00ffffffffffff0030e43f0500000000001a010495221378eaa1c59459578f27205054000000010101010101010101010101010101012e3680a070381f403020350058c21000001a5c2b80a070381f403020350058c21000001a000000fe0034584b3133803135365746360a000000000000413196001000000a010a202000c5";
|
||||
mode = "1920x1080";
|
||||
};
|
||||
in
|
||||
|
|
@ -13,43 +14,87 @@
|
|||
odin-nvidia = {
|
||||
fingerprint = { "eDP-1-1" = dell-laptop.fingerprint; };
|
||||
config = {
|
||||
"eDP-1-1" = { inherit (dell-laptop) mode dpi; primary = true; crtc = 0; };
|
||||
"eDP-1-1" = {
|
||||
inherit (dell-laptop) mode dpi;
|
||||
primary = true;
|
||||
crtc = 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
odin-intel = {
|
||||
fingerprint = { "eDP1" = dell-laptop.fingerprint; };
|
||||
config = {
|
||||
"eDP1" = { inherit (dell-laptop) mode dpi; primary = true; crtc = 0; };
|
||||
"eDP1" = {
|
||||
inherit (dell-laptop) mode dpi;
|
||||
primary = true;
|
||||
crtc = 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
odin-intel-laboratorio-dock-dell = {
|
||||
fingerprint = {
|
||||
"DP1-3" = "00ffffffffffff0010ac10d04c36453221110103682b1b78ee8db0a2544a9c25115054a54b00714f818001010101010101010101010121399030621a274068b03600ae0e1100001c000000ff00434b3632373738413245364c0a000000fd00384b1e530f000a202020202020000000fc0044454c4c20453230375746500a0088";
|
||||
"DP1-3" =
|
||||
"00ffffffffffff0010ac10d04c36453221110103682b1b78ee8db0a2544a9c25115054a54b00714f818001010101010101010101010121399030621a274068b03600ae0e1100001c000000ff00434b3632373738413245364c0a000000fd00384b1e530f000a202020202020000000fc0044454c4c20453230375746500a0088";
|
||||
"eDP1" = dell-laptop.fingerprint;
|
||||
};
|
||||
config = {
|
||||
"DP1-3" = { crtc = 1; mode = "1680x1050"; position = "120x0"; primary = true; dpi = 96; };
|
||||
"eDP1" = { inherit (dell-laptop) mode dpi; crtc = 0; position = "0x1080"; };
|
||||
"DP1-3" = {
|
||||
crtc = 1;
|
||||
mode = "1680x1050";
|
||||
position = "120x0";
|
||||
primary = true;
|
||||
dpi = 96;
|
||||
};
|
||||
"eDP1" = {
|
||||
inherit (dell-laptop) mode dpi;
|
||||
crtc = 0;
|
||||
position = "0x1080";
|
||||
};
|
||||
};
|
||||
};
|
||||
odin-intel-laboratorio = {
|
||||
fingerprint = {
|
||||
"DP1-3" = "00ffffffffffff0010ac71404c473344281601030e331d78eadd45a3554fa027125054a54b00714f8180d1c001010101010101010101023a801871382d40582c4500fe1f1100001e000000ff004b463837593241364433474c0a000000fc0044454c4c205532333132484d0a000000fd00384c1e5311000a2020202020200081";
|
||||
"DP1-3" =
|
||||
"00ffffffffffff0010ac71404c473344281601030e331d78eadd45a3554fa027125054a54b00714f8180d1c001010101010101010101023a801871382d40582c4500fe1f1100001e000000ff004b463837593241364433474c0a000000fc0044454c4c205532333132484d0a000000fd00384c1e5311000a2020202020200081";
|
||||
"eDP1" = dell-laptop.fingerprint;
|
||||
};
|
||||
config = {
|
||||
"DP1-3" = { crtc = 1; mode = "1920x1080"; position = "0x0"; primary = true; dpi = 96; };
|
||||
"eDP1" = { inherit (dell-laptop) mode dpi; crtc = 0; position = "0x1080"; };
|
||||
"DP1-3" = {
|
||||
crtc = 1;
|
||||
mode = "1920x1080";
|
||||
position = "0x0";
|
||||
primary = true;
|
||||
dpi = 96;
|
||||
};
|
||||
"eDP1" = {
|
||||
inherit (dell-laptop) mode dpi;
|
||||
crtc = 0;
|
||||
position = "0x1080";
|
||||
};
|
||||
};
|
||||
};
|
||||
thor-two-screens = {
|
||||
fingerprint = {
|
||||
"DP-4" = "00ffffffffffff001e6d7f5ba1c60a00011f0104b53c22789f8cb5af4f43ab260e5054254b007140818081c0a9c0b300d1c08100d1cf09ec00a0a0a0675030203a0055502100001a000000fd0030901ee63c000a202020202020000000fc004c4720554c545241474541520a000000ff003130314e5454514c533230390a017102031a7123090607e305c000e606050160592846100403011f136fc200a0a0a0555030203a0055502100001a565e00a0a0a029503020350055502100001a5aa000a0a0a0465030203a005550210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000da";
|
||||
"HDMI-0" = "00ffffffffffff004c2d2c0d443650302e19010380341d782a5295a556549d250e5054bb8c00b30081c0810081809500a9c001010101023a801871382d40582c450009252100001e000000fd0030481e5216000a202020202020000000fc00433234463339300a2020202020000000ff00485451483330353636370a20200163020324f14690041f131203230907078301000067030c001000802b681a00000101304800011d00bc52d01e20b828554009252100001e8c0ad090204031200c4055000925210000188c0ad08a20e02d10103e9600092521000018215280a07238304088c8350009252100001c00000000000000000000000000000000000000fa";
|
||||
"DP-4" =
|
||||
"00ffffffffffff001e6d7f5ba1c60a00011f0104b53c22789f8cb5af4f43ab260e5054254b007140818081c0a9c0b300d1c08100d1cf09ec00a0a0a0675030203a0055502100001a000000fd0030901ee63c000a202020202020000000fc004c4720554c545241474541520a000000ff003130314e5454514c533230390a017102031a7123090607e305c000e606050160592846100403011f136fc200a0a0a0555030203a0055502100001a565e00a0a0a029503020350055502100001a5aa000a0a0a0465030203a005550210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000da";
|
||||
"HDMI-0" =
|
||||
"00ffffffffffff004c2d2c0d443650302e19010380341d782a5295a556549d250e5054bb8c00b30081c0810081809500a9c001010101023a801871382d40582c450009252100001e000000fd0030481e5216000a202020202020000000fc00433234463339300a2020202020000000ff00485451483330353636370a20200163020324f14690041f131203230907078301000067030c001000802b681a00000101304800011d00bc52d01e20b828554009252100001e8c0ad090204031200c4055000925210000188c0ad08a20e02d10103e9600092521000018215280a07238304088c8350009252100001c00000000000000000000000000000000000000fa";
|
||||
};
|
||||
config = {
|
||||
"DP-4" = { crtc = 0; mode = "2560x1440"; position = "1080x162"; primary = true; dpi = 96; };
|
||||
"HDMI-0" = { crtc = 1; mode = "1920x1080"; position = "0x0"; rotate = "right"; dpi = 96; };
|
||||
"DP-4" = {
|
||||
crtc = 0;
|
||||
mode = "2560x1440";
|
||||
position = "1080x162";
|
||||
primary = true;
|
||||
dpi = 96;
|
||||
};
|
||||
"HDMI-0" = {
|
||||
crtc = 1;
|
||||
mode = "1920x1080";
|
||||
position = "0x0";
|
||||
rotate = "right";
|
||||
dpi = 96;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
tomlGenerate = (pkgs.formats.toml { }).generate "bottom-toml";
|
||||
in
|
||||
{
|
||||
let tomlGenerate = (pkgs.formats.toml { }).generate "bottom-toml";
|
||||
in {
|
||||
home.packages = with pkgs; [ bottom ];
|
||||
xdg.configFile."bottom/bottom.toml".source = tomlGenerate {
|
||||
"flags" = {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
{ pkgs, lib, ... }:
|
||||
let
|
||||
strPalette = with pkgs.rice; pkgs.lib.rice.palette.toRgbHex colorPalette;
|
||||
fmtString = str: "\'${str}\'";
|
||||
fmtString = str: "'${str}'";
|
||||
in
|
||||
{
|
||||
xdg.configFile."cava/config".text = lib.generators.toINI { } {
|
||||
general = { bar_width = 1; bar_spacing = 1; };
|
||||
general = {
|
||||
bar_width = 1;
|
||||
bar_spacing = 1;
|
||||
};
|
||||
color = {
|
||||
gradient = 1;
|
||||
gradient_count = 5;
|
||||
|
|
|
|||
|
|
@ -1,6 +1 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
clang-tools
|
||||
];
|
||||
}
|
||||
{ pkgs, ... }: { home.packages = with pkgs; [ clang-tools ]; }
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
palette = pkgs.lib.rice.palette.toRGBHex pkgs.rice.colorPalette;
|
||||
in
|
||||
{
|
||||
let palette = pkgs.lib.rice.palette.toRGBHex pkgs.rice.colorPalette;
|
||||
in {
|
||||
home.packages = with pkgs; [ dunst rice.font.normal.package ];
|
||||
services.dunst = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,3 +1 @@
|
|||
{
|
||||
services.easyeffects.enable = true;
|
||||
}
|
||||
{ services.easyeffects.enable = true; }
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
fonts.fontconfig = {
|
||||
enable = true;
|
||||
};
|
||||
{ pkgs, ... }: {
|
||||
fonts.fontconfig = { enable = true; };
|
||||
home.packages = with pkgs; [
|
||||
dejavu_fonts
|
||||
noto-fonts
|
||||
|
|
|
|||
|
|
@ -44,11 +44,13 @@ let
|
|||
"gdw" = "git diff --word-diff";
|
||||
"gf" = "git fetch";
|
||||
"gfa" = "git fetch --all --prune";
|
||||
"gfg" = "git ls-files \| grep";
|
||||
"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";
|
||||
|
|
@ -117,10 +119,5 @@ in
|
|||
};
|
||||
programs.bash.shellAliases = shellAliases;
|
||||
programs.zsh.shellAliases = shellAliases;
|
||||
home.packages = with pkgs; [
|
||||
gh
|
||||
git-secret
|
||||
glab
|
||||
meld
|
||||
];
|
||||
home.packages = with pkgs; [ gh git-secret glab meld ];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,5 @@
|
|||
goPath = ".go";
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
gopls
|
||||
];
|
||||
home.packages = with pkgs; [ gopls ];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
gtk = with pkgs.rice; {
|
||||
enable = true;
|
||||
font = font.normal;
|
||||
|
|
|
|||
|
|
@ -1,36 +1,37 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
programs.bash.shellAliases = { x = "hx"; };
|
||||
programs.zsh.shellAliases = { x = "hx"; };
|
||||
home.sessionVariables = { EDITOR = "hx"; VISUAL = "hx"; };
|
||||
home.sessionVariables = {
|
||||
EDITOR = "hx";
|
||||
VISUAL = "hx";
|
||||
};
|
||||
home.packages = [
|
||||
(pkgs.makeDesktopItem
|
||||
{
|
||||
name = "helix";
|
||||
exec = "hx %F";
|
||||
icon = "helix";
|
||||
desktopName = "Helix";
|
||||
comment = "Helix text editor";
|
||||
terminal = true;
|
||||
categories = [ "Development" ];
|
||||
mimeTypes = [
|
||||
"text/english"
|
||||
"text/plain"
|
||||
"text/x-makefile"
|
||||
"text/x-c++hdr"
|
||||
"text/x-c++src"
|
||||
"text/x-chdr"
|
||||
"text/x-csrc"
|
||||
"text/x-java"
|
||||
"text/x-moc"
|
||||
"text/x-pascal"
|
||||
"text/x-tcl"
|
||||
"text/x-tex"
|
||||
"application/x-shellscript"
|
||||
"text/x-c"
|
||||
"text/x-c++"
|
||||
];
|
||||
})
|
||||
(pkgs.makeDesktopItem {
|
||||
name = "helix";
|
||||
exec = "hx %F";
|
||||
icon = "helix";
|
||||
desktopName = "Helix";
|
||||
comment = "Helix text editor";
|
||||
terminal = true;
|
||||
categories = [ "Development" ];
|
||||
mimeTypes = [
|
||||
"text/english"
|
||||
"text/plain"
|
||||
"text/x-makefile"
|
||||
"text/x-c++hdr"
|
||||
"text/x-c++src"
|
||||
"text/x-chdr"
|
||||
"text/x-csrc"
|
||||
"text/x-java"
|
||||
"text/x-moc"
|
||||
"text/x-pascal"
|
||||
"text/x-tcl"
|
||||
"text/x-tex"
|
||||
"application/x-shellscript"
|
||||
"text/x-c"
|
||||
"text/x-c++"
|
||||
];
|
||||
})
|
||||
];
|
||||
programs.helix = {
|
||||
enable = true;
|
||||
|
|
@ -65,15 +66,34 @@
|
|||
base16 = {
|
||||
"ui.menu" = transparent;
|
||||
"ui.menu.selected" = { modifiers = [ "reversed" ]; };
|
||||
"ui.linenr" = { fg = gray; bg = dark-gray; };
|
||||
"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.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.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;
|
||||
|
|
@ -81,7 +101,10 @@
|
|||
"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;
|
||||
|
|
|
|||
|
|
@ -1,5 +1 @@
|
|||
{
|
||||
programs.info = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
{ programs.info = { enable = true; }; }
|
||||
|
|
|
|||
|
|
@ -1,3 +1 @@
|
|||
{
|
||||
programs.java.enable = true;
|
||||
}
|
||||
{ programs.java.enable = true; }
|
||||
|
|
|
|||
|
|
@ -1,7 +1,2 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
flow
|
||||
];
|
||||
}
|
||||
{ pkgs, ... }: { home.packages = with pkgs; [ flow ]; }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,13 @@
|
|||
{ 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,5 +1 @@
|
|||
{
|
||||
programs.jq = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
{ programs.jq = { enable = true; }; }
|
||||
|
|
|
|||
|
|
@ -1,33 +1,34 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
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
|
||||
set-face global string rgb:${normal.green},default
|
||||
set-face global error rgb:${normal.red},default
|
||||
set-face global keyword rgb:${normal.blue},default
|
||||
set-face global operator rgb:${normal.blue},default
|
||||
set-face global attribute rgb:${bright.blue},default
|
||||
set-face global comment rgb:${bright.blue},default
|
||||
set-face global meta rgb:${normal.yellow},default
|
||||
set-face global Default rgb:${normal.white},default
|
||||
set-face global PrimarySelection rgb:${normal.black},rgb:${dark.yellow}
|
||||
set-face global SecondarySelection rgb:${normal.black},rgb:${dark.white}
|
||||
set-face global PrimaryCursor rgb:${normal.black},rgb:${normal.yellow}
|
||||
set-face global SecondaryCursor rgb:${normal.black},rgb:${normal.white}
|
||||
set-face global MenuForeground rgb:${normal.white},rgb:${bright.black}
|
||||
set-face global MenuBackground default,rgb:${normal.black}
|
||||
set-face global MenuInfo default,rgb:${normal.black}
|
||||
set-face global Information rgb:${dark.black},rgb:${normal.cyan}
|
||||
set-face global StatusLine rgb:${normal.white},rgb:${normal.black}
|
||||
set-face global StatusLineMode rgb:${normal.blue},rgb:${normal.black}
|
||||
set-face global StatusLineInfo rgb:${normal.blue},rgb:${normal.black}
|
||||
set-face global StatusLineValue rgb:${normal.blue},rgb:${normal.black}
|
||||
set-face global StatusCursor rgb:${dark.black},rgb:${normal.yellow}
|
||||
set-face global Prompt rgb:${normal.cyan},rgb:${normal.black}
|
||||
set-face global BufferPadding default,default
|
||||
'';
|
||||
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
|
||||
set-face global string rgb:${normal.green},default
|
||||
set-face global error rgb:${normal.red},default
|
||||
set-face global keyword rgb:${normal.blue},default
|
||||
set-face global operator rgb:${normal.blue},default
|
||||
set-face global attribute rgb:${bright.blue},default
|
||||
set-face global comment rgb:${bright.blue},default
|
||||
set-face global meta rgb:${normal.yellow},default
|
||||
set-face global Default rgb:${normal.white},default
|
||||
set-face global PrimarySelection rgb:${normal.black},rgb:${dark.yellow}
|
||||
set-face global SecondarySelection rgb:${normal.black},rgb:${dark.white}
|
||||
set-face global PrimaryCursor rgb:${normal.black},rgb:${normal.yellow}
|
||||
set-face global SecondaryCursor rgb:${normal.black},rgb:${normal.white}
|
||||
set-face global MenuForeground rgb:${normal.white},rgb:${bright.black}
|
||||
set-face global MenuBackground default,rgb:${normal.black}
|
||||
set-face global MenuInfo default,rgb:${normal.black}
|
||||
set-face global Information rgb:${dark.black},rgb:${normal.cyan}
|
||||
set-face global StatusLine rgb:${normal.white},rgb:${normal.black}
|
||||
set-face global StatusLineMode rgb:${normal.blue},rgb:${normal.black}
|
||||
set-face global StatusLineInfo rgb:${normal.blue},rgb:${normal.black}
|
||||
set-face global StatusLineValue rgb:${normal.blue},rgb:${normal.black}
|
||||
set-face global StatusCursor rgb:${dark.black},rgb:${normal.yellow}
|
||||
set-face global Prompt rgb:${normal.cyan},rgb:${normal.black}
|
||||
set-face global BufferPadding default,default
|
||||
'';
|
||||
|
||||
packages = with pkgs; [
|
||||
yaml-language-server
|
||||
|
|
@ -40,33 +41,32 @@ let
|
|||
aspellDicts.en-science
|
||||
aspellDicts.it
|
||||
|
||||
(pkgs.makeDesktopItem
|
||||
{
|
||||
name = "kakoune";
|
||||
exec = "kak %F";
|
||||
icon = "kakoune";
|
||||
desktopName = "Kakoune";
|
||||
comment = "Kakoune text editor";
|
||||
terminal = true;
|
||||
categories = [ "Development" ];
|
||||
mimeTypes = [
|
||||
"text/english"
|
||||
"text/plain"
|
||||
"text/x-makefile"
|
||||
"text/x-c++hdr"
|
||||
"text/x-c++src"
|
||||
"text/x-chdr"
|
||||
"text/x-csrc"
|
||||
"text/x-java"
|
||||
"text/x-moc"
|
||||
"text/x-pascal"
|
||||
"text/x-tcl"
|
||||
"text/x-tex"
|
||||
"application/x-shellscript"
|
||||
"text/x-c"
|
||||
"text/x-c++"
|
||||
];
|
||||
})
|
||||
(pkgs.makeDesktopItem {
|
||||
name = "kakoune";
|
||||
exec = "kak %F";
|
||||
icon = "kakoune";
|
||||
desktopName = "Kakoune";
|
||||
comment = "Kakoune text editor";
|
||||
terminal = true;
|
||||
categories = [ "Development" ];
|
||||
mimeTypes = [
|
||||
"text/english"
|
||||
"text/plain"
|
||||
"text/x-makefile"
|
||||
"text/x-c++hdr"
|
||||
"text/x-c++src"
|
||||
"text/x-chdr"
|
||||
"text/x-csrc"
|
||||
"text/x-java"
|
||||
"text/x-moc"
|
||||
"text/x-pascal"
|
||||
"text/x-tcl"
|
||||
"text/x-tex"
|
||||
"application/x-shellscript"
|
||||
"text/x-c"
|
||||
"text/x-c++"
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
in
|
||||
|
|
@ -81,40 +81,166 @@ in
|
|||
tabStop = 2;
|
||||
indentWidth = 2;
|
||||
alignWithTabs = true;
|
||||
scrollOff = { lines = 5; columns = 3; };
|
||||
ui = { setTitle = true; changeColors = true; enableMouse = true; };
|
||||
wrapLines = { enable = true; word = true; };
|
||||
numberLines = { enable = true; highlightCursor = true; };
|
||||
scrollOff = {
|
||||
lines = 5;
|
||||
columns = 3;
|
||||
};
|
||||
ui = {
|
||||
setTitle = true;
|
||||
changeColors = true;
|
||||
enableMouse = true;
|
||||
};
|
||||
wrapLines = {
|
||||
enable = true;
|
||||
word = true;
|
||||
};
|
||||
numberLines = {
|
||||
enable = true;
|
||||
highlightCursor = true;
|
||||
};
|
||||
keyMappings = [
|
||||
{ mode = "normal"; docstring = "Edit file"; key = "<c-e>"; effect = ":edit<space>"; }
|
||||
{ mode = "user"; docstring = "Code actions"; key = "a"; effect = ":lsp-code-actions<ret>"; }
|
||||
{ mode = "user"; docstring = "Comment block"; key = "b"; effect = ":comment-block<ret>"; }
|
||||
{ mode = "user"; docstring = "Comment line"; key = "l"; effect = ":comment-line<ret>"; }
|
||||
{ mode = "user"; docstring = "Copy to clipboard"; key = "y"; effect = "<a-|>${pkgs.xclip}/bin/xclip -i -selection clipboard<ret>"; }
|
||||
{ mode = "user"; docstring = "Format code with formatter"; key = "f"; effect = ":format<ret>"; }
|
||||
{ mode = "user"; docstring = "Format code with LSP"; key = "F"; effect = ":lsp-formatting-sync<ret>"; }
|
||||
{ mode = "user"; docstring = "Jump to definition"; key = "d"; effect = ":lsp-definition<ret>"; }
|
||||
{ mode = "user"; docstring = "Rename object"; key = "r"; effect = ":lsp-rename-prompt<ret>"; }
|
||||
{ mode = "user"; docstring = "Jump to type definition"; key = "t"; effect = ":lsp-type-definition<ret>"; }
|
||||
{ mode = "user"; docstring = "List project diagnostics"; key = "i"; effect = ":lsp-diagnostics<ret>"; }
|
||||
{ mode = "user"; docstring = "Paste from clipboard (after)"; key = "P"; effect = "<a-!>${pkgs.xclip}/bin/xclip -selection clipboard -o<ret>"; }
|
||||
{ mode = "user"; docstring = "Paste from clipboard (before)"; key = "p"; effect = "!${pkgs.xclip}/bin/xclip -selection clipboard -o<ret>"; }
|
||||
{ mode = "user"; docstring = "Show hover info"; key = "q"; effect = ":lsp-hover<ret>"; }
|
||||
{ mode = "user"; docstring = "Spellcheck English"; key = "S"; effect = ":spell en<ret>"; }
|
||||
{ mode = "user"; docstring = "Spellcheck"; key = "s"; effect = ":spell "; }
|
||||
{ mode = "normal"; docstring = "Try next snippet placeholder"; key = "<c-n>"; effect = "<a-;>: insert-c-n<ret>"; }
|
||||
{
|
||||
mode = "normal";
|
||||
docstring = "Edit file";
|
||||
key = "<c-e>";
|
||||
effect = ":edit<space>";
|
||||
}
|
||||
{
|
||||
mode = "user";
|
||||
docstring = "Code actions";
|
||||
key = "a";
|
||||
effect = ":lsp-code-actions<ret>";
|
||||
}
|
||||
{
|
||||
mode = "user";
|
||||
docstring = "Comment block";
|
||||
key = "b";
|
||||
effect = ":comment-block<ret>";
|
||||
}
|
||||
{
|
||||
mode = "user";
|
||||
docstring = "Comment line";
|
||||
key = "l";
|
||||
effect = ":comment-line<ret>";
|
||||
}
|
||||
{
|
||||
mode = "user";
|
||||
docstring = "Copy to clipboard";
|
||||
key = "y";
|
||||
effect = "<a-|>${pkgs.xclip}/bin/xclip -i -selection clipboard<ret>";
|
||||
}
|
||||
{
|
||||
mode = "user";
|
||||
docstring = "Format code with formatter";
|
||||
key = "f";
|
||||
effect = ":format<ret>";
|
||||
}
|
||||
{
|
||||
mode = "user";
|
||||
docstring = "Format code with LSP";
|
||||
key = "F";
|
||||
effect = ":lsp-formatting-sync<ret>";
|
||||
}
|
||||
{
|
||||
mode = "user";
|
||||
docstring = "Jump to definition";
|
||||
key = "d";
|
||||
effect = ":lsp-definition<ret>";
|
||||
}
|
||||
{
|
||||
mode = "user";
|
||||
docstring = "Rename object";
|
||||
key = "r";
|
||||
effect = ":lsp-rename-prompt<ret>";
|
||||
}
|
||||
{
|
||||
mode = "user";
|
||||
docstring = "Jump to type definition";
|
||||
key = "t";
|
||||
effect = ":lsp-type-definition<ret>";
|
||||
}
|
||||
{
|
||||
mode = "user";
|
||||
docstring = "List project diagnostics";
|
||||
key = "i";
|
||||
effect = ":lsp-diagnostics<ret>";
|
||||
}
|
||||
{
|
||||
mode = "user";
|
||||
docstring = "Paste from clipboard (after)";
|
||||
key = "P";
|
||||
effect = "<a-!>${pkgs.xclip}/bin/xclip -selection clipboard -o<ret>";
|
||||
}
|
||||
{
|
||||
mode = "user";
|
||||
docstring = "Paste from clipboard (before)";
|
||||
key = "p";
|
||||
effect = "!${pkgs.xclip}/bin/xclip -selection clipboard -o<ret>";
|
||||
}
|
||||
{
|
||||
mode = "user";
|
||||
docstring = "Show hover info";
|
||||
key = "q";
|
||||
effect = ":lsp-hover<ret>";
|
||||
}
|
||||
{
|
||||
mode = "user";
|
||||
docstring = "Spellcheck English";
|
||||
key = "S";
|
||||
effect = ":spell en<ret>";
|
||||
}
|
||||
{
|
||||
mode = "user";
|
||||
docstring = "Spellcheck";
|
||||
key = "s";
|
||||
effect = ":spell ";
|
||||
}
|
||||
{
|
||||
mode = "normal";
|
||||
docstring = "Try next snippet placeholder";
|
||||
key = "<c-n>";
|
||||
effect = "<a-;>: insert-c-n<ret>";
|
||||
}
|
||||
# { mode = "normal"; docstring = "Search"; key = "/"; effect = "/(?i)"; }
|
||||
# { mode = "normal"; docstring = "Reverse search"; key = "<a-/>"; effect = "<a-/>(?i)"; }
|
||||
];
|
||||
hooks = with pkgs; [
|
||||
{ name = "BufCreate"; option = ".*"; commands = "editorconfig-load"; }
|
||||
{
|
||||
name = "BufCreate";
|
||||
option = ".*";
|
||||
commands = "editorconfig-load";
|
||||
}
|
||||
# { name = "ModuleLoaded"; option = "auto-pairs"; commands = "auto-pairs-enable"; }
|
||||
{ name = "ModuleLoaded"; option = "powerline"; commands = "powerline-enable; powerline-start"; }
|
||||
{ name = "BufSetOption"; option = "filetype=latex"; commands = "set-option buffer formatcmd latexindent"; }
|
||||
{ name = "BufSetOption"; option = "filetype=python"; commands = "set-option buffer formatcmd 'black -'"; }
|
||||
{ name = "BufSetOption"; option = "filetype=(markdown|html|json|yaml|css|scss|less)"; commands = "set-option buffer formatcmd prettier"; }
|
||||
{ name = "BufSetOption"; option = "filetype=rust"; commands = "set-option buffer formatcmd 'rustfmt'"; }
|
||||
{ name = "BufSetOption"; option = "filetype=sh"; commands = "set-option buffer formatcmd 'rustfmt'"; }
|
||||
{
|
||||
name = "ModuleLoaded";
|
||||
option = "powerline";
|
||||
commands = "powerline-enable; powerline-start";
|
||||
}
|
||||
{
|
||||
name = "BufSetOption";
|
||||
option = "filetype=latex";
|
||||
commands = "set-option buffer formatcmd latexindent";
|
||||
}
|
||||
{
|
||||
name = "BufSetOption";
|
||||
option = "filetype=python";
|
||||
commands = "set-option buffer formatcmd 'black -'";
|
||||
}
|
||||
{
|
||||
name = "BufSetOption";
|
||||
option = "filetype=(markdown|html|json|yaml|css|scss|less)";
|
||||
commands = "set-option buffer formatcmd prettier";
|
||||
}
|
||||
{
|
||||
name = "BufSetOption";
|
||||
option = "filetype=rust";
|
||||
commands = "set-option buffer formatcmd 'rustfmt'";
|
||||
}
|
||||
{
|
||||
name = "BufSetOption";
|
||||
option = "filetype=sh";
|
||||
commands = "set-option buffer formatcmd 'rustfmt'";
|
||||
}
|
||||
];
|
||||
# TODO add more formatters from https://github.com/mawww/kakoune/wiki/Format
|
||||
};
|
||||
|
|
@ -148,7 +274,8 @@ in
|
|||
};
|
||||
|
||||
# THEME FILE
|
||||
xdg.configFile."kak/colors/nord.kak".text = themeBuilder (pkgs.lib.rice.palette.toRgbShortHex pkgs.rice.colorPalette);
|
||||
xdg.configFile."kak/colors/nord.kak".text =
|
||||
themeBuilder (pkgs.lib.rice.palette.toRgbShortHex pkgs.rice.colorPalette);
|
||||
|
||||
xdg.configFile."kak-lsp/kak-lsp.toml".text = ''
|
||||
snippet_support = false
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
config.systemd.user.services.keepassxc = {
|
||||
Unit = {
|
||||
Description = "KeePassXC password manager";
|
||||
|
|
|
|||
|
|
@ -1,25 +1,26 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
strPalette = with pkgs.rice; pkgs.lib.rice.palette.toRgbHex rec {
|
||||
foreground = colorPalette.normal.white;
|
||||
background = colorPalette.normal.black;
|
||||
color0 = colorPalette.normal.black;
|
||||
color1 = colorPalette.normal.red;
|
||||
color2 = colorPalette.normal.green;
|
||||
color3 = colorPalette.normal.yellow;
|
||||
color4 = colorPalette.normal.blue;
|
||||
color5 = colorPalette.normal.magenta;
|
||||
color6 = colorPalette.normal.cyan;
|
||||
color7 = colorPalette.normal.white;
|
||||
color8 = colorPalette.bright.black;
|
||||
color9 = colorPalette.bright.red;
|
||||
color10 = colorPalette.bright.green;
|
||||
color11 = colorPalette.bright.yellow;
|
||||
color12 = colorPalette.bright.blue;
|
||||
color13 = colorPalette.bright.magenta;
|
||||
color14 = colorPalette.bright.cyan;
|
||||
color15 = colorPalette.bright.white;
|
||||
};
|
||||
strPalette = with pkgs.rice;
|
||||
pkgs.lib.rice.palette.toRgbHex rec {
|
||||
foreground = colorPalette.normal.white;
|
||||
background = colorPalette.normal.black;
|
||||
color0 = colorPalette.normal.black;
|
||||
color1 = colorPalette.normal.red;
|
||||
color2 = colorPalette.normal.green;
|
||||
color3 = colorPalette.normal.yellow;
|
||||
color4 = colorPalette.normal.blue;
|
||||
color5 = colorPalette.normal.magenta;
|
||||
color6 = colorPalette.normal.cyan;
|
||||
color7 = colorPalette.normal.white;
|
||||
color8 = colorPalette.bright.black;
|
||||
color9 = colorPalette.bright.red;
|
||||
color10 = colorPalette.bright.green;
|
||||
color11 = colorPalette.bright.yellow;
|
||||
color12 = colorPalette.bright.blue;
|
||||
color13 = colorPalette.bright.magenta;
|
||||
color14 = colorPalette.bright.cyan;
|
||||
color15 = colorPalette.bright.white;
|
||||
};
|
||||
in
|
||||
{
|
||||
programs.kitty = {
|
||||
|
|
@ -32,7 +33,8 @@ 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;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
bibtool
|
||||
tex2nix
|
||||
|
|
|
|||
|
|
@ -34,43 +34,46 @@ in
|
|||
source = lf_kitty_preview;
|
||||
# keybinding = "i";
|
||||
};
|
||||
keybindings = {
|
||||
"<c-f>" = "$EDITOR $(fzf)";
|
||||
};
|
||||
keybindings = { "<c-f>" = "$EDITOR $(fzf)"; };
|
||||
commands = {
|
||||
"z" = ''''${{
|
||||
result="$(zoxide query --exclude "$PWD" -- "$@")"
|
||||
lf -remote "send $id cd '$result'"
|
||||
}}'';
|
||||
"zi" = ''''${{
|
||||
result="$(zoxide query -i -- "$@")"
|
||||
lf -remote "send $id cd '$result'"
|
||||
}}'';
|
||||
"extract" = ''''${{
|
||||
set -f
|
||||
case $f in
|
||||
*.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;;
|
||||
*.tar.gz|*.tgz) tar xzvf $f;;
|
||||
*.tar.xz|*.txz) tar xJvf $f;;
|
||||
*.zip) unzip $f;;
|
||||
*.rar) unrar x $f;;
|
||||
*.7z) 7z x $f;;
|
||||
esac
|
||||
}}'';
|
||||
"tar" = ''''${{
|
||||
set -f
|
||||
mkdir $1
|
||||
cp -r $fx $1
|
||||
tar czf $1.tar.gz $1
|
||||
rm -rf $1
|
||||
}}'';
|
||||
"zip" = ''''${{
|
||||
set -f
|
||||
mkdir $1
|
||||
cp -r $fx $1
|
||||
zip -r $1.zip $1
|
||||
rm -rf $1
|
||||
}}'';
|
||||
"z" = ''
|
||||
''${{
|
||||
result="$(zoxide query --exclude "$PWD" -- "$@")"
|
||||
lf -remote "send $id cd '$result'"
|
||||
}}'';
|
||||
"zi" = ''
|
||||
''${{
|
||||
result="$(zoxide query -i -- "$@")"
|
||||
lf -remote "send $id cd '$result'"
|
||||
}}'';
|
||||
"extract" = ''
|
||||
''${{
|
||||
set -f
|
||||
case $f in
|
||||
*.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;;
|
||||
*.tar.gz|*.tgz) tar xzvf $f;;
|
||||
*.tar.xz|*.txz) tar xJvf $f;;
|
||||
*.zip) unzip $f;;
|
||||
*.rar) unrar x $f;;
|
||||
*.7z) 7z x $f;;
|
||||
esac
|
||||
}}'';
|
||||
"tar" = ''
|
||||
''${{
|
||||
set -f
|
||||
mkdir $1
|
||||
cp -r $fx $1
|
||||
tar czf $1.tar.gz $1
|
||||
rm -rf $1
|
||||
}}'';
|
||||
"zip" = ''
|
||||
''${{
|
||||
set -f
|
||||
mkdir $1
|
||||
cp -r $fx $1
|
||||
zip -r $1.zip $1
|
||||
rm -rf $1
|
||||
}}'';
|
||||
};
|
||||
extraConfig = ''
|
||||
set cleaner ${lf_kitty_cleaner}
|
||||
|
|
|
|||
|
|
@ -10,9 +10,7 @@ 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 @@
|
|||
{
|
||||
services.lorri.enable = true;
|
||||
}
|
||||
{ services.lorri.enable = true; }
|
||||
|
|
|
|||
|
|
@ -3,7 +3,38 @@
|
|||
enable = true;
|
||||
enableSessionWide = true;
|
||||
settings = {
|
||||
toggle_fps_limit = "F1";
|
||||
legacy_layout = false;
|
||||
gpu_stats = true;
|
||||
gpu_temp = true;
|
||||
gpu_text = "GPU";
|
||||
cpu_stats = true;
|
||||
cpu_temp = true;
|
||||
cpu_color = "2e97cb";
|
||||
cpu_text = "CPU";
|
||||
io_color = "a491d3";
|
||||
vram = true;
|
||||
vram_color = "ad64c1";
|
||||
ram = true;
|
||||
ram_color = "c26693";
|
||||
fps = true;
|
||||
engine_color = "eb5b5b";
|
||||
gpu_color = "2e9762";
|
||||
wine_color = "eb5b5b";
|
||||
frame_timing = 1;
|
||||
frametime_color = "00ff00";
|
||||
media_player_color = "ffffff";
|
||||
background_alpha = 0.4;
|
||||
font_size = 24;
|
||||
background_color = "020202";
|
||||
position = "top-left";
|
||||
text_color = "ffffff";
|
||||
round_corners = 0;
|
||||
toggle_hud = "Shift_L+F12";
|
||||
toggle_logging = "Shift_L+F2";
|
||||
upload_log = "F5";
|
||||
output_folder = "/home/bertof";
|
||||
media_player_name = "spotify";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
megasyncCmd = "${pkgs.megacmd}/bin/mega-cmd-server";
|
||||
in
|
||||
{
|
||||
home.packages = [
|
||||
pkgs.megacmd
|
||||
];
|
||||
let megasyncCmd = "${pkgs.megacmd}/bin/mega-cmd-server";
|
||||
in {
|
||||
home.packages = [ pkgs.megacmd ];
|
||||
|
||||
systemd.user.services."mega-cmd-server" = {
|
||||
Unit = {
|
||||
|
|
@ -13,9 +9,7 @@ in
|
|||
After = [ "default.target" ];
|
||||
PartOf = [ "default.target" ];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "default.target" ];
|
||||
};
|
||||
Install = { WantedBy = [ "default.target" ]; };
|
||||
Service = {
|
||||
Type = "simple";
|
||||
ExecStart = megasyncCmd;
|
||||
|
|
|
|||
|
|
@ -1,4 +1 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [ gnome.nautilus ];
|
||||
}
|
||||
{ pkgs, ... }: { home.packages = with pkgs; [ gnome.nautilus ]; }
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
programs.nix-index = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
|
|
@ -20,7 +19,11 @@
|
|||
|
||||
timers."nix-index" = {
|
||||
Unit.Description = "Daily update the nix-locate database";
|
||||
Timer = { OnCalendar = "daily"; Persistent = true; Unit = "nix-index.service"; };
|
||||
Timer = {
|
||||
OnCalendar = "daily";
|
||||
Persistent = true;
|
||||
Unit = "nix-index.service";
|
||||
};
|
||||
Install.WantedBy = [ "timers.target" ];
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,5 +1 @@
|
|||
{
|
||||
programs.noti = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
{ programs.noti = { enable = true; }; }
|
||||
|
|
|
|||
|
|
@ -1,5 +1 @@
|
|||
{
|
||||
programs.nushell = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
{ programs.nushell = { enable = true; }; }
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
programs.obs-studio = {
|
||||
enable = true;
|
||||
package = pkgs.obs-studio;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
# libreoffice-fresh
|
||||
onlyoffice-bin
|
||||
|
|
|
|||
|
|
@ -1,17 +1,13 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
onedriveCmd = "${pkgs.unstable.onedrive}/bin/onedrive --monitor";
|
||||
in
|
||||
{
|
||||
let onedriveCmd = "${pkgs.unstable.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,5 +1 @@
|
|||
{
|
||||
programs.password-store = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
{ programs.password-store = { enable = true; }; }
|
||||
|
|
|
|||
|
|
@ -9,7 +9,8 @@ let
|
|||
pgrep = "${pkgs.procps}/bin/pgrep";
|
||||
pkill = "${pkgs.procps}/bin/pkill";
|
||||
playerCtl = "${pkgs.playerctl}/bin/playerctl";
|
||||
playerStatus = "${playerCtl} -f '{{emoji(status)}} {{title}} - {{artist}}' metadata | ${head} -c 60";
|
||||
playerStatus =
|
||||
"${playerCtl} -f '{{emoji(status)}} {{title}} - {{artist}}' metadata | ${head} -c 60";
|
||||
systemctl = "${pkgs.systemd}/bin/systemctl";
|
||||
loginctl = "${pkgs.systemd}/bin/loginctl";
|
||||
shutdown = "${pkgs.systemd}/bin/shutdown";
|
||||
|
|
@ -17,39 +18,39 @@ let
|
|||
session=`${loginctl} session-status | ${pkgs.coreutils}/bin/head -n 1 | ${pkgs.gawk}/bin/awk '{print $1}'`
|
||||
${loginctl} terminate-session $session
|
||||
'';
|
||||
colors = with pkgs.lib.rice; let
|
||||
alpha = 255 * opacity;
|
||||
in
|
||||
palette.toARGBHex rec {
|
||||
colors = with pkgs.lib.rice;
|
||||
let alpha = 255 * opacity;
|
||||
in palette.toARGBHex rec {
|
||||
|
||||
normal = {
|
||||
foreground = colorPalette.normal.white;
|
||||
background = color.setAlphaRgba alpha (colorPalette.normal.black);
|
||||
underline = colorPalette.dark.blue;
|
||||
normal = {
|
||||
foreground = colorPalette.normal.white;
|
||||
background = color.setAlphaRgba alpha (colorPalette.normal.black);
|
||||
underline = colorPalette.dark.blue;
|
||||
};
|
||||
|
||||
active = {
|
||||
foreground = colorPalette.bright.white;
|
||||
background = color.setAlphaRgba alpha (colorPalette.normal.black);
|
||||
underline = colorPalette.bright.blue;
|
||||
};
|
||||
|
||||
selected = {
|
||||
foreground = colorPalette.bright.white;
|
||||
background = color.setAlphaRgba alpha
|
||||
(color.brighten 10 colorPalette.bright.black);
|
||||
underline = colorPalette.bright.red;
|
||||
};
|
||||
|
||||
alert = colorPalette.bright.red;
|
||||
|
||||
green = colorPalette.normal.green;
|
||||
yellow = colorPalette.normal.yellow;
|
||||
orange = colorPalette.bright.red;
|
||||
red = colorPalette.normal.red;
|
||||
|
||||
transparent = color.transparent;
|
||||
};
|
||||
|
||||
active = {
|
||||
foreground = colorPalette.bright.white;
|
||||
background = color.setAlphaRgba alpha (colorPalette.normal.black);
|
||||
underline = colorPalette.bright.blue;
|
||||
};
|
||||
|
||||
selected = {
|
||||
foreground = colorPalette.bright.white;
|
||||
background = color.setAlphaRgba alpha (color.brighten 10 colorPalette.bright.black);
|
||||
underline = colorPalette.bright.red;
|
||||
};
|
||||
|
||||
alert = colorPalette.bright.red;
|
||||
|
||||
green = colorPalette.normal.green;
|
||||
yellow = colorPalette.normal.yellow;
|
||||
orange = colorPalette.bright.red;
|
||||
red = colorPalette.normal.red;
|
||||
|
||||
transparent = color.transparent;
|
||||
};
|
||||
|
||||
commonBar = {
|
||||
locale = config.home.language.base;
|
||||
monitor = "\${env:MONITOR}";
|
||||
|
|
@ -61,8 +62,14 @@ let
|
|||
foreground = colors.normal.foreground;
|
||||
line-size = 2;
|
||||
line-color = colors.normal.underline;
|
||||
padding = { left = 0; right = 0; };
|
||||
module.margin = { left = 0; right = 0; };
|
||||
padding = {
|
||||
left = 0;
|
||||
right = 0;
|
||||
};
|
||||
module.margin = {
|
||||
left = 0;
|
||||
right = 0;
|
||||
};
|
||||
separator = " ";
|
||||
border = {
|
||||
color = colors.transparent;
|
||||
|
|
@ -72,7 +79,9 @@ 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"
|
||||
|
|
@ -96,25 +105,23 @@ in
|
|||
services.polybar = {
|
||||
enable = true;
|
||||
package = pkgs.polybarFull;
|
||||
script =
|
||||
''
|
||||
monitor=`polybar -m | ${grep} primary | ${cut} -d":" -f1`
|
||||
MONITOR=$monitor polybar primary &
|
||||
monitors=(`polybar -m | ${grep} -v primary | ${cut} -d":" -f1`)
|
||||
for monitor in "''${monitors[@]}"; do
|
||||
MONITOR=$monitor polybar secondary &
|
||||
done
|
||||
'';
|
||||
script = ''
|
||||
monitor=`polybar -m | ${grep} primary | ${cut} -d":" -f1`
|
||||
MONITOR=$monitor polybar primary &
|
||||
monitors=(`polybar -m | ${grep} -v primary | ${cut} -d":" -f1`)
|
||||
for monitor in "''${monitors[@]}"; do
|
||||
MONITOR=$monitor polybar secondary &
|
||||
done
|
||||
'';
|
||||
|
||||
settings = {
|
||||
"settings" = {
|
||||
screenchange-reload = false;
|
||||
};
|
||||
"settings" = { screenchange-reload = false; };
|
||||
|
||||
"bar/primary" = recursiveUpdate commonBar {
|
||||
modules-left = "bspwm";
|
||||
# modules-center =
|
||||
modules-right = "player pulseaudio temperature cpu memory battery date powermenu";
|
||||
modules-right =
|
||||
"player pulseaudio temperature cpu memory battery date powermenu";
|
||||
enable-ipc = true;
|
||||
tray = {
|
||||
position = "right";
|
||||
|
|
@ -125,7 +132,8 @@ in
|
|||
"bar/secondary" = recursiveUpdate commonBar {
|
||||
modules-left = "bspwm";
|
||||
# modules-center =
|
||||
modules-right = "player pulseaudio temperature cpu memory battery date powermenu";
|
||||
modules-right =
|
||||
"player pulseaudio temperature cpu memory battery date powermenu";
|
||||
enable-ipc = true;
|
||||
};
|
||||
|
||||
|
|
@ -148,8 +156,12 @@ in
|
|||
};
|
||||
|
||||
format = {
|
||||
charging = recursiveUpdate colors.selected { text = "<animation-charging> <label-charging>"; };
|
||||
discharging = recursiveUpdate colors.active { text = "<animation-discharging> <label-discharging>"; };
|
||||
charging = recursiveUpdate colors.selected {
|
||||
text = "<animation-charging> <label-charging>";
|
||||
};
|
||||
discharging = recursiveUpdate colors.active {
|
||||
text = "<animation-discharging> <label-discharging>";
|
||||
};
|
||||
full = recursiveUpdate colors.normal { text = " <label-full>"; };
|
||||
};
|
||||
|
||||
|
|
@ -176,8 +188,13 @@ in
|
|||
{
|
||||
focused = recursiveUpdate colors.selected common;
|
||||
occupied = recursiveUpdate colors.active common;
|
||||
urgent = recursiveUpdate (recursiveUpdate colors.active common) { background = colors.alert; };
|
||||
empty = recursiveUpdate (recursiveUpdate colors.normal common) { text = ""; padding = 0; };
|
||||
urgent = recursiveUpdate (recursiveUpdate colors.active common) {
|
||||
background = colors.alert;
|
||||
};
|
||||
empty = recursiveUpdate (recursiveUpdate colors.normal common) {
|
||||
text = "";
|
||||
padding = 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -230,11 +247,14 @@ in
|
|||
colors.red
|
||||
];
|
||||
};
|
||||
click.right = "${pgrep} pavucontrol && ${pkill} pavucontrol || ${pavucontrol}";
|
||||
click.right =
|
||||
"${pgrep} pavucontrol && ${pkill} pavucontrol || ${pavucontrol}";
|
||||
format = {
|
||||
padding = 1;
|
||||
muted = colors.active;
|
||||
volume = recursiveUpdate colors.normal { text = "<ramp-volume> <label-volume>"; };
|
||||
volume = recursiveUpdate colors.normal {
|
||||
text = "<ramp-volume> <label-volume>";
|
||||
};
|
||||
};
|
||||
label.muted.text = "婢 muted";
|
||||
label.volume.text = "%percentage%%";
|
||||
|
|
@ -250,7 +270,8 @@ in
|
|||
underline = colors.alert;
|
||||
};
|
||||
};
|
||||
hwmon.path = "/sys/devices/platform/coretemp.0/hwmon/hwmon5/temp1_input";
|
||||
hwmon.path =
|
||||
"/sys/devices/platform/coretemp.0/hwmon/hwmon5/temp1_input";
|
||||
label = {
|
||||
text = "%temperature-c%";
|
||||
warn = "%temperature-c%";
|
||||
|
|
@ -275,22 +296,46 @@ in
|
|||
};
|
||||
menu = [
|
||||
[
|
||||
({ text = "Logout"; exec = "#powermenu.open.1"; })
|
||||
({ text = "Reboot"; exec = "#powermenu.open.2"; })
|
||||
({ text = "Hibernate"; exec = "#powermenu.open.3"; })
|
||||
({ text = "Power off"; exec = "#powermenu.open.4"; })
|
||||
({
|
||||
text = "Logout";
|
||||
exec = "#powermenu.open.1";
|
||||
})
|
||||
({
|
||||
text = "Reboot";
|
||||
exec = "#powermenu.open.2";
|
||||
})
|
||||
({
|
||||
text = "Hibernate";
|
||||
exec = "#powermenu.open.3";
|
||||
})
|
||||
({
|
||||
text = "Power off";
|
||||
exec = "#powermenu.open.4";
|
||||
})
|
||||
]
|
||||
[
|
||||
({ text = "Logout"; exec = logout; })
|
||||
({
|
||||
text = "Logout";
|
||||
exec = logout;
|
||||
})
|
||||
]
|
||||
[
|
||||
({ text = "Reboot"; exec = "${systemctl} reboot"; })
|
||||
({
|
||||
text = "Reboot";
|
||||
exec = "${systemctl} reboot";
|
||||
})
|
||||
]
|
||||
[
|
||||
({ text = "Hibernate"; exec = "${systemctl} hibernate"; })
|
||||
({
|
||||
text = "Hibernate";
|
||||
exec = "${systemctl} hibernate";
|
||||
})
|
||||
]
|
||||
[
|
||||
({ text = "Power off"; exec = "${shutdown} now"; })
|
||||
({
|
||||
text = "Power off";
|
||||
exec = "${shutdown} now";
|
||||
})
|
||||
]
|
||||
];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -2,10 +2,12 @@
|
|||
let
|
||||
user = "bertof";
|
||||
systemLibFolder = "/run/current-system/sw/lib/";
|
||||
userLibFolder = "/nix/var/nix/profiles/per-user/${user}/home-manager/home-path/lib/";
|
||||
userLibFolder =
|
||||
"/nix/var/nix/profiles/per-user/${user}/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";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
jetbrains.pycharm-professional
|
||||
python3
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
{ pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
black
|
||||
] ++ (with pkgs.python3Packages; [
|
||||
python-lsp-server
|
||||
# pyls-black # not updated to the new pylsp
|
||||
pyls-flake8
|
||||
pyls-isort
|
||||
]);
|
||||
home.packages = with pkgs;
|
||||
[ black ] ++ (with pkgs.python3Packages; [
|
||||
python-lsp-server
|
||||
# pyls-black # not updated to the new pylsp
|
||||
pyls-flake8
|
||||
pyls-isort
|
||||
]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
programs.rofi = {
|
||||
enable = true;
|
||||
location = "center";
|
||||
font = "${pkgs.rice.font.monospace.name} ${toString pkgs.rice.font.monospace.size}";
|
||||
extraConfig = {
|
||||
modi = "drun,run,ssh,window";
|
||||
};
|
||||
font = "${pkgs.rice.font.monospace.name} ${
|
||||
toString pkgs.rice.font.monospace.size
|
||||
}";
|
||||
extraConfig = { modi = "drun,run,ssh,window"; };
|
||||
terminal = "kitty";
|
||||
theme = "onedark";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
pkgs.rofimoji
|
||||
];
|
||||
{ pkgs, ... }: {
|
||||
home.packages = [ pkgs.rofimoji ];
|
||||
|
||||
xdg.configFile."rofimoji.rc".text = ''
|
||||
action=copy
|
||||
|
|
|
|||
|
|
@ -1,10 +1,3 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
bacon
|
||||
cargo
|
||||
clippy
|
||||
rust-analyzer
|
||||
rustfmt
|
||||
];
|
||||
{ pkgs, ... }: {
|
||||
home.packages = with pkgs; [ bacon cargo clippy rust-analyzer rustfmt ];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,8 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
services.screen-locker = {
|
||||
enable = true;
|
||||
lockCmd = "${pkgs.lockscreen}/bin/lockscreen";
|
||||
inactiveInterval = 2; # minutes
|
||||
xautolock.extraOptions = [
|
||||
"-secure"
|
||||
"-lockaftersleep"
|
||||
];
|
||||
xautolock.extraOptions = [ "-secure" "-lockaftersleep" ];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
# RECOGNITION
|
||||
nmap
|
||||
|
|
|
|||
|
|
@ -2,8 +2,6 @@
|
|||
programs.ssh = {
|
||||
enable = true;
|
||||
compression = true;
|
||||
matchBlocks = {
|
||||
"*" = { identityFile = "~/.ssh/id_ed25519"; };
|
||||
};
|
||||
matchBlocks = { "*" = { identityFile = "~/.ssh/id_ed25519"; }; };
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
imports = [ ./nautilus.nix ];
|
||||
home.packages = with pkgs; [
|
||||
bc
|
||||
|
|
@ -25,41 +24,55 @@
|
|||
keybindings = {
|
||||
"alt + Tab" = "rofi -show window";
|
||||
"Print" = "gnome-screenshot";
|
||||
"super + alt + {h,j,k,l}" = "bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}";
|
||||
"super + alt + {h,j,k,l}" =
|
||||
"bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}";
|
||||
"super + alt + m" = "lockscreen";
|
||||
"super + alt + p" = "autorandr -c";
|
||||
"super + alt + {q,r}" = "bspc {quit,wm -r}";
|
||||
"super + alt + {Right,Down,Left}" = "playerctl {next,play-pause,previous}";
|
||||
"super + alt + shift + {h,j,k,l}" = "bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}";
|
||||
"super + alt + {Right,Down,Left}" =
|
||||
"playerctl {next,play-pause,previous}";
|
||||
"super + alt + shift + {h,j,k,l}" =
|
||||
"bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}";
|
||||
"super + bracket{left,right}" = "bspc desktop -f {prev,next}.local";
|
||||
"super + b" = "update-background";
|
||||
"super + ctrl + {1-9}" = "bspc node -o 0.{1-9}";
|
||||
"super + ctrl + {h,j,k,l}" = "bspc node -p {west,south,north,east}";
|
||||
"super + ctrl + {m,x,y,z}" = "bspc node -g {marked,locked,sticky,private}";
|
||||
"super + ctrl + shift + space" = "bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel";
|
||||
"super + ctrl + {m,x,y,z}" =
|
||||
"bspc node -g {marked,locked,sticky,private}";
|
||||
"super + ctrl + shift + space" =
|
||||
"bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel";
|
||||
"super + ctrl + space" = "bspc node -p cancel";
|
||||
"super + e" = fileManager;
|
||||
"super + Escape" = "pkill -USR1 -x sxhkd";
|
||||
"super + g" = "bspc node -s biggest";
|
||||
"super + {grave,Tab}" = "bspc {node,desktop} -f last";
|
||||
"super + {h,j,k,l}" = "dir={west,south,north,east}; bspc node -f $dir || bspc monitor -f $dir";
|
||||
"super + {h,j,k,l}" =
|
||||
"dir={west,south,north,east}; bspc node -f $dir || bspc monitor -f $dir";
|
||||
"super + {Left,Down,Up,Right}" = "bspc node -v {-20 0,0 20,0 -20,20 0}";
|
||||
"super + m" = "bspc desktop -l next";
|
||||
"super + n {_, + shift}" = "bsp-layout {next, previous}";
|
||||
"super + {o,i}" = "bspc wm -h off;bspc node {older,newer} -f;bspc wm -h on";
|
||||
"super + {p,b,comma,period}" = "bspc node -f @{parent,brother,first,second}";
|
||||
"super + {_,shift + }{1-9,0}" = "bspc {desktop -f,node -d} 'focused:^{1-9,10}'";
|
||||
"super + {o,i}" =
|
||||
"bspc wm -h off;bspc node {older,newer} -f;bspc wm -h on";
|
||||
"super + {p,b,comma,period}" =
|
||||
"bspc node -f @{parent,brother,first,second}";
|
||||
"super + {_,shift + }{1-9,0}" =
|
||||
"bspc {desktop -f,node -d} 'focused:^{1-9,10}'";
|
||||
"super + {_,shift + }c" = "bspc node -f {next,prev}.local";
|
||||
"super + shift + e" = emojiChooser;
|
||||
"super + shift + {h,j,k,l}" = ''dir={west,south,north,east}; bspc node -s "$dir.local" --follow || bspc node -m "$dir" --follow'';
|
||||
"super + {_,shift + } Return" = "{${primaryTerminal} , ${secondaryTerminal}}";
|
||||
"super + shift + {h,j,k,l}" = ''
|
||||
dir={west,south,north,east}; bspc node -s "$dir.local" --follow || bspc node -m "$dir" --follow'';
|
||||
"super + {_,shift + } Return" =
|
||||
"{${primaryTerminal} , ${secondaryTerminal}}";
|
||||
"super + {_,shift + }@space " = "rofi -show {drun,run}";
|
||||
"super + {_,shift + }w" = "bspc node -{c,k}";
|
||||
"super + {t,shift + t,s,f}" = "bspc node -t {tiled,pseudo_tiled,floating,fullscreen}";
|
||||
"super + {t,shift + t,s,f}" =
|
||||
"bspc node -t {tiled,pseudo_tiled,floating,fullscreen}";
|
||||
# "super + y" = "bspc node newest.marked.local -n newest.!automatic.local";
|
||||
"{XF86AudioLowerVolume,XF86AudioMute,XF86AudioRaiseVolume}" = "pamixer {-d 2 -u,-t,-i 2 -u} && dunstify -r 1 Volume `pamixer --get-volume-human`";
|
||||
"{XF86AudioLowerVolume,XF86AudioMute,XF86AudioRaiseVolume}" =
|
||||
"pamixer {-d 2 -u,-t,-i 2 -u} && dunstify -r 1 Volume `pamixer --get-volume-human`";
|
||||
"XF86Audio{Next,Play,Prev}" = "playerctl {next,play-pause,previous}";
|
||||
"XF86MonBrightness{Up,Down}" = ''xbacklight -{inc,dec} 10 && dunstify -r 2 Luminosità `printf "%.0f" $(xbacklight -get)`'';
|
||||
"XF86MonBrightness{Up,Down}" = ''
|
||||
xbacklight -{inc,dec} 10 && dunstify -r 2 Luminosità `printf "%.0f" $(xbacklight -get)`'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1 @@
|
|||
{
|
||||
services.syncthing = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
{ services.syncthing = { enable = true; }; }
|
||||
|
|
|
|||
|
|
@ -7,12 +7,29 @@ let
|
|||
};
|
||||
opacity = toString pkgs.rice.opacity;
|
||||
font = pkgs.rice.font.monospace;
|
||||
colorString = with strPalette; normal: bright: builtins.concatStringsSep ":" [ normal.black normal.red normal.green normal.yellow normal.blue normal.magenta normal.cyan normal.white bright.black bright.red bright.green bright.yellow bright.blue bright.magenta bright.cyan bright.white ];
|
||||
colorString = with strPalette;
|
||||
normal: bright:
|
||||
builtins.concatStringsSep ":" [
|
||||
normal.black
|
||||
normal.red
|
||||
normal.green
|
||||
normal.yellow
|
||||
normal.blue
|
||||
normal.magenta
|
||||
normal.cyan
|
||||
normal.white
|
||||
bright.black
|
||||
bright.red
|
||||
bright.green
|
||||
bright.yellow
|
||||
bright.blue
|
||||
bright.magenta
|
||||
bright.cyan
|
||||
bright.white
|
||||
];
|
||||
in
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
terminator
|
||||
];
|
||||
home.packages = with pkgs; [ terminator ];
|
||||
|
||||
xdg.configFile."terminator/config".text = with strPalette; ''
|
||||
[global_config]
|
||||
|
|
|
|||
|
|
@ -1,8 +1 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs.xfce; [
|
||||
thunar
|
||||
tumbler
|
||||
xfconf
|
||||
];
|
||||
}
|
||||
{ pkgs, ... }: { home.packages = with pkgs.xfce; [ thunar tumbler xfconf ]; }
|
||||
|
|
|
|||
|
|
@ -1,14 +1,10 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
clock24 = true;
|
||||
escapeTime = 25;
|
||||
terminal = "screen-256color";
|
||||
plugins = with pkgs.tmuxPlugins; [
|
||||
nord
|
||||
prefix-highlight
|
||||
];
|
||||
plugins = with pkgs.tmuxPlugins; [ nord prefix-highlight ];
|
||||
extraConfig = ''
|
||||
set -g mouse on
|
||||
'';
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
update_time = "10m";
|
||||
in
|
||||
{
|
||||
let update_time = "10m";
|
||||
in {
|
||||
home.packages = [ pkgs.update-background ];
|
||||
|
||||
systemd.user.services."update-background" = {
|
||||
|
|
@ -12,9 +10,7 @@ in
|
|||
PartOf = [ "graphical-session.target" ];
|
||||
RequiresMountsFor = [ "/home/bertof/Immagini" ];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "graphical-session.target" ];
|
||||
};
|
||||
Install = { WantedBy = [ "graphical-session.target" ]; };
|
||||
Service = {
|
||||
Type = "oneshot";
|
||||
IOSchedulingClass = "idle";
|
||||
|
|
|
|||
|
|
@ -4,17 +4,59 @@ let
|
|||
# cmd = link: "google-chrome-stable --app=${link}";
|
||||
cmd = link: "firefox ${link}";
|
||||
links = [
|
||||
{ desktopName = "Google Calendar"; link = "https://google.com/calendar"; categories = [ "Office" ]; }
|
||||
{ desktopName = "Google Keep"; link = "https://keep.google.com"; categories = [ "Office" ]; }
|
||||
{ desktopName = "Monkeytype"; link = "https://monkeytype.com/"; }
|
||||
{ desktopName = "Netflix"; link = "https://www.netflix.com"; categories = [ "AudioVideo" ]; }
|
||||
{ desktopName = "Notion"; link = "https://notion.so"; categories = [ "Office" ]; }
|
||||
{ desktopName = "Prime Video"; link = "https://primevideo.com"; categories = [ "AudioVideo" ]; }
|
||||
{ desktopName = "Protonmail"; link = "https://mail.protonmail.com"; categories = [ "Office" ]; }
|
||||
{ desktopName = "Twitch"; link = "https://www.twitch.tv"; categories = [ "AudioVideo" ]; }
|
||||
{ desktopName = "WhatsApp"; link = "https://web.whatsapp.com/"; }
|
||||
{ desktopName = "YouTube"; link = "https://www.youtube.com"; categories = [ "AudioVideo" ]; }
|
||||
{ desktopName = "Plex"; link = "https://app.plex.tv"; categories = [ "AudioVideo" ]; }
|
||||
{
|
||||
desktopName = "Google Calendar";
|
||||
link = "https://google.com/calendar";
|
||||
categories = [ "Office" ];
|
||||
}
|
||||
{
|
||||
desktopName = "Google Keep";
|
||||
link = "https://keep.google.com";
|
||||
categories = [ "Office" ];
|
||||
}
|
||||
{
|
||||
desktopName = "Monkeytype";
|
||||
link = "https://monkeytype.com/";
|
||||
}
|
||||
{
|
||||
desktopName = "Netflix";
|
||||
link = "https://www.netflix.com";
|
||||
categories = [ "AudioVideo" ];
|
||||
}
|
||||
{
|
||||
desktopName = "Notion";
|
||||
link = "https://notion.so";
|
||||
categories = [ "Office" ];
|
||||
}
|
||||
{
|
||||
desktopName = "Prime Video";
|
||||
link = "https://primevideo.com";
|
||||
categories = [ "AudioVideo" ];
|
||||
}
|
||||
{
|
||||
desktopName = "Protonmail";
|
||||
link = "https://mail.protonmail.com";
|
||||
categories = [ "Office" ];
|
||||
}
|
||||
{
|
||||
desktopName = "Twitch";
|
||||
link = "https://www.twitch.tv";
|
||||
categories = [ "AudioVideo" ];
|
||||
}
|
||||
{
|
||||
desktopName = "WhatsApp";
|
||||
link = "https://web.whatsapp.com/";
|
||||
}
|
||||
{
|
||||
desktopName = "YouTube";
|
||||
link = "https://www.youtube.com";
|
||||
categories = [ "AudioVideo" ];
|
||||
}
|
||||
{
|
||||
desktopName = "Plex";
|
||||
link = "https://app.plex.tv";
|
||||
categories = [ "AudioVideo" ];
|
||||
}
|
||||
];
|
||||
webAppBuilder =
|
||||
{ desktopName
|
||||
|
|
@ -23,11 +65,10 @@ let
|
|||
, icon ? lib.toLower name
|
||||
, comment ? null
|
||||
, categories ? [ "Network" ]
|
||||
}: pkgs.makeDesktopItem {
|
||||
}:
|
||||
pkgs.makeDesktopItem {
|
||||
inherit name icon desktopName comment categories;
|
||||
exec = cmd link;
|
||||
};
|
||||
in
|
||||
{
|
||||
home.packages = map webAppBuilder links;
|
||||
}
|
||||
{ home.packages = map webAppBuilder links; }
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@ let
|
|||
lightLevel = 10;
|
||||
saveLightLevel = "${xbacklightCmd} -get > /run/user/$UID/xbacklight_v";
|
||||
lowerLight = "${xbacklightCmd} -set ${toString lightLevel}";
|
||||
resetLight = "${xbacklightCmd} -set $(</run/user/$UID/xbacklight_v) || ${xbacklightCmd} -set 100";
|
||||
resetLight =
|
||||
"${xbacklightCmd} -set $(</run/user/$UID/xbacklight_v) || ${xbacklightCmd} -set 100";
|
||||
in
|
||||
{
|
||||
services.xidlehook = {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
strPalette = pkgs.lib.rice.palette.toRgbHex pkgs.rice.colorPalette;
|
||||
in
|
||||
{
|
||||
let strPalette = pkgs.lib.rice.palette.toRgbHex pkgs.rice.colorPalette;
|
||||
in {
|
||||
programs.zathura = {
|
||||
enable = true;
|
||||
options = {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,5 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
nix-zsh-completions
|
||||
zsh-completions
|
||||
];
|
||||
{ pkgs, ... }: {
|
||||
home.packages = with pkgs; [ nix-zsh-completions zsh-completions ];
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
|
|
@ -19,14 +15,8 @@
|
|||
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
"common-aliases"
|
||||
"cp"
|
||||
"dirhistory"
|
||||
"git-auto-fetch"
|
||||
"git"
|
||||
"sudo"
|
||||
];
|
||||
plugins =
|
||||
[ "common-aliases" "cp" "dirhistory" "git-auto-fetch" "git" "sudo" ];
|
||||
extraConfig = "";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
with lib;
|
||||
{
|
||||
with lib; {
|
||||
boot = {
|
||||
binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ];
|
||||
kernelPackages = pkgs.linuxPackages_5_18;
|
||||
|
|
@ -34,7 +33,12 @@ with lib;
|
|||
|
||||
opengl = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [ intel-media-driver libvdpau-va-gl vaapiIntel vaapiVdpau ];
|
||||
extraPackages = with pkgs; [
|
||||
intel-media-driver
|
||||
libvdpau-va-gl
|
||||
vaapiIntel
|
||||
vaapiVdpau
|
||||
];
|
||||
};
|
||||
|
||||
bluetooth.enable = true;
|
||||
|
|
@ -44,13 +48,22 @@ with lib;
|
|||
|
||||
programs = {
|
||||
dconf.enable = true;
|
||||
gnupg.agent = { enable = true; enableSSHSupport = true; };
|
||||
zsh = { enable = true; syntaxHighlighting.enable = true; };
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
zsh = {
|
||||
enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
networking = {
|
||||
hostName = "loki";
|
||||
interfaces = { eno1.useDHCP = true; wlp7s0.useDHCP = true; };
|
||||
interfaces = {
|
||||
eno1.useDHCP = true;
|
||||
wlp7s0.useDHCP = true;
|
||||
};
|
||||
networkmanager.enable = true;
|
||||
useDHCP = false;
|
||||
};
|
||||
|
|
@ -73,21 +86,51 @@ with lib;
|
|||
ssh = "${pkgs.avahi}/etc/avahi/services/ssh.service";
|
||||
};
|
||||
};
|
||||
bazarr = { enable = true; openFirewall = true; group = "users"; };
|
||||
bazarr = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
group = "users";
|
||||
};
|
||||
blueman.enable = true;
|
||||
dbus.packages = with pkgs; [ dconf ];
|
||||
fail2ban = { enable = true; bantime-increment.enable = true; };
|
||||
fail2ban = {
|
||||
enable = true;
|
||||
bantime-increment.enable = true;
|
||||
};
|
||||
gnome.gnome-keyring.enable = true;
|
||||
gvfs = { enable = true; package = mkForce pkgs.gnome3.gvfs; };
|
||||
jackett = { enable = true; openFirewall = true; group = "users"; };
|
||||
jellyfin = { enable = true; openFirewall = true; group = "users"; };
|
||||
gvfs = {
|
||||
enable = true;
|
||||
package = mkForce pkgs.gnome3.gvfs;
|
||||
};
|
||||
jackett = {
|
||||
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; permitRootLogin = "no"; passwordAuthentication = false; };
|
||||
openssh = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
permitRootLogin = "no";
|
||||
passwordAuthentication = false;
|
||||
};
|
||||
# plex = { enable = true; openFirewall = true; group = "users"; };
|
||||
power-profiles-daemon.enable = true;
|
||||
radarr = { enable = true; openFirewall = true; group = "users"; };
|
||||
samba-wsdd = { enable = true; discovery = true; };
|
||||
radarr = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
group = "users";
|
||||
};
|
||||
samba-wsdd = {
|
||||
enable = true;
|
||||
discovery = true;
|
||||
};
|
||||
samba = {
|
||||
enable = true;
|
||||
enableNmbd = true;
|
||||
|
|
@ -156,8 +199,15 @@ with lib;
|
|||
};
|
||||
};
|
||||
};
|
||||
smartd = { enable = true; notifications.x11.enable = true; };
|
||||
sonarr = { enable = true; openFirewall = true; group = "users"; };
|
||||
smartd = {
|
||||
enable = true;
|
||||
notifications.x11.enable = true;
|
||||
};
|
||||
sonarr = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
group = "users";
|
||||
};
|
||||
thermald.enable = true;
|
||||
transmission = {
|
||||
enable = true;
|
||||
|
|
@ -181,24 +231,42 @@ with lib;
|
|||
openFirewall = true;
|
||||
cameras = 3;
|
||||
hostname = "0.0.0.0";
|
||||
database = { username = "zoneminder"; createLocally = true; };
|
||||
database = {
|
||||
username = "zoneminder";
|
||||
createLocally = true;
|
||||
};
|
||||
};
|
||||
|
||||
mysql = {
|
||||
# enable = true;
|
||||
ensureUsers = [{ name = "bertof"; ensurePermissions = { "*.*" = "ALL PRIVILEGES"; }; }];
|
||||
ensureUsers = [{
|
||||
name = "bertof";
|
||||
ensurePermissions = { "*.*" = "ALL PRIVILEGES"; };
|
||||
}];
|
||||
};
|
||||
};
|
||||
|
||||
users.users = {
|
||||
bertof = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "audio" "input" "docker" "libvirtd" "network" "networkmanager" "usb" "video" "wheel" ];
|
||||
extraGroups = [
|
||||
"audio"
|
||||
"input"
|
||||
"docker"
|
||||
"libvirtd"
|
||||
"network"
|
||||
"networkmanager"
|
||||
"usb"
|
||||
"video"
|
||||
"wheel"
|
||||
];
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
tiziano = {
|
||||
isNormalUser = true;
|
||||
openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMExwtJFk6HjySrTZwJH67SOHC3hlL28NO4oe2GXsv6k" ];
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMExwtJFk6HjySrTZwJH67SOHC3hlL28NO4oe2GXsv6k"
|
||||
];
|
||||
};
|
||||
jellyfin.extraGroups = [ "video" ];
|
||||
};
|
||||
|
|
@ -237,7 +305,6 @@ with lib;
|
|||
};
|
||||
};
|
||||
|
||||
|
||||
systemd.packages = with pkgs; [ syncthing ];
|
||||
systemd.services =
|
||||
let
|
||||
|
|
@ -246,7 +313,10 @@ with lib;
|
|||
startLimitIntervalSec = 60;
|
||||
startLimitBurst = 4;
|
||||
after = [ "network.target" ];
|
||||
environment = { STNORESTART = "yes"; STNOUPGRADE = "yes"; };
|
||||
environment = {
|
||||
STNORESTART = "yes";
|
||||
STNOUPGRADE = "yes";
|
||||
};
|
||||
wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
Restart = "on-failure";
|
||||
|
|
@ -268,18 +338,34 @@ with lib;
|
|||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
CapabilityBoundingSet = [ "~CAP_SYS_PTRACE" "~CAP_SYS_ADMIN" "~CAP_SETGID" "~CAP_SETUID" "~CAP_SETPCAP" "~CAP_SYS_TIME" "~CAP_KILL" ];
|
||||
CapabilityBoundingSet = [
|
||||
"~CAP_SYS_PTRACE"
|
||||
"~CAP_SYS_ADMIN"
|
||||
"~CAP_SETGID"
|
||||
"~CAP_SETUID"
|
||||
"~CAP_SETPCAP"
|
||||
"~CAP_SYS_TIME"
|
||||
"~CAP_KILL"
|
||||
];
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
syncthing-bertof = recursiveUpdate common {
|
||||
description = "Syncthing service bertof";
|
||||
serviceConfig = { User = "bertof"; ExecStart = "${pkgs.syncthing}/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -home=/mnt/raid0/bertof/Syncthing/.config"; };
|
||||
serviceConfig = {
|
||||
User = "bertof";
|
||||
ExecStart =
|
||||
"${pkgs.syncthing}/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -home=/mnt/raid0/bertof/Syncthing/.config";
|
||||
};
|
||||
};
|
||||
syncthing-tiziano = recursiveUpdate common {
|
||||
description = "Syncthing service tiziano";
|
||||
serviceConfig = { User = "tiziano"; ExecStart = "${pkgs.syncthing}/bin/syncthing -no-browser -gui-address=0.0.0.0:8385 -home=/mnt/raid0/tiziano/Syncthing/.config"; };
|
||||
serviceConfig = {
|
||||
User = "tiziano";
|
||||
ExecStart =
|
||||
"${pkgs.syncthing}/bin/syncthing -no-browser -gui-address=0.0.0.0:8385 -home=/mnt/raid0/tiziano/Syncthing/.config";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -299,7 +385,8 @@ with lib;
|
|||
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 = {
|
||||
|
|
@ -312,20 +399,14 @@ with lib;
|
|||
oci-containers.containers = {
|
||||
hass = {
|
||||
image = "ghcr.io/home-assistant/home-assistant:stable";
|
||||
environment = {
|
||||
TZ = "Europe/Rome";
|
||||
};
|
||||
environment = { TZ = "Europe/Rome"; };
|
||||
extraOptions = [ "--privileged" "--network=host" "--pull=always" ];
|
||||
ports = [ "8123:8123" ];
|
||||
volumes = [
|
||||
"/var/lib/hass:/config"
|
||||
"/mnt/raid0/condiviso:/media"
|
||||
];
|
||||
volumes = [ "/var/lib/hass:/config" "/mnt/raid0/condiviso:/media" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
security.sudo.extraConfig = ''
|
||||
Defaults pwfeedback
|
||||
'';
|
||||
|
|
|
|||
|
|
@ -4,68 +4,65 @@
|
|||
{ config, lib, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "uas" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||
boot.initrd.availableKernelModules = [
|
||||
"xhci_pci"
|
||||
"ehci_pci"
|
||||
"ahci"
|
||||
"uas"
|
||||
"usb_storage"
|
||||
"sd_mod"
|
||||
"rtsx_pci_sdmmc"
|
||||
];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/44c53e75-a00d-47bc-a99b-2544fe513e51";
|
||||
fsType = "btrfs";
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/44c53e75-a00d-47bc-a99b-2544fe513e51";
|
||||
fsType = "btrfs";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/8A71-E5EB";
|
||||
fsType = "vfat";
|
||||
};
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/8A71-E5EB";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
fileSystems."/mnt/raid1" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/c84a38dc-9cc7-4762-b509-8fce1c1d95c8";
|
||||
fsType = "btrfs";
|
||||
};
|
||||
fileSystems."/mnt/raid1" = {
|
||||
device = "/dev/disk/by-uuid/c84a38dc-9cc7-4762-b509-8fce1c1d95c8";
|
||||
fsType = "btrfs";
|
||||
};
|
||||
|
||||
fileSystems."/var/lib/docker/btrfs" =
|
||||
{
|
||||
device = "/var/lib/docker/btrfs";
|
||||
fsType = "none";
|
||||
options = [ "bind" ];
|
||||
};
|
||||
fileSystems."/var/lib/docker/btrfs" = {
|
||||
device = "/var/lib/docker/btrfs";
|
||||
fsType = "none";
|
||||
options = [ "bind" ];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/raid0/bertof" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@bertof" ];
|
||||
};
|
||||
fileSystems."/mnt/raid0/bertof" = {
|
||||
device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@bertof" ];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/raid0/tiziano" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@tiziano" ];
|
||||
};
|
||||
fileSystems."/mnt/raid0/tiziano" = {
|
||||
device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@tiziano" ];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/raid0/condiviso" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@condiviso" ];
|
||||
};
|
||||
fileSystems."/mnt/raid0/condiviso" = {
|
||||
device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@condiviso" ];
|
||||
};
|
||||
|
||||
fileSystems."/var/lib/zoneminder/events" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@zoneminder" ];
|
||||
};
|
||||
fileSystems."/var/lib/zoneminder/events" = {
|
||||
device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@zoneminder" ];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
|
|
@ -79,5 +76,6 @@
|
|||
networking.interfaces.wlp7s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.ztmjfdwjkp.useDHCP = lib.mkDefault true;
|
||||
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
hardware.cpu.intel.updateMicrocode =
|
||||
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
nixpkgs.overlays = [
|
||||
(_: _: {
|
||||
devEnvironment = (import ./environment.nix) {
|
||||
|
|
|
|||
|
|
@ -1,3 +1,6 @@
|
|||
{
|
||||
nix.gc = { automatic = true; options = "--delete-older-than 7d"; };
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
users.users.bertof = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "network" "networkmanager" "wheel" ];
|
||||
openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN+zsSWZFFzQKnATCAvtG+iuSm4qkZHjCtHzGa9B/71W" ];
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN+zsSWZFFzQKnATCAvtG+iuSm4qkZHjCtHzGa9B/71W"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ let
|
|||
# done
|
||||
# sudo chown hdfs:hadoop /etc/hadoop.keytab
|
||||
|
||||
|
||||
# sudo kadmin.local -q "ank -randkey spark/my.engine";
|
||||
# sudo kadmin.local -q "xst -k /etc/spark.keytab spark/my.engine";
|
||||
# sudo kadmin.local -q "ktrem -k /etc/spark.keytab spark/my.engine old"
|
||||
|
|
@ -82,21 +81,21 @@ in
|
|||
{
|
||||
|
||||
networking = {
|
||||
hosts = {
|
||||
"127.0.0.1" = [
|
||||
"ds.my.engine"
|
||||
"kdc.my.engine"
|
||||
"my.engine"
|
||||
];
|
||||
};
|
||||
hosts = { "127.0.0.1" = [ "ds.my.engine" "kdc.my.engine" "my.engine" ]; };
|
||||
|
||||
};
|
||||
|
||||
services = {
|
||||
spark = {
|
||||
package = spark;
|
||||
master = { enable = true; restartIfChanged = true; };
|
||||
worker = { enable = true; restartIfChanged = true; };
|
||||
master = {
|
||||
enable = true;
|
||||
restartIfChanged = true;
|
||||
};
|
||||
worker = {
|
||||
enable = true;
|
||||
restartIfChanged = true;
|
||||
};
|
||||
confDir = sparkConfDir;
|
||||
};
|
||||
|
||||
|
|
@ -137,12 +136,14 @@ in
|
|||
# NAME NODE SECURITY
|
||||
"dfs.namenode.keytab.file" = hadoop_keytab_path;
|
||||
"dfs.namenode.kerberos.principal" = "nn/my.engine@MY.ENGINE";
|
||||
"dfs.namenode.kerberos.internal.spnego.principal" = "HTTP/my.engine@MY.ENGINE";
|
||||
"dfs.namenode.kerberos.internal.spnego.principal" =
|
||||
"HTTP/my.engine@MY.ENGINE";
|
||||
|
||||
# SECONDARY NAME NODE SECURITY
|
||||
"dfs.secondary.namenode.keytab.file" = hadoop_keytab_path;
|
||||
"dfs.secondary.namenode.kerberos.principal" = "nn/my.engine@MY.ENGINE";
|
||||
"dfs.secondary.namenode.kerberos.internal.spnego.principal" = "HTTP/my.engine@MY.ENGINE";
|
||||
"dfs.secondary.namenode.kerberos.internal.spnego.principal" =
|
||||
"HTTP/my.engine@MY.ENGINE";
|
||||
|
||||
# DATA NODE SECURITY
|
||||
"dfs.datanode.keytab.file" = hadoop_keytab_path;
|
||||
|
|
@ -156,7 +157,8 @@ in
|
|||
"dfs.webhdfs.enabled" = "true";
|
||||
|
||||
# WEB AUTHENTICATION CONFIG
|
||||
"dfs.web.authentication.kerberos.principal" = "HTTP/my.engine@MY.ENGINE";
|
||||
"dfs.web.authentication.kerberos.principal" =
|
||||
"HTTP/my.engine@MY.ENGINE";
|
||||
"dfs.web.authentication.kerberos.keytab" = hadoop_keytab_path;
|
||||
"ignore.secure.ports.for.testing" = "true";
|
||||
"dfs.http.policy" = "HTTP_ONLY";
|
||||
|
|
@ -173,15 +175,20 @@ in
|
|||
yarnSite = {
|
||||
"yarn.nodemanager.admin-env" = "PATH=$PATH";
|
||||
"yarn.nodemanager.aux-services" = "mapreduce_shuffle";
|
||||
"yarn.nodemanager.aux-services.mapreduce_shuffle.class" = "org.apache.hadoop.mapred.ShuffleHandler";
|
||||
"yarn.nodemanager.aux-services.mapreduce_shuffle.class" =
|
||||
"org.apache.hadoop.mapred.ShuffleHandler";
|
||||
"yarn.nodemanager.bind-host" = "0.0.0.0";
|
||||
"yarn.nodemanager.container-executor.class" = "org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor";
|
||||
"yarn.nodemanager.env-whitelist" = "JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,LANG,TZ";
|
||||
"yarn.nodemanager.container-executor.class" =
|
||||
"org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor";
|
||||
"yarn.nodemanager.env-whitelist" =
|
||||
"JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,LANG,TZ";
|
||||
"yarn.nodemanager.linux-container-executor.group" = "hadoop";
|
||||
"yarn.nodemanager.linux-container-executor.path" = "/run/wrappers/yarn-nodemanager/bin/container-executor";
|
||||
"yarn.nodemanager.linux-container-executor.path" =
|
||||
"/run/wrappers/yarn-nodemanager/bin/container-executor";
|
||||
"yarn.nodemanager.log-dirs" = "/var/log/hadoop/yarn/nodemanager";
|
||||
"yarn.resourcemanager.bind-host" = "0.0.0.0";
|
||||
"yarn.resourcemanager.scheduler.class" = "org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoScheduler";
|
||||
"yarn.resourcemanager.scheduler.class" =
|
||||
"org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoScheduler";
|
||||
|
||||
"yarn.resourcemanager.keytab" = hadoop_keytab_path;
|
||||
"yarn.resourcemanager.principal" = "rm/my.engine@MY.ENGINE";
|
||||
|
|
@ -193,12 +200,14 @@ in
|
|||
"yarn.scheduler.capacity.root.queues" = "default";
|
||||
"yarn.scheduler.capacity.root.default.capacity" = 100;
|
||||
# "yarn.scheduler.capacity.root.default.state" = "RUNNING";
|
||||
"yarn.scheduler.capacity.root.acl_submit_applications" = "hadoop,yarn,mapred,hdfs";
|
||||
"yarn.scheduler.capacity.root.acl_submit_applications" =
|
||||
"hadoop,yarn,mapred,hdfs";
|
||||
};
|
||||
httpfsSite = {
|
||||
"kerberos.realm" = "MY.ENGINE";
|
||||
"httpfs.authentication.type" = "kerberos";
|
||||
"httpfs.authentication.kerberos.principal " = "HTTP/my.engine@MY.ENGINE";
|
||||
"httpfs.authentication.kerberos.principal " =
|
||||
"HTTP/my.engine@MY.ENGINE";
|
||||
"httpfs.authentication.kerberos.keytab" = hadoop_keytab_path;
|
||||
"httpfs.hadoop.kerberos.principal " = "HTTP/my.engine@MY.ENGINE";
|
||||
"httpfs.hadoop.kerberos.keytab" = hadoop_keytab_path;
|
||||
|
|
@ -206,23 +215,52 @@ in
|
|||
extraConfDirs = [ ];
|
||||
|
||||
hdfs = {
|
||||
namenode = { enable = true; formatOnInit = true; restartIfChanged = true; };
|
||||
datanode = { enable = true; restartIfChanged = true; };
|
||||
journalnode = { enable = true; restartIfChanged = true; };
|
||||
zkfc = { enable = false; restartIfChanged = true; }; # ZOOKEEPER DISABLED, not using High Availability setup
|
||||
httpfs = { enable = true; restartIfChanged = true; };
|
||||
namenode = {
|
||||
enable = true;
|
||||
formatOnInit = true;
|
||||
restartIfChanged = true;
|
||||
};
|
||||
datanode = {
|
||||
enable = true;
|
||||
restartIfChanged = true;
|
||||
};
|
||||
journalnode = {
|
||||
enable = true;
|
||||
restartIfChanged = true;
|
||||
};
|
||||
zkfc = {
|
||||
enable = false;
|
||||
restartIfChanged = true;
|
||||
}; # ZOOKEEPER DISABLED, not using High Availability setup
|
||||
httpfs = {
|
||||
enable = true;
|
||||
restartIfChanged = true;
|
||||
};
|
||||
};
|
||||
yarn = {
|
||||
resourcemanager = { enable = true; restartIfChanged = true; };
|
||||
nodemanager = { enable = true; restartIfChanged = true; useCGroups = false; };
|
||||
resourcemanager = {
|
||||
enable = true;
|
||||
restartIfChanged = true;
|
||||
};
|
||||
nodemanager = {
|
||||
enable = true;
|
||||
restartIfChanged = true;
|
||||
useCGroups = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
kerberos_server = {
|
||||
enable = true;
|
||||
realms."MY.ENGINE".acl = [
|
||||
{ principal = "*/admin"; access = "all"; }
|
||||
{ principal = "*/my.engine"; access = "all"; }
|
||||
{
|
||||
principal = "*/admin";
|
||||
access = "all";
|
||||
}
|
||||
{
|
||||
principal = "*/my.engine";
|
||||
access = "all";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
@ -274,8 +312,10 @@ in
|
|||
User = "spark";
|
||||
Group = "spark";
|
||||
WorkingDirectory = "${pkgs.spark}/lib/${pkgs.spark.untarDir}";
|
||||
ExecStart = "${pkgs.spark}/lib/${pkgs.spark.untarDir}/sbin/start-history-server.sh";
|
||||
ExecStop = "${pkgs.spark}/lib/${pkgs.spark.untarDir}/sbin/stop-history-server.sh";
|
||||
ExecStart =
|
||||
"${pkgs.spark}/lib/${pkgs.spark.untarDir}/sbin/start-history-server.sh";
|
||||
ExecStop =
|
||||
"${pkgs.spark}/lib/${pkgs.spark.untarDir}/sbin/stop-history-server.sh";
|
||||
TimeoutSec = 300;
|
||||
StartLimitBurst = 10;
|
||||
Restart = "always";
|
||||
|
|
|
|||
|
|
@ -1,10 +1,17 @@
|
|||
{ ... }:
|
||||
{
|
||||
{ ... }: {
|
||||
|
||||
networking.hosts = {
|
||||
"54.176.11.243" = [ "vpn.mhackeroni.it" ];
|
||||
"10.100.0.50" = [ "master.cb.cloud.mhackeroni.it" "bartender.cb.cloud.mhackeroni.it" "grafana.cb.cloud.mhackeroni.it" "menu.cb.cloud.mhackeroni.it" "maitre.cb.cloud.mhackeroni.it" "accountant.cb.cloud.mhackeroni.it" ];
|
||||
"10.100.0.150" = [ "flowgui.cloud.mhackeroni.it" "smb.cloud.mhackeroni.it" ];
|
||||
"10.100.0.50" = [
|
||||
"master.cb.cloud.mhackeroni.it"
|
||||
"bartender.cb.cloud.mhackeroni.it"
|
||||
"grafana.cb.cloud.mhackeroni.it"
|
||||
"menu.cb.cloud.mhackeroni.it"
|
||||
"maitre.cb.cloud.mhackeroni.it"
|
||||
"accountant.cb.cloud.mhackeroni.it"
|
||||
];
|
||||
"10.100.0.150" =
|
||||
[ "flowgui.cloud.mhackeroni.it" "smb.cloud.mhackeroni.it" ];
|
||||
"10.100.0.200" = [ "tunniceddu.cloud.mhackeroni.it" ];
|
||||
"10.100.0.250" = [ "rev.cloud.mhackeroni.it" ];
|
||||
"10.100.0.66" = [ "attackerbackup.cloud.mhackeroni.it" ];
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
{ lib, ... }:
|
||||
{ ... }:
|
||||
let
|
||||
blocklist = builtins.fetchurl {
|
||||
sha256 = "sha256:16xcx2z8ziv2fbqhr4ajayxblcs4i1ckrwnf50iina9asgia18za";
|
||||
url = "https://github.com/notracking/hosts-blocklists/raw/master/dnsmasq/dnsmasq.blacklist.txt";
|
||||
url =
|
||||
"https://github.com/notracking/hosts-blocklists/raw/master/dnsmasq/dnsmasq.blacklist.txt";
|
||||
};
|
||||
in
|
||||
{
|
||||
|
|
@ -11,16 +12,12 @@ in
|
|||
|
||||
services.dnsmasq = {
|
||||
enable = true;
|
||||
servers = [
|
||||
"1.1.1.1"
|
||||
"8.8.8.8"
|
||||
"8.8.4.4"
|
||||
];
|
||||
servers = [ "1.1.1.1" "8.8.8.8" "8.8.4.4" ];
|
||||
extraConfig = ''
|
||||
cache-size=10000
|
||||
log-queries
|
||||
local-ttl=300
|
||||
|
||||
|
||||
conf-file=${blocklist}
|
||||
'';
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,17 +1,13 @@
|
|||
{
|
||||
services.k3s = {
|
||||
enable = true;
|
||||
};
|
||||
services.k3s = { enable = true; };
|
||||
|
||||
networking.firewall = {
|
||||
allowedTCPPorts = [
|
||||
6443 # Kubernetes API
|
||||
];
|
||||
allowedTCPPortRanges = [
|
||||
{
|
||||
from = 9000;
|
||||
to = 15000;
|
||||
}
|
||||
];
|
||||
allowedTCPPortRanges = [{
|
||||
from = 9000;
|
||||
to = 15000;
|
||||
}];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,20 +1,12 @@
|
|||
{
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
ensureDatabases = [
|
||||
"mfh"
|
||||
];
|
||||
ensureUsers = [
|
||||
{
|
||||
name = "bertof";
|
||||
ensurePermissions = {
|
||||
"DATABASE \"mfh\"" = "ALL PRIVILEGES";
|
||||
};
|
||||
}
|
||||
];
|
||||
ensureDatabases = [ "mfh" ];
|
||||
ensureUsers = [{
|
||||
name = "bertof";
|
||||
ensurePermissions = { "DATABASE \"mfh\"" = "ALL PRIVILEGES"; };
|
||||
}];
|
||||
};
|
||||
|
||||
services.apache-kafka = {
|
||||
enable = true;
|
||||
};
|
||||
services.apache-kafka = { enable = true; };
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
# udev rules
|
||||
services.udev.extraRules = ''
|
||||
KERNEL=="uinput",MODE:="0666",OPTIONS+="static_node=uinput"
|
||||
|
|
|
|||
|
|
@ -34,10 +34,30 @@
|
|||
# fileSystems."/" = { options = "noatime errors=remount-ro"; };
|
||||
|
||||
security.pam.loginLimits = [
|
||||
{ domain = "@audio"; item = "memlock"; type = "-"; value = "unlimited"; }
|
||||
{ domain = "@audio"; item = "rtprio"; type = "-"; value = "99"; }
|
||||
{ domain = "@audio"; item = "nofile"; type = "soft"; value = "99999"; }
|
||||
{ domain = "@audio"; item = "nofile"; type = "hard"; value = "99999"; }
|
||||
{
|
||||
domain = "@audio";
|
||||
item = "memlock";
|
||||
type = "-";
|
||||
value = "unlimited";
|
||||
}
|
||||
{
|
||||
domain = "@audio";
|
||||
item = "rtprio";
|
||||
type = "-";
|
||||
value = "99";
|
||||
}
|
||||
{
|
||||
domain = "@audio";
|
||||
item = "nofile";
|
||||
type = "soft";
|
||||
value = "99999";
|
||||
}
|
||||
{
|
||||
domain = "@audio";
|
||||
item = "nofile";
|
||||
type = "hard";
|
||||
value = "99999";
|
||||
}
|
||||
];
|
||||
|
||||
# services = {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,7 @@
|
|||
{
|
||||
networking = {
|
||||
hosts = {
|
||||
"172.20.28.210" = [
|
||||
"datanode1"
|
||||
"datanode2"
|
||||
"datanode3"
|
||||
];
|
||||
"172.20.28.210" = [ "datanode1" "datanode2" "datanode3" ];
|
||||
# "172.20.28.210" = [ "*.engine.sesar.int" ];
|
||||
"159.149.147.137" = [ "vcenter.sesar.int" ];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
with lib;
|
||||
{
|
||||
with lib; {
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
|
|
@ -16,9 +15,7 @@ with lib;
|
|||
hardware.enableRedistributableFirmware = true;
|
||||
|
||||
# Use same ACPI identifier as Dell Ubuntu
|
||||
boot.kernelParams = [
|
||||
"acpi_osi=Linux-Dell-Video"
|
||||
];
|
||||
boot.kernelParams = [ "acpi_osi=Linux-Dell-Video" ];
|
||||
|
||||
networking = {
|
||||
hostName = "odin";
|
||||
|
|
@ -28,7 +25,10 @@ with lib;
|
|||
# Per-interface useDHCP will be mandatory in the future, so this generated config
|
||||
# replicates the default behaviour.
|
||||
useDHCP = false;
|
||||
interfaces = { enp60s0.useDHCP = true; wlp0s20f3.useDHCP = true; };
|
||||
interfaces = {
|
||||
enp60s0.useDHCP = true;
|
||||
wlp0s20f3.useDHCP = true;
|
||||
};
|
||||
|
||||
# Configure network proxy if necessary
|
||||
# proxy.default = "http://user:password@proxy:port/";
|
||||
|
|
@ -51,7 +51,6 @@ with lib;
|
|||
keyMap = "it";
|
||||
};
|
||||
|
||||
|
||||
# X11 windowing system.
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
|
|
@ -71,13 +70,17 @@ with lib;
|
|||
displayManager.sddm = {
|
||||
enable = true;
|
||||
autoNumlock = true;
|
||||
theme = "${pkgs.sddm-theme-clairvoyance}/usr/share/sddm/themes/clairvoyance";
|
||||
theme =
|
||||
"${pkgs.sddm-theme-clairvoyance}/usr/share/sddm/themes/clairvoyance";
|
||||
};
|
||||
|
||||
# Configure keymap in X11
|
||||
layout = "it";
|
||||
extraLayouts = {
|
||||
eng = { languages = [ "eng" ]; description = "English layout for external keyboard"; };
|
||||
eng = {
|
||||
languages = [ "eng" ];
|
||||
description = "English layout for external keyboard";
|
||||
};
|
||||
};
|
||||
xkbOptions = "eurosign:e,terminate:ctrl_alt_bksp,compose:rctrl";
|
||||
libinput.enable = true;
|
||||
|
|
@ -86,10 +89,11 @@ with lib;
|
|||
# Enable CUPS to print documents.
|
||||
services.printing = {
|
||||
enable = true;
|
||||
drivers = with pkgs; [
|
||||
gutenprint
|
||||
# cups-kyocera
|
||||
];
|
||||
drivers = with pkgs;
|
||||
[
|
||||
gutenprint
|
||||
# cups-kyocera
|
||||
];
|
||||
};
|
||||
|
||||
services.fwupd.enable = true;
|
||||
|
|
@ -106,10 +110,14 @@ with lib;
|
|||
enable = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
alsa = { enable = true; support32Bit = true; };
|
||||
alsa = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
};
|
||||
# media-session.enable = true;
|
||||
};
|
||||
environment.sessionVariables.LD_LIBRARY_PATH = lib.mkForce "${config.services.pipewire.package.jack}/lib"; # Temporary fix for WebKitGTK
|
||||
environment.sessionVariables.LD_LIBRARY_PATH = lib.mkForce
|
||||
"${config.services.pipewire.package.jack}/lib"; # Temporary fix for WebKitGTK
|
||||
|
||||
# # Tablet
|
||||
# hardware.opentabletdriver = {
|
||||
|
|
@ -120,7 +128,18 @@ with lib;
|
|||
# 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;
|
||||
};
|
||||
|
||||
|
|
@ -132,18 +151,29 @@ with lib;
|
|||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
programs.flashrom.enable = true;
|
||||
programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
programs.steam.enable = true;
|
||||
services.joycond.enable = true;
|
||||
|
||||
programs.dconf.enable = true;
|
||||
programs.zsh = { enable = true; syntaxHighlighting.enable = true; };
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
};
|
||||
|
||||
# List services that you want to enable:
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
services.openssh = { enable = true; openFirewall = true; permitRootLogin = "no"; passwordAuthentication = false; };
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
permitRootLogin = "no";
|
||||
passwordAuthentication = false;
|
||||
};
|
||||
|
||||
# Cooling management
|
||||
services.thermald.enable = true;
|
||||
|
|
@ -160,14 +190,21 @@ with lib;
|
|||
in
|
||||
{
|
||||
bertof_home = recursiveUpdate common { subvolume = "/home/bertof"; };
|
||||
bertof_music = recursiveUpdate common { subvolume = "/home/bertof/Musica"; };
|
||||
bertof_downloads = recursiveUpdate common { subvolume = "/home/bertof/Scaricati"; };
|
||||
bertof_images = recursiveUpdate common { subvolume = "/home/bertof/Immagini"; };
|
||||
bertof_videos = recursiveUpdate common { subvolume = "/home/bertof/Video"; };
|
||||
bertof_documents = recursiveUpdate common { subvolume = "/home/bertof/Documenti"; };
|
||||
bertof_games_ssd = recursiveUpdate common { subvolume = "/home/bertof/Giochi/SSD"; };
|
||||
bertof_music =
|
||||
recursiveUpdate common { subvolume = "/home/bertof/Musica"; };
|
||||
bertof_downloads =
|
||||
recursiveUpdate common { subvolume = "/home/bertof/Scaricati"; };
|
||||
bertof_images =
|
||||
recursiveUpdate common { subvolume = "/home/bertof/Immagini"; };
|
||||
bertof_videos =
|
||||
recursiveUpdate common { subvolume = "/home/bertof/Video"; };
|
||||
bertof_documents =
|
||||
recursiveUpdate common { subvolume = "/home/bertof/Documenti"; };
|
||||
bertof_games_ssd =
|
||||
recursiveUpdate common { subvolume = "/home/bertof/Giochi/SSD"; };
|
||||
# bertof_games_hdd = recursiveUpdate common { subvolume = "/home/bertof/Giochi/HDD"; };
|
||||
bertof_git = recursiveUpdate common { subvolume = "/home/bertof/Documenti/Git"; };
|
||||
bertof_git =
|
||||
recursiveUpdate common { subvolume = "/home/bertof/Documenti/Git"; };
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -175,7 +212,10 @@ with lib;
|
|||
services.gnome.gnome-keyring.enable = true;
|
||||
hardware.bluetooth.enable = true;
|
||||
services.blueman.enable = true;
|
||||
services.gvfs = { enable = true; package = lib.mkForce pkgs.gnome3.gvfs; };
|
||||
services.gvfs = {
|
||||
enable = true;
|
||||
package = lib.mkForce pkgs.gnome3.gvfs;
|
||||
};
|
||||
# services.tlp.enable = false;
|
||||
services.avahi = {
|
||||
enable = true;
|
||||
|
|
@ -194,7 +234,10 @@ with lib;
|
|||
};
|
||||
|
||||
# SMART
|
||||
services.smartd = { enable = true; notifications.x11.enable = true; };
|
||||
services.smartd = {
|
||||
enable = true;
|
||||
notifications.x11.enable = true;
|
||||
};
|
||||
|
||||
# FPRINTD
|
||||
# services.fprintd = {
|
||||
|
|
@ -205,7 +248,10 @@ with lib;
|
|||
security.pam.services.xscreensaver.fprintAuth = true;
|
||||
|
||||
# Clamav
|
||||
services.clamav = { daemon.enable = true; updater.enable = true; };
|
||||
services.clamav = {
|
||||
daemon.enable = true;
|
||||
updater.enable = true;
|
||||
};
|
||||
|
||||
# Power-profiles
|
||||
services.power-profiles-daemon.enable = true;
|
||||
|
|
@ -233,9 +279,7 @@ with lib;
|
|||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
packageOverrides = pkgs: {
|
||||
steam = pkgs.steam.override {
|
||||
extraPkgs = pkgs: with pkgs; [ icu ];
|
||||
};
|
||||
steam = pkgs.steam.override { extraPkgs = pkgs: with pkgs; [ icu ]; };
|
||||
};
|
||||
};
|
||||
nix = {
|
||||
|
|
|
|||
|
|
@ -4,10 +4,7 @@
|
|||
{ config, lib, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
|
|
@ -32,46 +29,46 @@
|
|||
options = [ "x-gvfs-hide" ];
|
||||
};
|
||||
|
||||
# fileSystems."/var/lib/docker/btrfs" =
|
||||
# { device = "/nix/@root/var/lib/docker/btrfs";
|
||||
# fsType = "none";
|
||||
# options = [ "bind" ];
|
||||
# };
|
||||
|
||||
fileSystems."/home/bertof" = {
|
||||
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@bertof/@home" "x-gvfs-hide" ];
|
||||
};
|
||||
|
||||
fileSystems."/home/bertof/Documenti" = {
|
||||
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@bertof/@documents" "x-gvfs-hide" ];
|
||||
};
|
||||
|
||||
fileSystems."/home/bertof/Documenti/Git" = {
|
||||
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@bertof/@git" "x-gvfs-hide" ];
|
||||
};
|
||||
|
||||
fileSystems."/home/bertof/Musica" = {
|
||||
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
|
||||
fileSystems."/home/bertof/Immagini" = {
|
||||
device = "/dev/disk/by-uuid/c2635d50-7f08-4aca-bcdd-0ac685047a64";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@bertof/@music" "x-gvfs-hide" ];
|
||||
options = [ "subvol=@bertof/@images" "x-gvfs-hide" ];
|
||||
};
|
||||
|
||||
fileSystems."/home/bertof/Video" = {
|
||||
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
|
||||
device = "/dev/disk/by-uuid/c2635d50-7f08-4aca-bcdd-0ac685047a64";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@bertof/@videos" "x-gvfs-hide" ];
|
||||
};
|
||||
|
||||
fileSystems."/home/bertof/Immagini" = {
|
||||
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
|
||||
fileSystems."/home/bertof/Documenti" = {
|
||||
device = "/dev/disk/by-uuid/c2635d50-7f08-4aca-bcdd-0ac685047a64";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@bertof/@images" "x-gvfs-hide" ];
|
||||
options = [ "subvol=@bertof/@documents" "x-gvfs-hide" ];
|
||||
};
|
||||
|
||||
fileSystems."/home/bertof/Musica" = {
|
||||
device = "/dev/disk/by-uuid/c2635d50-7f08-4aca-bcdd-0ac685047a64";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@bertof/@music" "x-gvfs-hide" ];
|
||||
};
|
||||
|
||||
fileSystems."/home/bertof/Scaricati" = {
|
||||
device = "/dev/disk/by-uuid/c2635d50-7f08-4aca-bcdd-0ac685047a64";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@bertof/@downloads" "x-gvfs-hide" ];
|
||||
};
|
||||
|
||||
fileSystems."/home/bertof/Giochi/SSD" = {
|
||||
|
|
@ -80,10 +77,10 @@
|
|||
options = [ "subvol=@bertof/@games" "x-gvfs-hide" ];
|
||||
};
|
||||
|
||||
fileSystems."/home/bertof/Scaricati" = {
|
||||
device = "/dev/disk/by-uuid/c6e3d4df-4861-48a5-8107-d6fd1addad8c";
|
||||
fileSystems."/home/bertof/Giochi/SATA" = {
|
||||
device = "/dev/disk/by-uuid/c2635d50-7f08-4aca-bcdd-0ac685047a64";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@bertof/@downloads" "x-gvfs-hide" ];
|
||||
options = [ "subvol=@bertof/@games" "x-gvfs-hide" ];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
|
|
@ -100,5 +97,6 @@
|
|||
# networking.interfaces.ztmjfdwjkp.useDHCP = lib.mkDefault true;
|
||||
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
hardware.cpu.intel.updateMicrocode =
|
||||
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
home = {
|
||||
language.base = "it_IT.UTF-8";
|
||||
keyboard = {
|
||||
|
|
@ -43,7 +42,9 @@
|
|||
# gnome.quadrapassel
|
||||
# gnome.seahorse
|
||||
# gnome.sushi
|
||||
(google-chrome.override { commandLineArgs = [ "--password-store=gnome" "--force-dark-mode" ]; })
|
||||
(google-chrome.override {
|
||||
commandLineArgs = [ "--password-store=gnome" "--force-dark-mode" ];
|
||||
})
|
||||
gucharmap
|
||||
handbrake
|
||||
htop
|
||||
|
|
@ -123,7 +124,6 @@
|
|||
../hm_modules/python.nix
|
||||
../hm_modules/rust.nix
|
||||
|
||||
../hm_modules/any_nix_shell.nix
|
||||
../hm_modules/alacritty.nix
|
||||
../hm_modules/autorandr.nix
|
||||
../hm_modules/bspwm.nix
|
||||
|
|
|
|||
55
rice.nix
55
rice.nix
|
|
@ -4,37 +4,32 @@ let
|
|||
# onedark = prev.lib.rice.palette.tPalette prev.lib.rice.color.hexToRgba (import ./themes/onedark.nix);
|
||||
# tomorrow-night = prev.lib.rice.palette.tPalette prev.lib.rice.color.hexToRgba (import ./themes/tomorrow-night.nix);
|
||||
# mkpm = with prev.lib.rice; palette.tPalette color.hexToRgba (import ./themes/monokai-pro-machine.nix);
|
||||
bloom = with prev.lib.rice; palette.tPalette color.hexToRgba (import ./themes/bloom.nix);
|
||||
bloom = with prev.lib.rice;
|
||||
palette.tPalette color.hexToRgba (import ./themes/bloom.nix);
|
||||
in
|
||||
(
|
||||
rec {
|
||||
rice = {
|
||||
colorPalette = with prev.lib.rice; rec {
|
||||
normal = palette.defaultPalette // {
|
||||
inherit (bloom.normal) black red green yellow blue magenta cyan white;
|
||||
};
|
||||
bright = palette.brighten 10 normal // {
|
||||
inherit (bloom.bright) black red green yellow blue magenta cyan white;
|
||||
};
|
||||
dark = palette.darken 10 normal;
|
||||
(rec {
|
||||
rice = {
|
||||
colorPalette = with prev.lib.rice; rec {
|
||||
normal = palette.defaultPalette // {
|
||||
inherit (bloom.normal) black red green yellow blue magenta cyan white;
|
||||
};
|
||||
font = {
|
||||
normal = {
|
||||
name = "Cantarell";
|
||||
package = final.cantarell-fonts;
|
||||
size = 10;
|
||||
};
|
||||
monospace = {
|
||||
name = "FiraCode Nerd Font Mono";
|
||||
package = (
|
||||
final.nerdfonts.override {
|
||||
fonts = [ "FiraCode" ];
|
||||
}
|
||||
);
|
||||
size = 10;
|
||||
};
|
||||
bright = palette.brighten 10 normal // {
|
||||
inherit (bloom.bright) black red green yellow blue magenta cyan white;
|
||||
};
|
||||
opacity = 0.95;
|
||||
dark = palette.darken 10 normal;
|
||||
};
|
||||
}
|
||||
)
|
||||
font = {
|
||||
normal = {
|
||||
name = "Cantarell";
|
||||
package = final.cantarell-fonts;
|
||||
size = 10;
|
||||
};
|
||||
monospace = {
|
||||
name = "FiraCode Nerd Font Mono";
|
||||
package = (final.nerdfonts.override { fonts = [ "FiraCode" ]; });
|
||||
size = 10;
|
||||
};
|
||||
};
|
||||
opacity = 0.95;
|
||||
};
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
with lib;
|
||||
{
|
||||
with lib; {
|
||||
boot = {
|
||||
binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ];
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
|
@ -28,11 +27,7 @@ with lib;
|
|||
|
||||
environment = {
|
||||
pathsToLink = [ "/share/zsh" ];
|
||||
systemPackages = with pkgs; [
|
||||
kakoune
|
||||
tmux
|
||||
vim
|
||||
];
|
||||
systemPackages = with pkgs; [ kakoune tmux vim ];
|
||||
};
|
||||
|
||||
hardware = {
|
||||
|
|
@ -47,9 +42,15 @@ with lib;
|
|||
programs = {
|
||||
dconf.enable = true;
|
||||
flashrom.enable = true;
|
||||
gnupg.agent = { enable = true; enableSSHSupport = true; };
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
steam = { enable = true; };
|
||||
zsh = { enable = true; syntaxHighlighting.enable = true; };
|
||||
zsh = {
|
||||
enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
networking = {
|
||||
|
|
@ -81,12 +82,24 @@ with lib;
|
|||
};
|
||||
};
|
||||
blueman.enable = true;
|
||||
clamav = { daemon.enable = true; updater.enable = true; };
|
||||
clamav = {
|
||||
daemon.enable = true;
|
||||
updater.enable = true;
|
||||
};
|
||||
dbus.packages = with pkgs; [ dconf ];
|
||||
gnome.gnome-keyring.enable = true;
|
||||
gvfs = { enable = true; package = pkgs.gnome3.gvfs; };
|
||||
gvfs = {
|
||||
enable = true;
|
||||
package = pkgs.gnome3.gvfs;
|
||||
};
|
||||
fwupd.enable = true;
|
||||
openssh = { enable = true; openFirewall = true; permitRootLogin = "no"; passwordAuthentication = false; forwardX11 = true; };
|
||||
openssh = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
permitRootLogin = "no";
|
||||
passwordAuthentication = false;
|
||||
forwardX11 = true;
|
||||
};
|
||||
pipewire = {
|
||||
enable = true;
|
||||
pulse.enable = true;
|
||||
|
|
@ -98,7 +111,10 @@ with lib;
|
|||
# media-session.enable = true;
|
||||
};
|
||||
power-profiles-daemon.enable = true;
|
||||
smartd = { enable = true; notifications.x11.enable = true; };
|
||||
smartd = {
|
||||
enable = true;
|
||||
notifications.x11.enable = true;
|
||||
};
|
||||
snapper = {
|
||||
configs =
|
||||
let
|
||||
|
|
@ -126,7 +142,8 @@ with lib;
|
|||
# displayManager.gdm = { enable = true; nvidiaWayland = true; };
|
||||
displayManager.sddm = {
|
||||
enable = true;
|
||||
theme = "${pkgs.sddm-theme-clairvoyance}/usr/share/sddm/themes/clairvoyance";
|
||||
theme =
|
||||
"${pkgs.sddm-theme-clairvoyance}/usr/share/sddm/themes/clairvoyance";
|
||||
};
|
||||
layout = "us";
|
||||
videoDrivers = [ "nvidia" ];
|
||||
|
|
@ -135,8 +152,6 @@ with lib;
|
|||
# gnome.gnome-remote-desktop.enable = true;
|
||||
};
|
||||
|
||||
|
||||
|
||||
services.teamviewer.enable = true;
|
||||
|
||||
security = {
|
||||
|
|
@ -151,7 +166,18 @@ with lib;
|
|||
|
||||
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;
|
||||
};
|
||||
|
||||
|
|
@ -166,9 +192,7 @@ with lib;
|
|||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
packageOverrides = pkgs: {
|
||||
steam = pkgs.steam.override {
|
||||
extraPkgs = pkgs: with pkgs; [ icu ];
|
||||
};
|
||||
steam = pkgs.steam.override { extraPkgs = pkgs: with pkgs; [ icu ]; };
|
||||
};
|
||||
# cudaSupport = true;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -4,42 +4,54 @@
|
|||
{ modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
||||
boot.initrd.availableKernelModules =
|
||||
[ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{
|
||||
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" ];
|
||||
};
|
||||
fileSystems."/" = {
|
||||
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"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/B9D2-255C";
|
||||
fsType = "vfat";
|
||||
};
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/B9D2-255C";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
fileSystems."/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" ];
|
||||
};
|
||||
fileSystems."/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"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/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" ];
|
||||
};
|
||||
fileSystems."/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"
|
||||
];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[{ device = "/dev/disk/by-uuid/dee188e4-4ff8-417c-9419-b7f00ecb9989"; }];
|
||||
|
|
|
|||
11
thor/hm.nix
11
thor/hm.nix
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
home = {
|
||||
language.base = "it_IT.UTF-8";
|
||||
keyboard = {
|
||||
|
|
@ -36,7 +35,9 @@
|
|||
gnome.gnome-screenshot
|
||||
gnome.gnome-sound-recorder
|
||||
# gnome.gnome-system-monitor
|
||||
(google-chrome.override { commandLineArgs = [ "--password-store=gnome" "--force-dark-mode" ]; })
|
||||
(google-chrome.override {
|
||||
commandLineArgs = [ "--password-store=gnome" "--force-dark-mode" ];
|
||||
})
|
||||
gucharmap
|
||||
handbrake
|
||||
httpie
|
||||
|
|
@ -80,9 +81,7 @@
|
|||
];
|
||||
};
|
||||
|
||||
services = {
|
||||
gnome-keyring.enable = true;
|
||||
};
|
||||
services = { gnome-keyring.enable = true; };
|
||||
|
||||
imports = [
|
||||
../hm_modules/__basic.nix
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue