fixed merge conflicts

This commit is contained in:
Charlie Root 2024-04-13 15:35:13 +02:00
commit 62d0e0591b
49 changed files with 814 additions and 92 deletions

View file

@ -37,4 +37,15 @@ in {
inputs.agenix.nixosModules.default
];
};
flocke = lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit lib inputs self; };
modules = [
./dragyx/flocke
../modules
inputs.home-manager.nixosModules.home-manager
inputs.agenix.nixosModules.default
];
};
}

View file

@ -0,0 +1,65 @@
# which default packages to use for the system
{ inputs, outputs, profile-config, pkgs, ...}:
let
python-packages = ps: with ps; [
pandas
numpy
opencv4
ipython
];
in
{
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
(python3.withPackages python-packages)
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
neovim
eza # exa is unmaintained
hwinfo
zsh
git
broot
unzip
rsync
# neofetch
# fastfetch has the option to set a timeout for
# for each module, which makes it dramatically faster
# as counting the number of packages takes over 800 (!!!) ms,
# which makes it very unpleasant to use as default thing
# to display when starting a terminal
fastfetch
alacritty
wget
gnumake
zoxide
python3
nodejs
gcc
cargo
rustc
rust-analyzer
clippy
lsof
htop
okular
smartmontools
networkmanager
pkg-config
sof-firmware # audio
nix-index
# --------- optional
gnome.eog
sherlock
xfce.thunar
plocate
alsa-utils
# partition management
parted
gnufdisk
lapce
];
}

View file

@ -0,0 +1,166 @@
{ config, pkgs, ... }:
{
imports = [
../../../options/common/pin-registry.nix
../../../options/common/preserve-system.nix
../../../options/desktop/fonts.nix
./packages.nix
];
nixpkgs.config.allowUnfree = true;
time.timeZone = "Europe/Zurich";
security.sudo.package = pkgs.sudo.override { withInsults = true; };
services.displayManager = {
sessionPackages = [ pkgs.hyprland ]; # pkgs.gnome.gnome-session.sessions ];
defaultSession = "hyprland";
sddm = {
enable = true;
wayland.enable = true;
};
};
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;
hardware.opengl.driSupport = true;
hardware.opengl.driSupport32Bit = true;
hardware.opengl.enable = true;
services.logrotate.checkConfig = false;
networking.hostName = "flocke"; # Define your hostname.
networking.hostId = "adf23c31";
networking.interfaces.wlp1s0.useDHCP = true;
networking.networkmanager.enable = true;
environment.systemPackages = with pkgs; [ networkmanager ]; # cli tool for managing connections
boot = {
kernelParams = [ ];
initrd.supportedFilesystems = [ "ext4" ];
supportedFilesystems = [ "ext4" ];
loader = {
efi.efiSysMountPoint = "/boot";
efi.canTouchEfiVariables = true;
grub = {
enable = true;
device = "nodev";
efiSupport = true;
enableCryptodisk = true;
};
};
initrd.luks.devices = {
cryptroot = {
device = "/dev/disk/by-uuid/ec5ff3a1-9b39-4ba5-aa0f-19e898b4f6e8";
preLVM = true;
};
};
};
# see https://nixos.wiki/wiki/AMD_GPU
services.xserver.videoDrivers = [ "amdgpu" ];
systemd.tmpfiles.rules = [
"L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
];
hardware.opengl.extraPackages = with pkgs; [
rocmPackages.clr.icd
];
services.power-profiles-daemon.enable = false;
# stock nixos power management
powerManagement.enable = true;
services.tlp = {
enable = true;
settings = {
CPU_SCALING_GOVERNOR_ON_AC = "performance";
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
CPU_MIN_PERF_ON_AC = 0;
CPU_MAX_PERF_ON_AC = 100;
CPU_MIN_PERF_ON_BAT = 0;
CPU_MAX_PERF_ON_BAT = 20;
#Optional helps save long term battery health
START_CHARGE_THRESH_BAT0 = 40; # 40 and bellow it starts to charge
STOP_CHARGE_THRESH_BAT0 = 85; # 80 and above it stops charging
};
};
swapDevices = [ {
device = "/var/lib/swapfile";
size = 32*1024;
} ];
# be nice to your ssds
services.fstrim.enable = true;
# services.xserver.enable = pkgs.lib.mkForce false;
security.polkit.enable = true;
modules = {
other = {
system = rec {
hostname = "flocke";
username = "dragyx";
gitPath = "/home/${username}/repos/nichts";
monitors = [
{
name = "LaptopMain";
device = "eDP-1";
resolution = {
x = 2256;
y = 1504;
};
scale = 1.175;
refresh_rate = 60;
}
];
};
home-manager = {
enable = true;
enableDirenv = true;
};
};
programs = {
vesktop.enable = true;
btop.enable = true;
mpv.enable = true;
schizofox.enable = true;
obs.enable = true;
# neovim.enable = true;
git = {
enable = true;
userName = "Dragyx";
userEmail = "66752602+Dragyx@users.noreply.github.com";
defaultBranch = "main";
};
starship.enable = true;
zsh = {
enable = true;
profiling = false;
};
# badneovim.enable = true;
};
services = {
pipewire.enable = true;
};
WM.hyprland.enable = true;
};
# 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. Its 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 = "21.11"; # Did you read the comment?
}

View file

@ -0,0 +1,8 @@
_: {
imports = [
../../../options/desktop/monitors.nix
./configuration.nix
./hardware-configuration.nix
# ./packages.nix
];
}

View file

@ -0,0 +1,35 @@
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ "amdgpu" ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/2aaba0f2-e8dc-4583-a81e-2d35cc238e79";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/9D34-36F8";
fsType = "vfat";
};
swapDevices = [ ];
# 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.wlp1s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -0,0 +1,56 @@
# which default packages to use for the system
{ inputs, outputs, profile-config, pkgs, ...}:
let
python-packages = ps: with ps; [
pandas
numpy
opencv4
ipython
];
in
{
imports = [
../common/packages.nix
];
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# security audits
lynis
element-desktop
jetbrains.idea-community
baobab
amdvlk
texlive.combined.scheme-full
android-tools
signal-desktop
nextcloud-client
# etcher
vlc
audacity
thunderbird
eclipses.eclipse-java
openjdk
firefox
# pkgs.nordvpn # nur.repos.LuisChDev.nordvpn
material-icons
material-design-icons
libreoffice
gimp
spotify
okular
# minecraft
prismlauncher-unwrapped
glfw-wayland-minecraft
glxinfo
# window manager
flameshot
feh
# Animeeeeee!
ani-cli # The stable version is very outdated
];
}

View file

@ -5,7 +5,7 @@
security.sudo.package = pkgs.sudo.override { withInsults = true; };
security.polkit.enable = true;
programs.kdeconnect.enable = true;
myOptions = {
modules = {
other = {
system = {
gitPath = "/home/lars/nichts";

View file

@ -1,6 +1,6 @@
{ config, inputs, pkgs, ... }:
{
myOptions = {
modules = {
other = {
system = {
hostname = "dyonisos";

View file

@ -1,6 +1,6 @@
{ config, inputs, pkgs, ... }:
let
username = config.myOptions.other.system.username;
username = config.modules.other.system.username;
in {
home-manager.users.${username} = {
home.packages = let

View file

@ -1,15 +1,15 @@
{ config, lib, inputs, pkgs, ... }:
with lib; let
username = config.myOptions.other.system.username;
cfg = config.myOptions.hyprland;
username = config.modules.other.system.username;
cfg = config.modules.hyprland;
in {
options.myOptions.hyprland.nvidia.enable = mkEnableOption "nvidia";
options.myOptions.hyprland = {
options.modules.hyprland.nvidia.enable = mkEnableOption "nvidia";
options.modules.hyprland = {
enable = mkEnableOption "hyprland";
monitor = mkOption {
description = "hyprland monitor config";
default = ",preferred,auto,1";
type = types.listof(types.str);
type = types.listOf(types.str);
};
};
@ -41,6 +41,9 @@ in {
wayland.windowManager.hyprland = {
enable = true;
settings = {
# Monitor config
monitor = cfg.monitor;
"$mod" = "SUPER";
input = {
@ -51,6 +54,10 @@ in {
"$mod, Q, killactive"
"$mod, return, exec, alacritty"
"$mod SHIFT, return, exec, firefox"
"$mod SHIFT, m, exit"
# Application
"$mod SHIFT, c, exec, code --enable-features=UseOzonePlatform --ozone-platform=wayland --disable-gpu"
# Monitor management
"$mod SHIFT, k, movecurrentworkspacetomonitor, DP-2"

View file

@ -1,6 +1,6 @@
{ config, inputs, pkgs, ... }:
{
myOptions = {
modules = {
other = {
system = {
hostname = "kronos";

View file

@ -1,6 +1,6 @@
{ config, inputs, pkgs, ... }:
let
username = config.myOptions.other.system.username;
username = config.modules.other.system.username;
in {
home-manager.users.${username} = {
home.packages = let

View file

@ -1,6 +1,6 @@
{ config, inputs, pkgs, ... }:
let
username = config.myOptions.other.system.username;
username = config.modules.other.system.username;
in {
home-manager.users.${username} = {
home.packages = let
@ -48,6 +48,8 @@ in {
tmux
firefox
kitty
nextcloud-client
vscode
grim
slurp
wl-clipboard

View file

@ -1,8 +1,8 @@
{ pkgs, lib, config, ... }:
with lib; let
cfg = config.myOptions.programs.awesome;
cfg = config.modules.programs.awesome;
in {
options.myOptions.programs.awesome.enable = mkEnableOption "awesome";
options.modules.programs.awesome.enable = mkEnableOption "awesome";
config = mkIf cfg.enable {
services.xserver = {

View file

@ -34,7 +34,7 @@
}
'';
};
myOptions = {
modules = {
other = {
system = {
hostname = "mars";

View file

@ -2,8 +2,8 @@
with lib; let
cfg = config.myOptions.programs.hypr.land;
username = config.myOptions.other.system.username;
cfg = config.modules.programs.hypr.land;
username = config.modules.other.system.username;
hmCfg = config.home-manager.users.${username};
smwPresent = elem inputs.split-monitor-workspaces.packages.${pkgs.system}.split-monitor-workspaces cfg.extraPlugins;
@ -13,7 +13,7 @@ with lib; let
inherit (inputs.hyprland.packages.${pkgs.system}) hyprland;
inherit (inputs.hyprlock.packages.${pkgs.system}) hyprlock;
in {
options.myOptions.programs.hypr.land = {
options.modules.programs.hypr.land = {
enable = mkEnableOption "huperland";
startupSound = mkOption {
type = with types; nullOr path;
@ -359,7 +359,7 @@ in {
"[workspace special:rog silent;tile] ${config.services.asusd.package}/bin/rog-control-center")
"[workspace special:keepassxc silent;tile] ${pkgs.keepassxc}/bin/keepassxc"
(if config.myOptions.programs.foot.server then "sleep 0.5 && ${pkgs.systemd}/bin/systemctl --user restart foot.service" else ";")
(if config.modules.programs.foot.server then "sleep 0.5 && ${pkgs.systemd}/bin/systemctl --user restart foot.service" else ";")
"${hyprland}/bin/hyprctl setcursor Bibata-Modern-Classic 24"

View file

@ -5,12 +5,12 @@
pkgs,
...
}: with lib; let
cfg = config.myOptions.programs.hypr.lock;
username = config.myOptions.other.system.username;
cfg = config.modules.programs.hypr.lock;
username = config.modules.other.system.username;
text_color = "rgba(eae0e4FF)";
in {
options.myOptions.programs.hypr.lock = {
options.modules.programs.hypr.lock = {
enable = mkEnableOption "hiper zamek";
extraSettings = mkOption {
type = types.attrs;

View file

@ -1,9 +1,9 @@
{ pkgs, lib, config, callPackage, ... }:
with lib; let
cfg = config.myOptions.programs.i3;
username = config.myOptions.other.system.username;
cfg = config.modules.programs.i3;
in {
options.myOptions.programs.i3.enable = mkEnableOption "i3";
options.modules.programs.i3.enable = mkEnableOption "i3";
config = mkIf cfg.enable {
home-manager.users.${username}.xdg.configFile."i3/config".source = ./config;

View file

@ -1,6 +1,7 @@
{ config, inputs, pkgs, ... }:
let
fenix = inputs.fenix.packages.${pkgs.system};
username = config.modules.other.system.username;
in {
environment.systemPackages = with pkgs; [
alacritty

78
hosts/vali/mars/temp Normal file
View file

@ -0,0 +1,78 @@
{ config, inputs, pkgs, ... }:
let
username = config.myOptions.other.system.username;
in {
home-manager.users.${username} = {
home.packages = let
fenix = inputs.fenix.packages.${pkgs.system};
in with pkgs; [
alacritty
alsa-utils
asciinema
betterbird
bibata-cursors
dig
easyeffects
element-desktop
eza
fastfetch
(fenix.complete.withComponents [
"cargo"
"clippy"
"rust-src"
"rustc"
"rustfmt"
])
ffmpeg_6-full
flameshot
foot
gcc
gdb
grimblast
git
httpie
imagemagick
keepassxc
krita
lazygit
libreoffice-fresh
neofetch
neovim
networkmanagerapplet
nextcloud-client
pamixer
pavucontrol
pcmanfm
pfetch
playerctl
polkit
python3
qbittorrent
ripgrep
rustdesk
rofi
scc
sherlock
signal-desktop-beta
smartmontools
st
steam
strawberry.strawberry-wrapped
telegram-desktop
texliveFull
thunderbird
tor-browser-bundle-bin
trash-cli
tree
unzip
ventoy-full
vesktop
vlc
xclip
yt-dlp
zathura
zip
];
};
}