Compare commits

...

8 commits

21 changed files with 142 additions and 153 deletions

84
flake.lock generated
View file

@ -178,11 +178,11 @@
]
},
"locked": {
"lastModified": 1778958912,
"narHash": "sha256-6pvS9rIF9mZRj1ENwu9fDLHeG1JFDTCpRyy6vJhXkTA=",
"lastModified": 1780894562,
"narHash": "sha256-c3430xwxwhHipl3jigUGMMBfpaMylDqytW/kdmB3ZGs=",
"owner": "nix-community",
"repo": "disko",
"rev": "6e8dc7aa0e65fce67c76e18227a13a7d529f2cdf",
"rev": "24fed06cac83bcc44ac8efbb57cab1a82fa0bedc",
"type": "github"
},
"original": {
@ -252,13 +252,13 @@
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "edolstra",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "edolstra",
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
@ -399,11 +399,11 @@
]
},
"locked": {
"lastModified": 1772893680,
"narHash": "sha256-JDqZMgxUTCq85ObSaFw0HhE+lvdOre1lx9iI6vYyOEs=",
"lastModified": 1778507602,
"narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "8baab586afc9c9b57645a734c820e4ac0a604af9",
"rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a",
"type": "github"
},
"original": {
@ -457,16 +457,16 @@
]
},
"locked": {
"lastModified": 1778905220,
"narHash": "sha256-ox/5IHc8uwy6UTw6N7Shp6uCHIgu/S2PsWeuXsOHSo8=",
"lastModified": 1780883961,
"narHash": "sha256-WU6SUrESuPiEXEUvX4D51AgWrXRJty+sLJBwBaDBGqE=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "d1686dc7d36cbd1234cb226ad6ef97e882716acb",
"rev": "4eb4fec41674d5b059aa2eedf0f98453890546fa",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-25.11",
"ref": "release-26.05",
"repo": "home-manager",
"type": "github"
}
@ -559,11 +559,11 @@
]
},
"locked": {
"lastModified": 1778393439,
"narHash": "sha256-mOtQxUjtKaPHLeoLOY/YEDctmud1X9KwJr4kE1MJ3Wc=",
"lastModified": 1780816331,
"narHash": "sha256-0BYqs8yKWkOz2Q7+SP18N5E5gmDKSo6LSxIVIa0wWes=",
"owner": "Mic92",
"repo": "nix-index-database",
"rev": "01466c414c7357ae2ce32be4a272a7c69e94ab5f",
"rev": "1a2ea89c917781e88508d9fd2b507f2d2a0e173c",
"type": "github"
},
"original": {
@ -582,16 +582,16 @@
]
},
"locked": {
"lastModified": 1773912645,
"narHash": "sha256-QHzRqq6gh+t3F/QU9DkP7X63dDDcuIQmaDz12p7ANTg=",
"lastModified": 1780704867,
"narHash": "sha256-JuatomIQeXXZhdfEnBid9VoWyh6IfQgTE/FsM94UsRk=",
"owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver",
"rev": "25e6dbb8fca3b6e779c5a46fd03bd760b2165bb5",
"rev": "da29f6cc3d7e15eb7bfdae599918851cbd5ea142",
"type": "gitlab"
},
"original": {
"owner": "simple-nixos-mailserver",
"ref": "nixos-25.11",
"ref": "nixos-26.05",
"repo": "nixos-mailserver",
"type": "gitlab"
}
@ -614,11 +614,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1778869304,
"narHash": "sha256-30sZNZoA1cqF5JNO9fVX+wgiQYjB7HJqqJ4ztCDeBZE=",
"lastModified": 1780749050,
"narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d233902339c02a9c334e7e593de68855ad26c4cb",
"rev": "a799d3e3886da994fa307f817a6bc705ae538eeb",
"type": "github"
},
"original": {
@ -629,11 +629,11 @@
},
"nixpkgsUnstable": {
"locked": {
"lastModified": 1778443072,
"narHash": "sha256-zi7/fsqM/kFdNuED//4WOCUtezGtKKqRNORjMvfwjnA=",
"lastModified": 1780749050,
"narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "da5ad661ba4e5ef59ba743f0d112cbc30e474f32",
"rev": "a799d3e3886da994fa307f817a6bc705ae538eeb",
"type": "github"
},
"original": {
@ -707,16 +707,16 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1778737229,
"narHash": "sha256-6xWoytx8jFW4PF1GjRm/i/53trbpKGfz6zjzQGBr4cI=",
"lastModified": 1780902259,
"narHash": "sha256-q8yYEC5f1mFlQO9RGna4LTc9QrcvWunX6FYp83munkQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d7a713c0b7e47c908258e71cba7a2d77cc8d71d5",
"rev": "bd0ff2d3eac24699c3664d5966b9ef36f388e2ca",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-25.11",
"ref": "nixos-26.05",
"type": "indirect"
}
},
@ -754,16 +754,16 @@
},
"nixpkgs_8": {
"locked": {
"lastModified": 1778737229,
"narHash": "sha256-6xWoytx8jFW4PF1GjRm/i/53trbpKGfz6zjzQGBr4cI=",
"lastModified": 1780734595,
"narHash": "sha256-DmTfP92QFYRLOGXlMIE54MAgxSJjDWocl3gRNOu72Os=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d7a713c0b7e47c908258e71cba7a2d77cc8d71d5",
"rev": "9b696460ac78b5ccfc17c854d8c976f20456e943",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.11",
"ref": "nixos-26.05",
"repo": "nixpkgs",
"type": "github"
}
@ -895,11 +895,11 @@
]
},
"locked": {
"lastModified": 1777944972,
"narHash": "sha256-VfGRo1qTBKOe3s2gOv8LSoA6Fk19PvBlwQ1ECN0Evn8=",
"lastModified": 1780547341,
"narHash": "sha256-Gq8KNx5A7hBB3uGJaj6eQfLDIz5YdLu92gqBcvHvoUo=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "c591bf665727040c6cc5cb409079acb22dcce33c",
"rev": "9ed65852b6257fbeae4355bc24ecfea307ca759a",
"type": "github"
},
"original": {
@ -1040,11 +1040,11 @@
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1775636079,
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
"lastModified": 1780220602,
"narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
"rev": "db947814a175b7ca6ded66e21383d938df01c227",
"type": "github"
},
"original": {
@ -1060,11 +1060,11 @@
"nixpkgsUnstable": "nixpkgsUnstable"
},
"locked": {
"lastModified": 1778909971,
"narHash": "sha256-2NvIPWV3oE9mn/6O4rIh+G8JyrA/QDQ+jWaYA2XUydo=",
"lastModified": 1780902784,
"narHash": "sha256-xqY+ApLpKx8/sVGx6a6Tt1NUqU8FPaNlitR3R396HFo=",
"owner": "vpsfreecz",
"repo": "vpsadminos",
"rev": "d1eef7c80c9f7065d77c6dfba683a01b4eeadef7",
"rev": "a791e6b372bb0fb6c9ffd65383517c140f510f8b",
"type": "github"
},
"original": {

View file

@ -1,10 +1,10 @@
{
description = "My system config";
inputs = {
nixpkgs.url = "nixpkgs/nixos-25.11";
nixpkgs.url = "nixpkgs/nixos-26.05";
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager/release-25.11";
home-manager.url = "github:nix-community/home-manager/release-26.05";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
vpsadminos.url = "github:vpsfreecz/vpsadminos";
@ -26,7 +26,7 @@
};
nixos-mailserver = {
url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-25.11";
url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-26.05";
inputs.nixpkgs.follows = "nixpkgs";
};
@ -83,6 +83,8 @@
inherit system;
config = {
allowUnfree = true;
# TODO: remover minio após migrar os dados
permittedInsecurePackages = [ "minio-2025-10-15T17-29-55Z" ];
};
overlays = old_overlays.all;
};

View file

@ -1,4 +1,8 @@
{ pkgs, ... }:
let
# mesaPkgs = pkgs.unstable.mesa;
mesaPkgs = pkgs;
in
{
boot.initrd.kernelModules = [ "amdgpu" ];
boot.kernelParams = [
@ -12,12 +16,12 @@
# };
# };
hardware.graphics.package = pkgs.unstable.mesa; # Mesa 26 at the time
hardware.graphics.package = mesaPkgs.mesa; # Mesa 26 at the time
hardware.graphics.enable32Bit = true;
hardware.graphics.extraPackages = with pkgs; [
hardware.graphics.extraPackages = with mesaPkgs; [
# libva needs to match `hardware.graphics.package`
unstable.libva
libva
];
}

View file

@ -14,10 +14,6 @@ let
"noatime"
"x-systemd.device-timeout=0"
];
btrfs_ssd = [
"ssd"
"discard=async"
];
in
{
imports = [
@ -67,22 +63,13 @@ in
"zenpower"
];
systemd.sleep.extraConfig = ''
HibernateDelaySec=30s
SuspendState=mem
'';
fileSystems."/mnt/old" = {
device = "/dev/disk/by-label/BTRFS_ROOT";
fsType = "btrfs";
options = [ "nofail" ] ++ btrfs_options ++ btrfs_ssd;
systemd.sleep.settings.Sleep = {
HibernateDelaySec = "30s";
SuspendState = "mem";
};
# boot.initrd.luks.reusePassphrases = true;
boot.initrd.luks.devices = {
"old" = {
bypassWorkqueues = true;
device = "/dev/disk/by-label/CRYPT_ROOT";
};
"data" = {
bypassWorkqueues = true;
device = "/dev/disk/by-label/CRYPT_DATA";
@ -92,16 +79,6 @@ in
# device = "/dev/disk/by-label/CRYPT_BIGBOY";
# };
};
# boot.loader.efi.efiSysMountPoint = "/boot/efi";
# fileSystems."/boot/efi" = {
# device = "/dev/disk/by-label/NIXBOOT";
# fsType = "vfat";
# };
# fileSystems."/home" = {
# device = "/dev/disk/by-label/BTRFS_ROOT";
# fsType = "btrfs";
# options = [ "subvol=home" ] ++ btrfs_options ++ btrfs_ssd;
# };
fileSystems."/home/lelgenio/Downloads/Torrents" = {
device = "/dev/disk/by-label/BTRFS_DATA";
fsType = "btrfs";
@ -129,11 +106,6 @@ in
]
++ btrfs_options;
};
fileSystems."/home/lelgenio/.local/mount/old" = {
device = "/dev/disk/by-label/BTRFS_ROOT";
fsType = "btrfs";
options = [ "nofail" ] ++ btrfs_options ++ btrfs_ssd;
};
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
@ -179,19 +151,4 @@ in
"vm.watermark_scale_factor" = 125;
"vm.page-cluster" = 0;
};
# swap
# fileSystems."/swap" = {
# device = "/dev/disk/by-label/BTRFS_ROOT";
# fsType = "btrfs";
# # Note these options effect the entire BTRFS filesystem and not just this volume,
# # with the exception of `"subvol=swap"`, the other options are repeated in my other `fileSystem` mounts
# options = [ "subvol=swap" ] ++ btrfs_options ++ btrfs_ssd;
# };
# swapDevices = [
# {
# device = "/swap/swapfile";
# size = (1024 * 16) + (1024 * 2); # RAM size + 2 GB
# }
# ];
}

View file

@ -15,27 +15,36 @@ in
virtualisation.docker.enable = true;
services.gitlab-runner = {
enable = true;
settings.concurrent = 4;
settings = {
concurrent = 2;
};
services = {
# runner for building in docker via host's nix-daemon
# nix store will be readable in runner, might be insecure
thoreb-telemetria-nix = mkNixRunner config.sops.secrets."gitlab-runners/thoreb-telemetria-nix".path;
thoreb-itinerario-nix = mkNixRunner config.sops.secrets."gitlab-runners/thoreb-itinerario-nix".path;
# # runner for building in docker via host's nix-daemon
# # nix store will be readable in runner, might be insecure
# thoreb-telemetria-nix = mkNixRunner config.sops.secrets."gitlab-runners/thoreb-telemetria-nix".path;
# thoreb-itinerario-nix = mkNixRunner config.sops.secrets."gitlab-runners/thoreb-itinerario-nix".path;
wopus-gitlab-nix = mkNixRunnerFull {
wopus-gitlab-nix =
(mkNixRunnerFull {
authenticationTokenConfigFile = config.sops.secrets."gitlab-runners/wopus-gitlab-nix".path;
# nixCacheSshPrivateKeyPath = config.sops.secrets."gitlab-runners/wopus-ssh-nix-cache-pk".path;
# nixCacheSshPublicKeyPath = config.sops.secrets."gitlab-runners/wopus-ssh-nix-cache-pub".path;
})
// {
requestConcurrency = 2;
};
default = {
# File should contain at least these two variables:
# `CI_SERVER_URL`
# `CI_SERVER_TOKEN`
authenticationTokenConfigFile = config.sops.secrets."gitlab-runners/docker-images-token".path;
dockerImage = "debian:stable";
dockerPullPolicy = "if-not-present";
};
# default = ({
# # File should contain at least these two variables:
# # `CI_SERVER_URL`
# # `CI_SERVER_TOKEN`
# authenticationTokenConfigFile = config.sops.secrets."gitlab-runners/docker-images-token".path;
# dockerImage = "debian:stable";
# dockerPullPolicy = "if-not-present";
# })
# // {
# requestConcurrency = 4;
# };
};
};
systemd.services.gitlab-runner.serviceConfig.Nice = 10;

View file

@ -71,6 +71,11 @@ rec {
patches = old.patches ++ [ ../patches/sway/fix-hide_cursor-clearing-focus.patch ];
});
};
deluge = prev.deluge.overrideAttrs (old: {
propagatedBuildInputs = old.propagatedBuildInputs ++ [
prev.libappindicator-gtk3
];
});
}
);

View file

@ -11,6 +11,6 @@
# Open kde connect ports
programs.kdeconnect.enable = true;
programs.adb.enable = true;
environment.systemPackages = [ pkgs.android-tools ];
};
}

View file

@ -1,6 +1,6 @@
{ pkgs, ... }:
{ pkgs, config, ... }:
{
services.blueman.enable = true;
services.blueman.enable = config.my.desktop == "sway";
hardware.bluetooth = {
enable = true;
settings = {

View file

@ -13,8 +13,14 @@
programs.steam.extraPackages =
config.fonts.packages
++ (with pkgs; [
# sway cursors
capitaine-cursors
bibata-cursors
# gnome cursors
adwaita-icon-theme
# kde cursors
kdePackages.breeze
mangohud
xdg-user-dirs
gamescope

View file

@ -15,5 +15,11 @@
services.desktopManager.plasma6.enable = true;
# services.xserver.displayManager.autologin.user = "lelgenio";
programs.dconf.enable = true;
hardware.opentabletdriver.enable = lib.mkForce false;
environment.systemPackages = with pkgs; [
kdePackages.partitionmanager
];
};
}

View file

@ -19,14 +19,14 @@ in
obs-studio
imagemagick
mpc
helvum
crosspipe
gimp
inkscape
krita
kdePackages.breeze
kdePackages.kdenlive
pitivi
blender-hip
pkgsRocm.blender
libreoffice
godot_4
];

View file

@ -7,5 +7,6 @@
pulse.enable = true;
alsa.enable = true;
jack.enable = true;
extraLadspaPackages = [ pkgs.rnnoise-plugin ];
};
}

View file

@ -42,6 +42,7 @@
./mpd.nix
./sway
./gnome.nix
./kde.nix
./thunar.nix
./xdg-dirs.nix
inputs.nix-index-database.homeModules.nix-index
@ -52,7 +53,7 @@
];
my = import ./variables.nix // {
sway.enable = true;
# sway.enable = true;
pass.enable = true;
fish.enable = true;
};
@ -125,8 +126,8 @@
kustomize
kubectl-rsh
nodePackages.intelephense
nodePackages.typescript-language-server
intelephense
typescript-language-server
flow # js lsp server
nil # nix lsp server
clang-tools # c/c++ lsp server
@ -156,7 +157,7 @@
sops.age.sshKeyPaths = [ (config.home.homeDirectory + "/.ssh/id_ed25519") ];
xdg.defaultApplications = {
enable = true;
enable = config.my.desktop == "sway";
text-editor = lib.mkDefault "kak.desktop";
image-viewer = lib.mkDefault "pqiv.desktop";
video-player = lib.mkDefault "mpv.desktop";

View file

@ -134,12 +134,14 @@ in
kak-tree-sitter
kak-pager
kak-man-pager
nodePackages.bash-language-server
bash-language-server
shellcheck
shfmt
nixd
emmet-cli
nodePackages.prettier
prettier
pint-fmt
aspell

View file

@ -1,8 +1,6 @@
{ pkgs, lib, ... }:
let
hx-src = pkgs.helix.src;
kts-src = pkgs.unstable.kak-tree-sitter-unwrapped.src;
inherit (pkgs) fetchFromGitHub;
in
with pkgs.tree-sitter-grammars;
{
@ -14,13 +12,6 @@ with pkgs.tree-sitter-grammars;
+ ''
[language.${name}.grammar.source.local]
path = "${vals.parser}"
[language.${name}.grammar]
compile = "cc"
compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."]
compile_flags = ["-O3"]
link = "cc"
link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "typescript.so"]
link_flags = ["-O3"]
[language.${name}.queries.source.local]
path = "${vals.queries}"
[language.${name}.queries]
@ -48,16 +39,7 @@ with pkgs.tree-sitter-grammars;
queries = tree-sitter-javascript + "/queries";
};
typescript = {
parser =
tree-sitter-typescript.overrideAttrs (old: {
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-typescript";
rev = "b1bf4825d9eaa0f3bdeb1e52f099533328acfbdf";
hash = "sha256-oZKit8kScXcOptmT2ckywL5JlAVe+wuwhuj6ThEI5OQ=";
};
})
+ "/parser";
parser = tree-sitter-typescript + "/parser";
queries = kts-src + "/runtime/queries/typescript";
};
};

9
user/kde.nix Normal file
View file

@ -0,0 +1,9 @@
{
pkgs,
lib,
config,
...
}:
lib.mkIf (config.my.desktop == "kde") {
services.gpg-agent.pinentry.package = lib.mkForce pkgs.pinentry-qt;
}

View file

@ -13,6 +13,9 @@ in
config = lib.mkIf cfg.enable {
programs.password-store = {
enable = true;
settings = {
PASSWORD_STORE_DIR = "${config.xdg.dataHome}/password-store";
};
package = pkgs.pass.withExtensions (
ex: with ex; [
pass-otp

View file

@ -8,10 +8,11 @@
# RNNoise is a noise supperssion neural network
# Here we use it as a plugin for pipewire to create a virtual microphone
config = {
home.file = {
".config/pipewire/pipewire.conf.d/99-input-denoising.conf".text = ''
xdg.configFile = {
"pipewire/pipewire.conf.d/99-input-denoising.conf".text = ''
context.modules = [
{ name = libpipewire-module-filter-chain
flags = [ nofail ]
args = {
node.description = "Noise Canceling source"
media.name = "Noise Canceling source"
@ -20,7 +21,7 @@
{
type = ladspa
name = rnnoise
plugin = ${pkgs.rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so
plugin = "librnnoise_ladspa"
label = noise_suppressor_mono
control = {
"VAD Threshold (%)" 0.0
@ -44,9 +45,7 @@
}
]
'';
};
xdg.configFile = {
"pipewire/pipewire.conf.d/99-rtp-sink.conf".text = ''
context.modules = [
{ name = libpipewire-module-rtp-sink
@ -78,9 +77,10 @@
}
]
'';
"systemd/user/pipewire.service.d/override.conf".text = ''
[Service]
ExecStartPre=/usr/bin/env sleep 10s
ExecStartPre=${pkgs.coreutils}/bin/sleep 10s
'';
};
};

View file

@ -118,7 +118,9 @@ in
};
# setup cursor based on home.pointerCursor
seat."*" = {
xcursor_theme = "${config.home.pointerCursor.name} ${toString config.home.pointerCursor.size}";
xcursor_theme = lib.mkIf (
config.home.pointerCursor != null
) "${config.home.pointerCursor.name} ${toString config.home.pointerCursor.size}";
hide_cursor = "when-typing enable";
};
};

View file

@ -2,8 +2,8 @@
{
home.packages = with pkgs; [
_thunar-terminal
(xfce.thunar.override {
thunarPlugins = with pkgs.xfce; [
(thunar.override {
thunarPlugins = [
thunar-volman
thunar-archive-plugin
];

View file

@ -115,7 +115,7 @@ rec {
};
dmenu = "bmenu";
desktop = "sway";
desktop = "kde";
browser = "firefox-devedition";
editor = "kakoune";
}