added nix
This commit is contained in:
parent
5d57a52a22
commit
1c638568d3
2
.gitignore
vendored
2
.gitignore
vendored
@ -3,3 +3,5 @@
|
|||||||
**/*.log
|
**/*.log
|
||||||
**/logs
|
**/logs
|
||||||
**/tmp/
|
**/tmp/
|
||||||
|
/.git
|
||||||
|
/.yolk_git
|
||||||
|
|||||||
@ -1,2 +1,2 @@
|
|||||||
DejaVu Sans Condensed;DejaVu Sans Mono;DejaVuSansM Nerd Font;DejaVu Sans Condensed
|
DejaVu Sans Condensed;DejaVuSansM Nerd Font;DejaVu Sans Mono;DejaVu Sans Condensed
|
||||||
|
|
||||||
|
|||||||
BIN
eggs/libreoffice/4/user/pack/ExtensionInfo.pack
Executable file → Normal file
BIN
eggs/libreoffice/4/user/pack/ExtensionInfo.pack
Executable file → Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
16
eggs/thunar/thunar/renamerrc
Normal file
16
eggs/thunar/thunar/renamerrc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
[Configuration]
|
||||||
|
LastActiveMode=THUNAR_RENAMER_MODE_NAME
|
||||||
|
LastActiveRenamer=ThunarSbrReplaceRenamer
|
||||||
|
|
||||||
|
[ThunarSbrInsertRenamer]
|
||||||
|
Offset=0
|
||||||
|
Text=ads_rsa
|
||||||
|
Mode=THUNAR_SBR_INSERT_MODE_OVERWRITE
|
||||||
|
OffsetMode=THUNAR_SBR_OFFSET_MODE_LEFT
|
||||||
|
|
||||||
|
[ThunarSbrReplaceRenamer]
|
||||||
|
CaseSensitive=FALSE
|
||||||
|
Replacement=ads_rsa
|
||||||
|
Pattern=default_key
|
||||||
|
Regexp=FALSE
|
||||||
|
|
||||||
@ -6,7 +6,7 @@
|
|||||||
<property name="last-window-maximized" type="bool" value="true"/>
|
<property name="last-window-maximized" type="bool" value="true"/>
|
||||||
<property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_38_PERCENT"/>
|
<property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_38_PERCENT"/>
|
||||||
<property name="last-details-view-visible-columns" type="string" value="THUNAR_COLUMN_DATE_MODIFIED,THUNAR_COLUMN_GROUP,THUNAR_COLUMN_MIME_TYPE,THUNAR_COLUMN_NAME,THUNAR_COLUMN_OWNER,THUNAR_COLUMN_PERMISSIONS,THUNAR_COLUMN_SIZE"/>
|
<property name="last-details-view-visible-columns" type="string" value="THUNAR_COLUMN_DATE_MODIFIED,THUNAR_COLUMN_GROUP,THUNAR_COLUMN_MIME_TYPE,THUNAR_COLUMN_NAME,THUNAR_COLUMN_OWNER,THUNAR_COLUMN_PERMISSIONS,THUNAR_COLUMN_SIZE"/>
|
||||||
<property name="last-details-view-column-widths" type="string" value="159,159,159,127,92,1576,74,188,514,214,118,90,126,156"/>
|
<property name="last-details-view-column-widths" type="string" value="159,159,159,127,92,1576,74,219,953,79,118,81,126,156"/>
|
||||||
<property name="last-separator-position" type="int" value="147"/>
|
<property name="last-separator-position" type="int" value="147"/>
|
||||||
<property name="last-show-hidden" type="bool" value="true"/>
|
<property name="last-show-hidden" type="bool" value="true"/>
|
||||||
<property name="misc-single-click" type="bool" value="false"/>
|
<property name="misc-single-click" type="bool" value="false"/>
|
||||||
@ -32,7 +32,8 @@
|
|||||||
<property name="misc-folder-item-count" type="string" value="THUNAR_FOLDER_ITEM_COUNT_ALWAYS"/>
|
<property name="misc-folder-item-count" type="string" value="THUNAR_FOLDER_ITEM_COUNT_ALWAYS"/>
|
||||||
<property name="last-details-view-column-order" type="string" value="THUNAR_COLUMN_NAME,THUNAR_COLUMN_DATE_MODIFIED,THUNAR_COLUMN_SIZE,THUNAR_COLUMN_SIZE_IN_BYTES,THUNAR_COLUMN_TYPE,THUNAR_COLUMN_LOCATION,THUNAR_COLUMN_MIME_TYPE,THUNAR_COLUMN_DATE_CREATED,THUNAR_COLUMN_PERMISSIONS,THUNAR_COLUMN_OWNER,THUNAR_COLUMN_GROUP,THUNAR_COLUMN_DATE_ACCESSED,THUNAR_COLUMN_RECENCY,THUNAR_COLUMN_DATE_DELETED"/>
|
<property name="last-details-view-column-order" type="string" value="THUNAR_COLUMN_NAME,THUNAR_COLUMN_DATE_MODIFIED,THUNAR_COLUMN_SIZE,THUNAR_COLUMN_SIZE_IN_BYTES,THUNAR_COLUMN_TYPE,THUNAR_COLUMN_LOCATION,THUNAR_COLUMN_MIME_TYPE,THUNAR_COLUMN_DATE_CREATED,THUNAR_COLUMN_PERMISSIONS,THUNAR_COLUMN_OWNER,THUNAR_COLUMN_GROUP,THUNAR_COLUMN_DATE_ACCESSED,THUNAR_COLUMN_RECENCY,THUNAR_COLUMN_DATE_DELETED"/>
|
||||||
<property name="last-tabs-left" type="array">
|
<property name="last-tabs-left" type="array">
|
||||||
<value type="string" value="file:///home/someone"/>
|
<value type="string" value="file:///home/someone/.ssh"/>
|
||||||
|
<value type="string" value="file:///mnt/DT01ACA1/saveMe/.ssh"/>
|
||||||
</property>
|
</property>
|
||||||
<property name="last-focused-tab-left" type="int" value="0"/>
|
<property name="last-focused-tab-left" type="int" value="0"/>
|
||||||
<property name="last-focused-tab-right" type="int" value="0"/>
|
<property name="last-focused-tab-right" type="int" value="0"/>
|
||||||
|
|||||||
9
include_nix.sh
Executable file
9
include_nix.sh
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
echo "Copying files..."
|
||||||
|
cd $HOME/.config/yolk
|
||||||
|
rm -rf root-conf/nixos >/dev/null 2>&1
|
||||||
|
cp -r /etc/nixos root-conf/
|
||||||
|
echo "New structure"
|
||||||
|
yolk git add root-conf/nixos
|
||||||
|
yolk git --no-pager diff --minimal HEAD -- root-conf/nixos
|
||||||
307
root-conf/nixos/configuration.nix
Normal file
307
root-conf/nixos/configuration.nix
Normal file
@ -0,0 +1,307 @@
|
|||||||
|
|
||||||
|
# Edit this configuration file to define what should be installed on your system. Help is available in the configuration.nix(5) man page and in the NixOS manual
|
||||||
|
# (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
|
{ config, pkgs, pkgs-unstable, ... }:
|
||||||
|
let
|
||||||
|
optionalPkgs = import ./optional-packages.nix { inherit pkgs; };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ # Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
./device-specific.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enable nix flakes
|
||||||
|
nix.settings.experimental-features = ["nix-command" "flakes" ];
|
||||||
|
|
||||||
|
# Hybrantion
|
||||||
|
boot.resumeDevice = "/dev/disk/by-uuid/1942318f-792a-4c0c-9b42-6e146d835bd7";
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
boot.supportedFilesystems = [ "ntfs" ];
|
||||||
|
|
||||||
|
# Allow user to rw
|
||||||
|
services.udev.extraRules = ''
|
||||||
|
KERNEL=="ttyACM0", MODE:="666"
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Enable openrgb
|
||||||
|
services.hardware.openrgb.enable = true;
|
||||||
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
|
||||||
|
# Configure network proxy if necessary
|
||||||
|
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||||
|
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostName = "nixMain";
|
||||||
|
networkmanager.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall = {
|
||||||
|
enable = true;
|
||||||
|
allowedTCPPorts = [ 80 443 5000 5001 ];
|
||||||
|
allowedUDPPortRanges = [
|
||||||
|
{ from = 4000; to = 4007; }
|
||||||
|
{ from = 8000; to = 8010; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "en_GB.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";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
services.xserver.xkb = {
|
||||||
|
layout = "gb";
|
||||||
|
variant = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configure console keymap
|
||||||
|
console.keyMap = "uk";
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
users.users.someone = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "someone";
|
||||||
|
extraGroups = [ "wheel" "docker" "libvirtd" ];
|
||||||
|
packages = with pkgs; [];
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
};
|
||||||
|
users.users.another = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "another";
|
||||||
|
extraGroups = [];
|
||||||
|
packages = with pkgs; [];
|
||||||
|
shell = pkgs.bash;
|
||||||
|
};
|
||||||
|
# Use lemurs as display manager
|
||||||
|
services.displayManager.ly = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
tty = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Docker
|
||||||
|
virtualisation.docker.enable = true;
|
||||||
|
virtualisation.docker.storageDriver = "btrfs";
|
||||||
|
# Added docker group to user
|
||||||
|
|
||||||
|
# Libvirt
|
||||||
|
virtualisation.libvirtd = {
|
||||||
|
enable = true;
|
||||||
|
qemu = {
|
||||||
|
package = pkgs.qemu_kvm;
|
||||||
|
runAsRoot = true;
|
||||||
|
swtpm.enable = true;
|
||||||
|
ovmf = {
|
||||||
|
enable = true;
|
||||||
|
packages = [(pkgs.OVMF.override {
|
||||||
|
secureBoot = true;
|
||||||
|
tpmSupport = true;
|
||||||
|
}).fd];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
virtualisation.spiceUSBRedirection.enable = true;
|
||||||
|
# Added user to the libvirtd group
|
||||||
|
|
||||||
|
# Add zsh
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
autosuggestions.enable = true;
|
||||||
|
syntaxHighlighting.enable = true;
|
||||||
|
|
||||||
|
shellAliases = {
|
||||||
|
ll = "ls -l";
|
||||||
|
update = "sudo nixos-rebuild switch";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Desktop enviorment
|
||||||
|
programs.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
withUWSM = false; # Universal Wayland Session Manage, ly dosnt like this
|
||||||
|
xwayland.enable = true; # Xwayland can be disabled.
|
||||||
|
};
|
||||||
|
|
||||||
|
# https://discourse.nixos.org/t/unable-to-add-new-library-folder-to-steam/38923/9
|
||||||
|
# xdg.portal = {
|
||||||
|
# enable = true;
|
||||||
|
# extraPortals = with pkgs; [xdg-desktop-portal-gtk];
|
||||||
|
# config = {
|
||||||
|
# common.default = ["gtk"];
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
|
# Additional steam settings
|
||||||
|
programs.steam = {
|
||||||
|
enable = true;
|
||||||
|
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||||
|
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
||||||
|
#localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
||||||
|
};
|
||||||
|
|
||||||
|
# Thunar file manager
|
||||||
|
programs.thunar.enable = true;
|
||||||
|
programs.xfconf.enable = true; # Neded to save preferances
|
||||||
|
programs.thunar.plugins = with pkgs.xfce; [
|
||||||
|
thunar-archive-plugin
|
||||||
|
];
|
||||||
|
services.gvfs.enable = true; # Mount, trash, and other functionalities
|
||||||
|
services.tumbler.enable = true; # Thumbnail support for images
|
||||||
|
|
||||||
|
# Allow unfree packages
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
# List packages installed in system profile. To search, run:
|
||||||
|
# $ nix search wget
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
polkit
|
||||||
|
libsecret # needet by gnnnome keyring
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
xdg-utils
|
||||||
|
shared-mime-info
|
||||||
|
xwayland
|
||||||
|
wget
|
||||||
|
librewolf
|
||||||
|
kitty
|
||||||
|
copyq
|
||||||
|
distrobox
|
||||||
|
virt-manager
|
||||||
|
virtiofsd
|
||||||
|
distrobox
|
||||||
|
dunst
|
||||||
|
htop
|
||||||
|
nvtopPackages.full
|
||||||
|
nwg-drawer
|
||||||
|
rofi-wayland
|
||||||
|
swaylock
|
||||||
|
waybar
|
||||||
|
dconf
|
||||||
|
hyprpolkitagent
|
||||||
|
jq
|
||||||
|
bc
|
||||||
|
tree
|
||||||
|
unzip
|
||||||
|
adwaita-icon-theme
|
||||||
|
hyprpicker
|
||||||
|
hypridle
|
||||||
|
playerctl
|
||||||
|
pwvucontrol
|
||||||
|
|
||||||
|
# Coms
|
||||||
|
discord-ptb
|
||||||
|
freecad
|
||||||
|
gimp
|
||||||
|
libreoffice-qt6-fresh
|
||||||
|
hyphenDicts.de_DE
|
||||||
|
nextcloud-client
|
||||||
|
qimgv
|
||||||
|
vlc
|
||||||
|
rawtherapee
|
||||||
|
vscode
|
||||||
|
git
|
||||||
|
python3
|
||||||
|
vim
|
||||||
|
rnote
|
||||||
|
spotify
|
||||||
|
blender
|
||||||
|
file-roller # GUI arciver, support for thunar-arcive
|
||||||
|
starship # zsh greeter
|
||||||
|
fzf # terminal fuzzy finder
|
||||||
|
seahorse # Gnome keyring viewer
|
||||||
|
yazi
|
||||||
|
pkgs-unstable.orca-slicer
|
||||||
|
pkgs-unstable.video-downloader
|
||||||
|
|
||||||
|
bind # nsutils
|
||||||
|
grim # screenshot
|
||||||
|
slurp # area selectionn
|
||||||
|
swappy # draw on pic
|
||||||
|
wl-clipboard
|
||||||
|
python312Packages.pillow # pic manipulation
|
||||||
|
|
||||||
|
# Theme
|
||||||
|
catppuccin-cursors.frappeMauve
|
||||||
|
libsForQt5.qt5ct
|
||||||
|
qt6ct
|
||||||
|
hyprpaper
|
||||||
|
lxappearance
|
||||||
|
|
||||||
|
# Games
|
||||||
|
heroic
|
||||||
|
steam
|
||||||
|
] ++ optionalPkgs;
|
||||||
|
|
||||||
|
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
nerdfonts
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
#Enviormant
|
||||||
|
# needet for electron apps under wayland
|
||||||
|
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||||
|
|
||||||
|
# Enable auth polkit
|
||||||
|
security.polkit.enable = true;
|
||||||
|
# Walet, needet for nextcloud login
|
||||||
|
services.gnome.gnome-keyring.enable = true;
|
||||||
|
|
||||||
|
security.pam.services.ly.enableGnomeKeyring = true;
|
||||||
|
|
||||||
|
# Required for non native linked programms
|
||||||
|
# https://nix.dev/guides/faq#how-to-run-non-nix-executables
|
||||||
|
programs.nix-ld.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
# started in user sessions.
|
||||||
|
# programs.mtr.enable = true;
|
||||||
|
|
||||||
|
# programs.gnupg.agent = {
|
||||||
|
# enable = true;
|
||||||
|
# enableSSHSupport = true;
|
||||||
|
# };
|
||||||
|
|
||||||
|
# List services that you want to enable:
|
||||||
|
|
||||||
|
# Enable the OpenSSH daemon.
|
||||||
|
# services.openssh.enable = true;
|
||||||
|
|
||||||
|
# Open ports in the firewall.
|
||||||
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
|
# Or disable the firewall altogether.
|
||||||
|
# networking.firewall.enable = false;
|
||||||
|
|
||||||
|
# This value determines the NixOS release from which the default
|
||||||
|
# settings for stateful data, like file locations and database versions
|
||||||
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
# this value at the release version of the first install of this system.
|
||||||
|
# Before changing this value read the documentation for this option
|
||||||
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
|
system.stateVersion = "24.11"; # Did you read the comment?
|
||||||
|
|
||||||
|
}
|
||||||
33
root-conf/nixos/device-specific.nix
Normal file
33
root-conf/nixos/device-specific.nix
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
{
|
||||||
|
fileSystems."/mnt/DT01ACA3" = {
|
||||||
|
device = "/dev/disk/by-uuid/0E6A9C824AF7FF42";
|
||||||
|
fsType = "ntfs";
|
||||||
|
options = [
|
||||||
|
"users" # Allows any user to mount and unmount
|
||||||
|
"nofail" # Prevent system from failing if this drive doesn't mount
|
||||||
|
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/mnt/DT01ACA1" = {
|
||||||
|
device = "/dev/disk/by-uuid/73b9766b-b5cc-4801-8d64-1445190f33ee";
|
||||||
|
fsType = "ext4";
|
||||||
|
options = [
|
||||||
|
"users" # Allows any user to mount and unmount
|
||||||
|
"nofail" # Prevent system from failing if this drive doesn't mount
|
||||||
|
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
fileSystems."/mnt/SDSSDP25" = {
|
||||||
|
device = "/dev/disk/by-uuid/080c6cde-6a90-45ad-bd63-ed79d53b75f9";
|
||||||
|
fsType = "ext4";
|
||||||
|
options = [
|
||||||
|
"users" # Allows any user to mount and unmount
|
||||||
|
"nofail" # Prevent system from failing if this drive doesn't mount
|
||||||
|
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
44
root-conf/nixos/flake.lock
generated
Normal file
44
root-conf/nixos/flake.lock
generated
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"pkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1746557022,
|
||||||
|
"narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "1d3aeb5a193b9ff13f63f4d9cc169fb88129f860",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-24.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pkgs-unstable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1746663147,
|
||||||
|
"narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "dda3dcd3fe03e991015e9a74b22d35950f264a54",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"pkgs": "pkgs",
|
||||||
|
"pkgs-unstable": "pkgs-unstable"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
22
root-conf/nixos/flake.nix
Normal file
22
root-conf/nixos/flake.nix
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
description = "System building flake";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
pkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
|
||||||
|
pkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, pkgs, pkgs-unstable }:
|
||||||
|
let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
in {
|
||||||
|
nixosConfigurations.nixMain = pkgs.lib.nixosSystem {
|
||||||
|
inherit system;
|
||||||
|
specialArgs = {
|
||||||
|
pkgs-unstable = import pkgs-unstable { inherit system; };
|
||||||
|
};
|
||||||
|
modules = [ ../configuration.nix ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
42
root-conf/nixos/hardware-configuration.nix
Normal file
42
root-conf/nixos/hardware-configuration.nix
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
# 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" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/4b53ce3e-72b3-4ea4-8656-e90b48da3b65";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=@" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/9810-0A10";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/1942318f-792a-4c0c-9b42-6e146d835bd7"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# 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.enp6s0.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp5s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
||||||
40
root-conf/nixos/local-pkgs/yolk/default.nix
Normal file
40
root-conf/nixos/local-pkgs/yolk/default.nix
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{ pkgs }:
|
||||||
|
pkgs.stdenv.mkDerivation rec {
|
||||||
|
pname = "yolk";
|
||||||
|
version = "0.3.4";
|
||||||
|
|
||||||
|
src = pkgs.fetchurl {
|
||||||
|
url = "https://github.com/elkowar/yolk/releases/download/v${version}/yolk_dots-x86_64-unknown-linux-gnu.tar.xz";
|
||||||
|
hash = "sha256-8zgSig7KfY/EE8oJNDvWJnCsOdEEGSxbWer3Y/mlclU=";
|
||||||
|
};
|
||||||
|
|
||||||
|
manSource = pkgs.fetchurl {
|
||||||
|
url = "https://github.com/elkowar/yolk/releases/download/v${version}/yolk.man";
|
||||||
|
hash = "sha256-FZM8gwabmAxrPXOOYBr8ylHKfF8XAL4A6VMarhDcmRo=";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ pkgs.makeWrapper pkgs.nodejs ];
|
||||||
|
nativeBuildInputs = [ pkgs.pkg-config pkgs.xz ];
|
||||||
|
|
||||||
|
unpackPhase = ''
|
||||||
|
tar -xf ${src}
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cp yolk_dots-x86_64-unknown-linux-gnu/yolk $out/bin/yolk
|
||||||
|
chmod +x $out/bin/yolk
|
||||||
|
|
||||||
|
# install man page
|
||||||
|
mkdir -p $out/share/man/man1
|
||||||
|
cp ${manSource} $out/share/man/man1/yolk.1
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with pkgs.lib; {
|
||||||
|
description = "Painfree Templated Dotfile Management";
|
||||||
|
homepage = "https://github.com/elkowar/yolk";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ Katzennkralle ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
||||||
15
root-conf/nixos/optional-packages.nix
Normal file
15
root-conf/nixos/optional-packages.nix
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{ pkgs }:
|
||||||
|
|
||||||
|
let
|
||||||
|
yolkPath = ./local-pkgs/yolk/default.nix;
|
||||||
|
yolk = if builtins.pathExists yolkPath then
|
||||||
|
let imp = builtins.tryEval (import yolkPath { inherit pkgs; });
|
||||||
|
in if imp.success then imp.value else null
|
||||||
|
else
|
||||||
|
null;
|
||||||
|
in
|
||||||
|
# Return a list of extra packages (possibly empty)
|
||||||
|
builtins.filter (x: x != null) [
|
||||||
|
yolk
|
||||||
|
]
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user