Add convertible "ludwig"

This commit is contained in:
GHOSCHT 2024-02-02 19:59:41 +01:00
parent f531bfd4a7
commit 041cfc3ec6
Signed by: ghoscht
GPG key ID: 2C2C1C62A5388E82
10 changed files with 205 additions and 4 deletions

View file

@ -76,6 +76,12 @@
./hosts/adalbert ./hosts/adalbert
]; ];
}; };
ludwig = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs outputs vars;};
modules = [
./hosts/ludwig
];
};
}; };
# Standalone home-manager configuration entrypoint # Standalone home-manager configuration entrypoint
@ -89,5 +95,12 @@
]; ];
}; };
}; };
"ghoscht@ludwig" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
extraSpecialArgs = {inherit inputs outputs vars;};
modules = [
./home/ludwig.nix
];
};
}; };
} }

View file

@ -8,6 +8,7 @@
./easyeffects.nix ./easyeffects.nix
./nextcloud.nix ./nextcloud.nix
./flatpak.nix ./flatpak.nix
./notes.nix
]; ];
home.packages = with pkgs; [ home.packages = with pkgs; [
@ -15,6 +16,6 @@
feishin-appimage # self-packaged feishin while electron build fails feishin-appimage # self-packaged feishin while electron build fails
signal-desktop # secure messenger signal-desktop # secure messenger
webcord-vencord # more "privacy friendly" discord client webcord-vencord # more "privacy friendly" discord client
obsidian anki
]; ];
} }

View file

@ -0,0 +1,6 @@
{pkgs, ...}: {
home.packages = with pkgs; [
xournalpp
obsidian
];
}

23
home/ludwig.nix Normal file
View file

@ -0,0 +1,23 @@
{
inputs,
outputs,
...
}: let
in {
imports = [
./global
./features/desktop/awesome
# ./features/desktop/gnome
./features/coding
inputs.nix-colors.homeManagerModules.default
];
colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha;
nixpkgs = {
config = {
permittedInsecurePackages = [
"electron-25.9.0"
];
};
};
}

View file

@ -74,7 +74,6 @@
programs = { programs = {
adb.enable = true; adb.enable = true;
dconf.enable = true; dconf.enable = true;
kdeconnect.enable = true;
}; };
hardware = { hardware = {

View file

@ -4,7 +4,7 @@
pkgs, pkgs,
... ...
}: { }: {
imports = [./pipewire.nix ../printing.nix ./flatpak.nix ./xdg.nix ./xremap.nix]; imports = [./pipewire.nix ../printing.nix ./flatpak.nix ./xremap.nix];
# Enable networking # Enable networking
networking.networkmanager.enable = true; networking.networkmanager.enable = true;

View file

@ -11,6 +11,39 @@
desktopManager.gnome = { desktopManager.gnome = {
enable = true; enable = true;
}; };
libinput.enable = true;
modules = [pkgs.xf86_input_wacom];
wacom.enable = true;
}; };
udev.packages = with pkgs; [
gnome.gnome-settings-daemon
];
};
environment = {
systemPackages = with pkgs; [
# System-Wide Packages
gnome.adwaita-icon-theme
gnome.dconf-editor
gnome.gnome-tweaks
gnomeExtensions.gesture-improvements
];
gnome.excludePackages =
(with pkgs; [
# Ignored Packages
gnome-tour
])
++ (with pkgs.gnome; [
atomix
epiphany
geary
gedit
gnome-characters
gnome-contacts
gnome-initial-setup
hitori
iagno
tali
]);
}; };
} }

View file

@ -6,7 +6,7 @@
fcitx5-gtk fcitx5-gtk
]; ];
}; };
fonts.fonts = with pkgs; [ fonts.packages = with pkgs; [
noto-fonts-cjk-sans noto-fonts-cjk-sans
]; ];
} }

78
hosts/ludwig/default.nix Normal file
View file

@ -0,0 +1,78 @@
# This is your system's configuration file.
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
{
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other NixOS modules here
imports = [
# If you want to use modules your own flake exports (from modules/nixos):
# outputs.nixosModules.example
# Or modules from other flakes (such as nixos-hardware):
inputs.hardware.nixosModules.common-cpu-intel
inputs.hardware.nixosModules.common-pc-ssd
# You can also split up your configuration and import pieces of it here:
# ./users.nix
# Import your generated (nixos-generate-config) hardware configuration
./hardware-configuration.nix
../common/global
../common/optional/desktop/awesome.nix
../common/optional/desktop/gnome.nix
../common/optional/systemd-boot.nix
../common/optional/wireshark.nix
../common/optional/gnome-keyring.nix
../common/optional/docker.nix
../common/optional/desktop/japanese.nix
../common/optional/udisks.nix
../common/optional/tailscale.nix
];
nixpkgs = {
# You can add overlays here
overlays = [
# Add overlays your own flake exports (from overlays and pkgs dir):
outputs.overlays.additions
outputs.overlays.modifications
outputs.overlays.unstable-packages
# You can also add overlays exported from other flakes:
# neovim-nightly-overlay.overlays.default
# Or define it inline, for example:
# (final: prev: {
# hi = final.hello.overrideAttrs (oldAttrs: {
# patches = [ ./change-hello-to-hi.patch ];
# });
# })
];
# Configure your nixpkgs instance
config = {
# Disable if you don't want unfree packages
allowUnfree = true;
};
};
networking.hostName = "ludwig";
programs = {
adb.enable = true;
dconf.enable = true;
};
hardware = {
opengl.enable = true;
opentabletdriver.enable = true;
};
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "23.11";
}

View file

@ -0,0 +1,48 @@
# 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 = ["xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" = {
device = "/dev/disk/by-uuid/e36453a3-629d-4704-a42e-180bf3640722";
fsType = "ext4";
};
boot.initrd.luks.devices = {
"luks-5f04c1e9-c3fe-42fb-97d1-0833bf66435a".device = "/dev/disk/by-uuid/5f04c1e9-c3fe-42fb-97d1-0833bf66435a";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/A2B4-1BBE";
fsType = "vfat";
};
# swapDevices = [
# {device = "/dev/disk/by-uuid/b16f0d66-5aec-4e0e-8162-c8e87e19888c";}
# ];
# 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.wlp0s20f3.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}