This commit is contained in:
Leonardo Eugênio 2025-02-21 20:13:11 -03:00
parent b9654290c1
commit e7d965d9bf
9 changed files with 80 additions and 53 deletions

17
system/android.nix Normal file
View file

@ -0,0 +1,17 @@
{
config,
pkgs,
lib,
...
}:
{
options.my.android.enable = lib.mkEnableOption { };
config = lib.mkIf config.my.android.enable {
# Open kde connect ports
programs.kdeconnect.enable = true;
programs.adb.enable = true;
services.udev.packages = [ pkgs.android-udev-rules ];
};
}

View file

@ -2,7 +2,6 @@
config, config,
pkgs, pkgs,
lib, lib,
inputs,
... ...
}: }:
{ {

View file

@ -1,14 +1,10 @@
# Edit this configuration file to define what should be installed on # Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ { pkgs, ... }:
config,
pkgs,
inputs,
...
}:
{ {
imports = [ imports = [
./android.nix
./gaming.nix ./gaming.nix
./media-packages.nix ./media-packages.nix
./boot.nix ./boot.nix
@ -25,39 +21,27 @@
../settings ../settings
]; ];
my = import ../user/variables.nix; my = import ../user/variables.nix // {
android.enable = true;
media-packages.enable = true;
containers.enable = true;
};
zramSwap.enable = true; zramSwap.enable = true;
programs.adb.enable = true;
services.udev.packages = [ pkgs.android-udev-rules ];
# Enable touchpad support (enabled default in most desktopManager). # Enable touchpad support (enabled default in most desktopManager).
services.libinput.enable = true; services.libinput.enable = true;
packages.media-packages.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
pavucontrol pavucontrol
glib # gsettings glib # gsettings
usbutils usbutils
# dracula-theme # gtk theme
adwaita-icon-theme # default gnome cursors adwaita-icon-theme # default gnome cursors
nix-output-monitor
]; ];
services.geoclue2.enable = true; services.geoclue2.enable = true;
# Workaround for nm-wait-online hanging??
# Ref: https://github.com/NixOS/nixpkgs/issues/180175
systemd.services.NetworkManager-wait-online = {
serviceConfig.ExecStart = [
""
"${pkgs.networkmanager}/bin/nm-online -q"
];
};
systemd.extraConfig = '' systemd.extraConfig = ''
DefaultTimeoutStopSec=10s DefaultTimeoutStopSec=10s
''; '';

View file

@ -1,30 +1,39 @@
{ pkgs, lib, ... }:
{ {
services.flatpak.enable = true; pkgs,
lib,
config,
...
}:
{
options.my.containers.enable = lib.mkEnableOption { };
virtualisation.docker = { config = lib.mkIf config.my.containers.enable {
enable = true; services.flatpak.enable = true;
autoPrune = {
virtualisation.docker = {
enable = true; enable = true;
dates = "monthly"; autoPrune = {
flags = [ enable = true;
"--all" dates = "monthly";
"--volumes" flags = [
]; "--all"
}; "--volumes"
daemon.settings = { ];
# needed by bitbucket runner ??? };
log-driver = "json-file"; daemon.settings = {
log-opts = { # needed by bitbucket runner ???
max-size = "10m"; log-driver = "json-file";
max-file = "3"; log-opts = {
max-size = "10m";
max-file = "3";
};
}; };
}; };
networking.firewall.extraCommands = lib.getExe pkgs._docker-block-external-connections;
programs.extra-container.enable = true;
programs.firejail.enable = true;
}; };
networking.firewall.extraCommands = lib.getExe pkgs._docker-block-external-connections;
programs.extra-container.enable = true;
programs.firejail.enable = true;
} }

View file

@ -5,10 +5,10 @@
... ...
}: }:
let let
cfg = config.packages.media-packages; cfg = config.my.media-packages;
in in
{ {
options.packages.media-packages = { options.my.media-packages = {
enable = lib.mkEnableOption "media packages"; enable = lib.mkEnableOption "media packages";
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {

View file

@ -6,8 +6,6 @@
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking # Enable networking
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
# Open kde connect ports
programs.kdeconnect.enable = true;
networking.firewall = { networking.firewall = {
enable = true; enable = true;
@ -15,7 +13,7 @@
}; };
# Enable CUPS to print documents. # Enable CUPS to print documents.
# services.printing.enable = true; services.printing.enable = true;
security.rtkit.enable = true; security.rtkit.enable = true;
services.openssh = { services.openssh = {
@ -27,4 +25,13 @@
KbdInteractiveAuthentication = false; KbdInteractiveAuthentication = false;
}; };
}; };
# Workaround for nm-wait-online hanging??
# Ref: https://github.com/NixOS/nixpkgs/issues/180175
systemd.services.NetworkManager-wait-online = {
serviceConfig.ExecStart = [
""
"${pkgs.networkmanager}/bin/nm-online -q"
];
};
} }

8
user/dummy.nix Normal file
View file

@ -0,0 +1,8 @@
{ lib, ... }:
{
options.my = {
android.enable = lib.mkEnableOption { };
media-packages.enable = lib.mkEnableOption { };
containers.enable = lib.mkEnableOption { };
};
}

View file

@ -8,6 +8,7 @@
}: }:
{ {
imports = [ imports = [
./dummy.nix
./waybar ./waybar
./helix.nix ./helix.nix
./kakoune ./kakoune
@ -127,6 +128,8 @@
unstable.blade-formatter unstable.blade-formatter
nixfmt-rfc-style nixfmt-rfc-style
nix-output-monitor
]; ];
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;

View file

@ -73,7 +73,7 @@ in
}; };
output = { output = {
"*" = { "*" = {
adaptive_sync = "off"; adaptive_sync = "on";
bg = "${theme.background} fill"; bg = "${theme.background} fill";
mode = "1920x1080@144.000Hz"; mode = "1920x1080@144.000Hz";
}; };