genesis
This commit is contained in:
commit
a29881aa64
39 changed files with 1079 additions and 0 deletions
17
modules/base/boot.nix
Normal file
17
modules/base/boot.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
flake.modules.nixos.base = {pkgs, ...}: {
|
||||
boot = {
|
||||
loader = {
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
configurationLimit = 10;
|
||||
};
|
||||
|
||||
efi.canTouchEfiVariables = true;
|
||||
timeout = 2;
|
||||
};
|
||||
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
};
|
||||
};
|
||||
}
|
||||
7
modules/base/configuration.nix
Normal file
7
modules/base/configuration.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
flake.modules.nixos.base = {modulesPath, ...}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
};
|
||||
}
|
||||
18
modules/base/doas.nix
Normal file
18
modules/base/doas.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
flake.modules.nixos.base = {
|
||||
security = {
|
||||
doas = {
|
||||
enable = true;
|
||||
extraRules = [
|
||||
{
|
||||
groups = ["wheel"];
|
||||
keepEnv = true;
|
||||
persist = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
sudo.enable = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
45
modules/base/fonts.nix
Normal file
45
modules/base/fonts.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{
|
||||
flake.modules.nixos.base = {pkgs, ...}: {
|
||||
fonts = {
|
||||
packages = with pkgs; [
|
||||
# GUI
|
||||
inter
|
||||
corefonts
|
||||
roboto
|
||||
cantarell-fonts
|
||||
# internationalisation
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-cjk-serif
|
||||
noto-fonts-color-emoji
|
||||
noto-fonts-monochrome-emoji
|
||||
unifont
|
||||
unifont_upper
|
||||
unifont-csur
|
||||
# terminal
|
||||
nerd-fonts.iosevka
|
||||
];
|
||||
|
||||
fontconfig = {
|
||||
antialias = true;
|
||||
subpixel.rgba = "rgb";
|
||||
hinting.enable = true;
|
||||
defaultFonts = {
|
||||
serif = ["Noto Serif"];
|
||||
sansSerif = ["Cantarell"];
|
||||
monospace = ["Iosevka Nerd Font"];
|
||||
emoji = ["Noto Color Emoji"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
flake.modules.nixos.kdePlasma = {
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
services.displayManager.sddm.settings.Theme.Font =
|
||||
lib.concatStrings config.fonts.fontconfig.defaultFonts.sansSerif;
|
||||
};
|
||||
}
|
||||
7
modules/base/locale.nix
Normal file
7
modules/base/locale.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
flake.modules.nixos.base = {
|
||||
time.timeZone = "Asia/Jakarta";
|
||||
i18n.defaultLocale = "en_GB.UTF-8";
|
||||
services.xserver.xkb.layout = "us";
|
||||
};
|
||||
}
|
||||
15
modules/base/nix-ld.nix
Normal file
15
modules/base/nix-ld.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
flake.modules.nixos.base = {pkgs, ...}: {
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
libraries = with pkgs; [
|
||||
fuse
|
||||
e2fsprogs
|
||||
stdenv.cc.cc
|
||||
zlib
|
||||
alsa-lib
|
||||
expat
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
18
modules/base/nix.nix
Normal file
18
modules/base/nix.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
flake.modules.nixos.base = {
|
||||
nix = {
|
||||
settings = {
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
auto-optimise-store = true;
|
||||
};
|
||||
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 14d";
|
||||
};
|
||||
|
||||
optimise.automatic = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
8
modules/base/nixpkgs.nix
Normal file
8
modules/base/nixpkgs.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{self, ...}: {
|
||||
flake.modules.nixos.base = {
|
||||
nixpkgs = {
|
||||
config.allowUnfree = true;
|
||||
overlays = [self.overlays.default];
|
||||
};
|
||||
};
|
||||
}
|
||||
15
modules/base/overlays.nix
Normal file
15
modules/base/overlays.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{inputs, ...}: {
|
||||
perSystem = {
|
||||
pkgs,
|
||||
final,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
overlayAttrs = {
|
||||
unstable = import inputs.nixpkgs-unstable {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
25
modules/base/programs.nix
Normal file
25
modules/base/programs.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
flake.modules.nixos.base = {
|
||||
programs = {
|
||||
fish.enable = true;
|
||||
|
||||
atuin = {
|
||||
enable = true;
|
||||
settings = {
|
||||
sync_address = "https://api.atuin.sh";
|
||||
enter_accept = true;
|
||||
};
|
||||
};
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
config = {
|
||||
init.defaultBranch = "main";
|
||||
advice.defaultBranchName = false;
|
||||
gpg.format = "ssh";
|
||||
commit.gpgSign = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
21
modules/base/services.nix
Normal file
21
modules/base/services.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
flake.modules.nixos.base = {
|
||||
services = {
|
||||
fwupd.enable = true;
|
||||
locate.enable = true;
|
||||
openssh.enable = false;
|
||||
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
security.rtkit.enable = true;
|
||||
|
||||
# ssh-agent user service (SSH_AUTH_SOCK=%t/ssh-agent)
|
||||
programs.ssh.startAgent = true;
|
||||
};
|
||||
}
|
||||
39
modules/base/system-packages.nix
Normal file
39
modules/base/system-packages.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{
|
||||
flake.modules.nixos.base = {pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
nh
|
||||
alejandra
|
||||
git
|
||||
python315
|
||||
# system utils
|
||||
file
|
||||
firmware-updater
|
||||
mtr
|
||||
gnupg
|
||||
ddate
|
||||
testdisk
|
||||
tree
|
||||
wget
|
||||
btop
|
||||
plocate
|
||||
traceroute
|
||||
rlwrap
|
||||
entr
|
||||
unzip
|
||||
ffmpeg
|
||||
imagemagick
|
||||
gnome-disk-utility
|
||||
# oxidised utils
|
||||
fd
|
||||
bat
|
||||
xh
|
||||
tlrc
|
||||
dysk
|
||||
dust
|
||||
hyperfine
|
||||
ripgrep
|
||||
fzf
|
||||
eza
|
||||
];
|
||||
};
|
||||
}
|
||||
Loading…
Reference in a new issue