moved overlays to own folder

made environments folder
This commit is contained in:
Leyla Becker 2024-03-10 19:01:23 -05:00
parent 3b76e4a8a8
commit d20cf49ba2
7 changed files with 189 additions and 132 deletions

View file

@ -0,0 +1,72 @@
{ pkgs, ... }:
{
imports = [
../common
];
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable networking
networking.networkmanager.enable = true;
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
services.xserver.desktopManager.xterm.enable = false;
# Get rid of xTerm
services.xserver.excludePackages = [ pkgs.xterm ];
# Configure keymap in X11
services.xserver = {
layout = "us,it,de";
xkbVariant = "";
};
# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
};
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
environment.systemPackages = with pkgs; [
# version control
git
# helvetica font
aileron
# system debuging tools
iputils
dnsutils
];
}

View file

@ -0,0 +1,16 @@
{ pkgs, ... }:
{
imports = [
../../users
];
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# Set your time zone.
time.timeZone = "America/Chicago";
# List packages installed in system profile.
environment.systemPackages = with pkgs; [
wget
];
}

View file

@ -8,7 +8,7 @@
./hardware-configuration.nix
../../users
../../enviroments/client
];
sops.defaultSopsFile = ../../secrets/secrets.yaml;
@ -26,68 +26,7 @@
boot.kernelModules = [ "sg" ];
nix.settings.experimental-features = [ "nix-command" "flakes" ];
networking.hostName = "horizon"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "America/Chicago";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
services.xserver.desktopManager.xterm.enable = false;
# Get rid of xTerm
services.xserver.excludePackages = [ pkgs.xterm ];
# Configure keymap in X11
services.xserver = {
layout = "us";
xkbVariant = "";
};
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
};
# enabled virtualisation for docker
# virtualisation.docker.enable = true;
@ -127,24 +66,6 @@
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
# resilio-sync
# yt-dlp
# spotdl
# ffmpeg
# chromaprint
# docker
aileron
# sox
# songrec
# csvkit
# losslessaudiochecker
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;

19
overlays/intellij.nix Normal file
View file

@ -0,0 +1,19 @@
{ ... }:
{
nixpkgs.overlays = [
(self: super: {
# idea is too out of date for android gradle things
jetbrains = {
jdk = super.jdk17;
idea-community = super.jetbrains.idea-community.overrideAttrs (oldAttrs: rec {
version = "2023.3.3";
name = "idea-community-${version}";
src = super.fetchurl {
sha256 = "sha256-3BI97Tx+3onnzT1NXkb62pa4dj9kjNDNvFt9biYgP9I=";
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
};
});
};
})
];
}

15
overlays/vscodium.nix Normal file
View file

@ -0,0 +1,15 @@
{ ... }:
{
nixpkgs.overlays = [
(self: super: {
# ui is broken on 1.84
vscodium = super.vscodium.overrideAttrs (oldAttrs: rec {
version = "1.85.2.24019";
src = super.fetchurl {
sha256 = "sha256-OBGFXOSN+Oq9uj/5O6tF0Kp7rxTY1AzNbhLK8G+EqVk=";
url = "https://github.com/VSCodium/vscodium/releases/download/${version}/VSCodium-linux-x64-${version}.tar.gz";
};
});
})
];
}

View file

@ -3,6 +3,10 @@ let
cfg = config.users.leyla;
in
{
imports =[
./packages.nix
];
options.users.leyla = {
isNormalUser = lib.mkEnableOption "leyla";
};
@ -30,58 +34,6 @@ in
extraGroups = [ "networkmanager" "wheel" ];
hashedPasswordFile = config.sops.secrets."passwords/leyla".path;
packages = with pkgs; [
iputils
dnsutils
git
firefox
signal-desktop
obsidian
bitwarden
vscodium
nextcloud-client
inkscape
steam
discord
rhythmbox
makemkv
protonvpn-gui
transmission-gtk
freecad
mupen64plus
dbeaver
easytag
cura
kicad-small
# jdk
# android-tools
# android-studio
androidStudioPackages.canary
jetbrains.idea-community
ungoogled-chromium
nodejs
exiftool
libreoffice
# N64 Emulator
mupen64plus
# GameCube Emulator and Wii Emulator
dolphin-emu
# Switch Emulator
yuzu-mainline
# Atari 2600 Emulator
stella
# mame Emulator
mame
# Game Boy Advanced Emulator
vbam
# NES Emulator
fceux
# SNES Emulator
zsnes
# DS Emulator
desmume
];
} else {
isSystemUser = true;
}

62
users/leyla/packages.nix Normal file
View file

@ -0,0 +1,62 @@
{ lib, config, pkgs, ... }:
let
cfg = config.users.leyla;
in
{
imports = [
../../overlays/intellij.nix
../../overlays/vscodium.nix
];
users.users.leyla.packages = lib.mkIf cfg.isNormalUser (
with pkgs; [
#foss platforms
signal-desktop
bitwarden
firefox
ungoogled-chromium
libreoffice
inkscape
freecad
kicad-small
cura
makemkv
transmission-gtk
easytag
rhythmbox
# proprietary platforms
discord
obsidian
# development enviroments
vscodium
androidStudioPackages.canary
jetbrains.idea-community
dbeaver
# development tools
# TODO: move these to flakes
nodejs
# bridges
protonvpn-gui
nextcloud-client
# gaming
steam
# emulators
yuzu-mainline # Switch Emulator
dolphin-emu # GameCube and Wii Emulator
desmume # DS Emulator
mupen64plus # N64 Emulator
zsnes # SNES Emulator
vbam # Game Boy Advanced Emulator
fceux # NES Emulator
stella # Atari 2600 Emulator
mame # mame Emulator
]
);
}