mirror of
https://github.com/kmein/niveum
synced 2026-03-30 09:11:10 +02:00
Compare commits
4 Commits
b91dc4ca2f
...
c683890ae6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c683890ae6 | ||
| 295f8257e3 | |||
| 5adc8309f2 | |||
| cd58ea209e |
2
.github/workflows/niveum.yml
vendored
2
.github/workflows/niveum.yml
vendored
@@ -7,7 +7,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
system: [makanek,manakish,kabsa,zaatar,ful,fatteh]
|
system: [makanek,manakish,kabsa,zaatar,ful,fatteh,kibbeh]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Install QEMU (ARM)
|
- name: Install QEMU (ARM)
|
||||||
|
|||||||
@@ -52,6 +52,22 @@ in {
|
|||||||
pkgs.psmisc # for killall, pstree
|
pkgs.psmisc # for killall, pstree
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
security.wrappers = {
|
||||||
|
pmount = {
|
||||||
|
setuid = true;
|
||||||
|
owner = "root";
|
||||||
|
group = "root";
|
||||||
|
source = "${pkgs.pmount}/bin/pmount";
|
||||||
|
};
|
||||||
|
pumount = {
|
||||||
|
setuid = true;
|
||||||
|
owner = "root";
|
||||||
|
group = "root";
|
||||||
|
source = "${pkgs.pmount}/bin/pumount";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
environment.shellAliases = let
|
environment.shellAliases = let
|
||||||
take = pkgs.writers.writeDash "take" ''
|
take = pkgs.writers.writeDash "take" ''
|
||||||
mkdir "$1" && cd "$1"
|
mkdir "$1" && cd "$1"
|
||||||
|
|||||||
@@ -7,10 +7,4 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = [ pkgs.bluetuith ];
|
environment.systemPackages = [ pkgs.bluetuith ];
|
||||||
|
|
||||||
# services.blueman.enable = true;
|
|
||||||
|
|
||||||
# environment.systemPackages = [pkgs.blueman];
|
|
||||||
|
|
||||||
# home-manager.users.me = {services.blueman-applet.enable = true;};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -126,22 +126,6 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
|
||||||
security.wrappers = {
|
|
||||||
pmount = {
|
|
||||||
setuid = true;
|
|
||||||
owner = "root";
|
|
||||||
group = "root";
|
|
||||||
source = "${pkgs.pmount}/bin/pmount";
|
|
||||||
};
|
|
||||||
pumount = {
|
|
||||||
setuid = true;
|
|
||||||
owner = "root";
|
|
||||||
group = "root";
|
|
||||||
source = "${pkgs.pmount}/bin/pumount";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{programs.command-not-found.enable = true;}
|
{programs.command-not-found.enable = true;}
|
||||||
{
|
{
|
||||||
programs.gnupg = {
|
programs.gnupg = {
|
||||||
@@ -255,6 +239,11 @@ in {
|
|||||||
./watson.nix
|
./watson.nix
|
||||||
./wallpaper.nix
|
./wallpaper.nix
|
||||||
./zsh.nix
|
./zsh.nix
|
||||||
|
{
|
||||||
|
home-manager.users.me.home.file.".zshrc".text = ''
|
||||||
|
# nothing to see here
|
||||||
|
'';
|
||||||
|
}
|
||||||
./tor.nix
|
./tor.nix
|
||||||
./stw-berlin.nix
|
./stw-berlin.nix
|
||||||
./mastodon-bot.nix
|
./mastodon-bot.nix
|
||||||
|
|||||||
@@ -126,7 +126,7 @@ in {
|
|||||||
fontconfig.defaultFonts = rec {
|
fontconfig.defaultFonts = rec {
|
||||||
monospace = ["Noto Sans Mono"] ++ emoji;
|
monospace = ["Noto Sans Mono"] ++ emoji;
|
||||||
serif = ["Noto Serif" "Noto Naskh Arabic" "Noto Serif Devanagari"];
|
serif = ["Noto Serif" "Noto Naskh Arabic" "Noto Serif Devanagari"];
|
||||||
sansSerif = ["Noto Sans Display" "Noto Naskh Arabic" "Noto Sans Hebrew" "Noto Sans Devanagari" "Noto Sans CJK JP" "Noto Sans Coptic"];
|
sansSerif = ["Noto Sans Display" "Noto Naskh Arabic" "Noto Sans Hebrew" "Noto Sans Devanagari" "Noto Sans CJK JP" "Noto Sans Coptic" "Noto Sans Syriac Western"];
|
||||||
emoji = ["Noto Color Emoji"];
|
emoji = ["Noto Color Emoji"];
|
||||||
};
|
};
|
||||||
# xelatex fails with woff files
|
# xelatex fails with woff files
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
avestan = ../lib/keyboards/avestan;
|
avestan = ../lib/keyboards/avestan;
|
||||||
gothic = ../lib/keyboards/gothic;
|
gothic = ../lib/keyboards/gothic;
|
||||||
farsi = { code = "ir"; variant = "qwerty"; };
|
farsi = { code = "ir"; variant = "qwerty"; };
|
||||||
|
syriac = { code = "sy"; variant = "syc_phonetic"; };
|
||||||
sanskrit = { code = "in"; variant = "san-kagapa"; };
|
sanskrit = { code = "in"; variant = "san-kagapa"; };
|
||||||
gujarati = {code = "in"; variant = "guj-kagapa"; };
|
gujarati = {code = "in"; variant = "guj-kagapa"; };
|
||||||
urdu = {code = "in"; variant = "urd-phonetic"; };
|
urdu = {code = "in"; variant = "urd-phonetic"; };
|
||||||
|
|||||||
46
configs/neovim.sync-conflict-20250130-092404-AJVBWR2.nix
Normal file
46
configs/neovim.sync-conflict-20250130-092404-AJVBWR2.nix
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
{ pkgs, niveumPackages, config, ... }: {
|
||||||
|
environment.variables.EDITOR = pkgs.lib.mkForce "nvim";
|
||||||
|
environment.shellAliases.vi = "nvim";
|
||||||
|
environment.shellAliases.vim = "nvim";
|
||||||
|
environment.shellAliases.view = "nvim -R";
|
||||||
|
|
||||||
|
home-manager.users.me = {
|
||||||
|
editorconfig = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
"*" = {
|
||||||
|
charset = "utf-8";
|
||||||
|
end_of_line = "lf";
|
||||||
|
trim_trailing_whitespace = true;
|
||||||
|
insert_final_newline = true;
|
||||||
|
indent_style = "space";
|
||||||
|
indent_size = 2;
|
||||||
|
};
|
||||||
|
"*.py" = { indent_size = 4; };
|
||||||
|
Makefile = { indent_style = "tab"; };
|
||||||
|
"*.md" = { trim_trailing_whitespace = false; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [
|
||||||
|
(pkgs.writers.writeDashBin "vim" ''neovim "$@"'')
|
||||||
|
(niveumPackages.vim.override {
|
||||||
|
stylixColors = config.lib.stylix.colors;
|
||||||
|
# colorscheme = "base16-gruvbox-dark-medium";
|
||||||
|
})
|
||||||
|
|
||||||
|
# language servers
|
||||||
|
pkgs.pyright
|
||||||
|
pkgs.haskellPackages.haskell-language-server
|
||||||
|
pkgs.texlab
|
||||||
|
pkgs.nil
|
||||||
|
pkgs.rust-analyzer
|
||||||
|
pkgs.nodePackages.typescript-language-server
|
||||||
|
pkgs.lua-language-server
|
||||||
|
pkgs.nodePackages.vscode-langservers-extracted
|
||||||
|
pkgs.lemminx
|
||||||
|
niveumPackages.jq-lsp
|
||||||
|
pkgs.dhall-lsp-server
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -2,11 +2,10 @@
|
|||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: let
|
||||||
home-manager.users.me.home.file.".zshrc".text = ''
|
promptColours.success = "cyan";
|
||||||
# nothing to see here
|
promptColours.failure = "red";
|
||||||
'';
|
in {
|
||||||
|
|
||||||
environment.systemPackages = [pkgs.atuin];
|
environment.systemPackages = [pkgs.atuin];
|
||||||
environment.variables.ATUIN_CONFIG_DIR = toString (pkgs.writeTextDir "/config.toml" ''
|
environment.variables.ATUIN_CONFIG_DIR = toString (pkgs.writeTextDir "/config.toml" ''
|
||||||
auto_sync = true
|
auto_sync = true
|
||||||
@@ -58,7 +57,7 @@
|
|||||||
|
|
||||||
fpath=(${zsh-completions}/src $fpath)
|
fpath=(${zsh-completions}/src $fpath)
|
||||||
'';
|
'';
|
||||||
promptInit = with config.niveum; ''
|
promptInit = ''
|
||||||
autoload -Uz vcs_info
|
autoload -Uz vcs_info
|
||||||
zstyle ':vcs_info:*' enable git
|
zstyle ':vcs_info:*' enable git
|
||||||
zstyle ':vcs_info:*' check-for-changes true
|
zstyle ':vcs_info:*' check-for-changes true
|
||||||
|
|||||||
11
flake.nix
11
flake.nix
@@ -111,6 +111,7 @@
|
|||||||
tabula = "root@tabula";
|
tabula = "root@tabula";
|
||||||
kabsa = "root@kabsa";
|
kabsa = "root@kabsa";
|
||||||
fatteh = "root@fatteh";
|
fatteh = "root@fatteh";
|
||||||
|
kibbeh = "root@kibbeh";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
lib.attrsets.nameValuePair "deploy-${hostname}" {
|
lib.attrsets.nameValuePair "deploy-${hostname}" {
|
||||||
@@ -227,7 +228,15 @@
|
|||||||
specialArgs = niveumSpecialArgs system;
|
specialArgs = niveumSpecialArgs system;
|
||||||
modules = [
|
modules = [
|
||||||
systems/zaatar/configuration.nix
|
systems/zaatar/configuration.nix
|
||||||
inputs.self.nixosModules.moodle-dl
|
agenix.nixosModules.default
|
||||||
|
retiolum.nixosModules.retiolum
|
||||||
|
];
|
||||||
|
};
|
||||||
|
kibbeh = nixpkgs.lib.nixosSystem rec {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
specialArgs = niveumSpecialArgs system;
|
||||||
|
modules = [
|
||||||
|
systems/kibbeh/configuration.nix
|
||||||
agenix.nixosModules.default
|
agenix.nixosModules.default
|
||||||
retiolum.nixosModules.retiolum
|
retiolum.nixosModules.retiolum
|
||||||
];
|
];
|
||||||
|
|||||||
2
secrets
2
secrets
Submodule secrets updated: d5ff5eef81...04f66a7296
@@ -20,8 +20,6 @@ in {
|
|||||||
promptColours.success = "cyan";
|
promptColours.success = "cyan";
|
||||||
};
|
};
|
||||||
|
|
||||||
stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/dracula.yaml";
|
|
||||||
|
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
cores = 1;
|
cores = 1;
|
||||||
max-jobs = 2;
|
max-jobs = 2;
|
||||||
|
|||||||
106
systems/kibbeh/configuration.nix
Normal file
106
systems/kibbeh/configuration.nix
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
{ config, pkgs, niveumPackages, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../configs/spacetime.nix
|
||||||
|
../../configs/admin-essentials.nix
|
||||||
|
../../configs/keyboard.nix
|
||||||
|
../../configs/sound.nix
|
||||||
|
../../configs/printing.nix
|
||||||
|
../../configs/nix.nix
|
||||||
|
../../configs/flix.nix
|
||||||
|
../../configs/fonts.nix
|
||||||
|
../../configs/retiolum.nix
|
||||||
|
../../configs/sshd.nix
|
||||||
|
../../configs/sudo.nix
|
||||||
|
../../configs/zsh.nix
|
||||||
|
../../configs/tor.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
age.secrets = {
|
||||||
|
retiolum-rsa = {
|
||||||
|
file = ../../secrets/kibbeh-retiolum-privateKey-rsa.age;
|
||||||
|
mode = "400";
|
||||||
|
owner = "tinc-retiolum";
|
||||||
|
group = "tinc-retiolum";
|
||||||
|
};
|
||||||
|
retiolum-ed25519 = {
|
||||||
|
file = ../../secrets/kibbeh-retiolum-privateKey-ed25519.age;
|
||||||
|
mode = "400";
|
||||||
|
owner = "tinc-retiolum";
|
||||||
|
group = "tinc-retiolum";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.gnome.gnome-keyring.enable = true;
|
||||||
|
security.pam.services.lightdm.enableGnomeKeyring = true;
|
||||||
|
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
services.openssh.enable = true;
|
||||||
|
|
||||||
|
boot.initrd.luks.devices."luks-b3988d35-72a9-4e7c-992d-f500bb388554".device =
|
||||||
|
"/dev/disk/by-uuid/b3988d35-72a9-4e7c-992d-f500bb388554";
|
||||||
|
|
||||||
|
networking.hostName = "kibbeh";
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "de_DE.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "de_DE.UTF-8";
|
||||||
|
LC_MEASUREMENT = "de_DE.UTF-8";
|
||||||
|
LC_MONETARY = "de_DE.UTF-8";
|
||||||
|
LC_NAME = "de_DE.UTF-8";
|
||||||
|
LC_NUMERIC = "de_DE.UTF-8";
|
||||||
|
LC_PAPER = "de_DE.UTF-8";
|
||||||
|
LC_TELEPHONE = "de_DE.UTF-8";
|
||||||
|
LC_TIME = "de_DE.UTF-8";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.xserver.enable = true;
|
||||||
|
services.xserver.displayManager.lightdm.enable = true;
|
||||||
|
services.xserver.desktopManager.pantheon.enable = true;
|
||||||
|
# services.displayManager.autoLogin.enable = true;
|
||||||
|
# services.displayManager.autoLogin.user = config.users.users.me.name;
|
||||||
|
|
||||||
|
age.secrets = {
|
||||||
|
di-fm-key.file = ../../secrets/di-fm-key.age;
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.me = {
|
||||||
|
name = "kfm";
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "किरण";
|
||||||
|
extraGroups = [ "networkmanager" ];
|
||||||
|
password = "hackme";
|
||||||
|
packages = with pkgs; [
|
||||||
|
# packages TODO
|
||||||
|
firefox
|
||||||
|
thunderbird
|
||||||
|
alacritty
|
||||||
|
tor-browser-bundle-bin
|
||||||
|
zathura
|
||||||
|
okular
|
||||||
|
anki-bin
|
||||||
|
libreoffice
|
||||||
|
xournalpp
|
||||||
|
jellyfin-media-player
|
||||||
|
niveumPackages.mpv-tv
|
||||||
|
(niveumPackages.mpv-radio.override { di-fm-key-file = config.age.secrets.di-fm-key.path; })
|
||||||
|
niveumPackages.meteo
|
||||||
|
spotify
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
htop
|
||||||
|
git
|
||||||
|
vim
|
||||||
|
(niveumPackages.vim.override { colorscheme = "base16-gruvbox-dark-medium"; })
|
||||||
|
];
|
||||||
|
|
||||||
|
system.stateVersion = "23.11";
|
||||||
|
}
|
||||||
43
systems/kibbeh/hardware-configuration.nix
Normal file
43
systems/kibbeh/hardware-configuration.nix
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "usb_storage" "sd_mod" "sdhci_pci" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/ecab6acb-66f1-41c9-8281-59c76cf8f0c6";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.initrd.luks.devices."luks-16a8b3b0-5e0a-4d36-920c-eb6322a3c181".device = "/dev/disk/by-uuid/16a8b3b0-5e0a-4d36-920c-eb6322a3c181";
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/8066-63C2";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/8cebdb17-4f2e-4750-8e91-71aa942bdfde"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp0s25.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wwp0s29u1u4i6.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user