diff --git a/.hm-modules/home-manager.nix b/.hm-modules/home-manager.nix deleted file mode 100644 index 01e905f..0000000 --- a/.hm-modules/home-manager.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - imports = [ - ./users/speccon18.nix - ]; - programs.home-manager.enable = true; - -# https://github.com/arouzing/nix/blob/main/hm/sky/home.nix - -} \ No newline at end of file diff --git a/.hm-modules/users/speccon18.nix b/.hm-modules/users/speccon18.nix deleted file mode 100644 index 477eec4..0000000 --- a/.hm-modules/users/speccon18.nix +++ /dev/null @@ -1,104 +0,0 @@ -{ config, pkgs, lib, ... }: - -{ - home = { - username = "speccon18"; - homeDirectory = "/home/speccon18"; - stateVersion = "22.11"; - packages = [ - pkgs.firefox - pkgs.vscode-fhs - pkgs.alacritty - pkgs.starship - pkgs.diff-so-fancy - pkgs.bat - pkgs.nushell - ]; - }; - programs = { - #TODO: https://mipmip.github.io/home-manager-option-search/ add options - vscode = { - enable = true; - package = pkgs.vscode.fhs; - enableExtensionUpdateCheck = true; - enableUpdateCheck = false; - extensions = [ -# "tlahmann.alex-linter" -# "astro-build.astro-vscode" -# "aaron-bond.better-comments" -# "bungcip.better-toml" -# "antfu.browse-lite" -# "firefox-devtools.vscode-firefox-debug" -# "ms-vscode-remote.remote-containers" -# "ms-azuretools.vscode-docker" -# "editorconfig.editorconfig" -# "dbaeumer.vscode-eslint" -# "donjayamanne.githistory" -# "felipecaputo.git-project-manager" -# "github.copilot" -# "eamodio.gitlens" -# "graphql.vscode-graphql" -# "graphql.vscode-graphql-syntax" -# "oderwat.indent-rainbow" -# "skellock.just" -# "monokai.theme-monokai-pro-vscode" -# "bbenoist.nix" -# "jnoortheen.nix-ide" -# "christian-kohler.path-intellisense" -# "csstools.postcss" -# "esbenp.prettier-vscode" -# "ms-vscode-remote.remote-ssh" -# "ms-vscode-remote.remote-ssh-edit" -# "ms-vscode.remote-server" -# "ms-vscode-remote.vscode-remote-extensionpack" -# "ms-vscode.remote-explorer" -# "rust-lang.rust-analyzer" -# "rhalaly.scope-to-this" -# "svelte.svelte-vscode" -# "bradlc.vscode-tailwindcss" -# "tauri-apps.tauri-vscode" -# "antfu.vite" -# "zixuanchen.vitest-explorer" -# "vscode-icons-team.vscode-icons" -# "thenuprojectcontributors.vscode-nushell-lang" -# "ms-vscode-remote.remote-wsl" -# "redhat.vscode-yaml" - ]; - }; - #TODO: Generate and add configs for this - nushell = { - enable = true; - }; - direnv = { - enableZshIntegration = true; - enable = true; - }; - starship = { - enable = true; - enableZshIntegration = true; - enableNushellIntegration = true; - }; - zsh = { - enable = lib.mkDefault true; - dotDir = ".config/zsh"; - history = { - path = "$ZDOTDIR/.zsh_history"; - save = 10000000; - }; - }; - #git = { - # enable = true; - # userName = "specCon18"; - # userEmail = "specCon18@gmail.com"; - # signing = { - # key = "71F252936D785219"; - # signByDefault = true; - # }; - # diff-so-fancy = { - # enable = true; - # changeHunkIndicators = true; - # }; - # lfs.enable = true; - #}; - }; -} diff --git a/.modules/disko/luks-lvm.nix b/.modules/disko/luks-lvm.nix deleted file mode 100644 index f199b10..0000000 --- a/.modules/disko/luks-lvm.nix +++ /dev/null @@ -1,83 +0,0 @@ -{ disks ? [ "/dev/nvme0n1" ], ... }: { - disk = { - disk-0 = { - type = "disk"; - device = builtins.elemAt disks 0; - content = { - type = "table"; - format = "gpt"; - partitions = [ - { - type = "partition"; - name = "ESP"; - start = "1MiB"; - end = "2g"; - bootable = true; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - mountOptions = [ - "defaults" - ]; - }; - } - { - name = "swap"; - type = "partition"; - start = "2G"; - end = "40G"; - part-type = "primary"; - content = { - type = "swap"; - randomEncryption = true; - }; - } - { - type = "partition"; - name = "luks"; - start = "40G"; - end = "100%"; - content = { - type = "luks"; - name = "crypted"; - extraOpenArgs = [ "--allow-discards" ]; - content = { - type = "lvm_pv"; - vg = "pool"; - }; - }; - } - ]; - }; - }; - }; - lvm_vg = { - pool = { - type = "lvm_vg"; - lvs = { - root = { - type = "lvm_lv"; - size = "128G"; - content = { - type = "filesystem"; - format = "ext4"; - mountpoint = "/"; - mountOptions = [ - "defaults" - ]; - }; - }; - home = { - type = "lvm_lv"; - size = "25G"; - content = { - type = "filesystem"; - format = "ext4"; - mountpoint = "/home"; - }; - }; - }; - }; - }; -} diff --git a/.modules/features/desktop/environments/gnome.nix b/.modules/features/desktop/environments/gnome.nix deleted file mode 100644 index 5435bed..0000000 --- a/.modules/features/desktop/environments/gnome.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - # Gnome extensions - environment.systemPackages = with pkgs; [ - gnomeExtensions.dock-from-dash - gnomeExtensions.pop-shell - ]; - services = { - gnome = { - core-utilities.enable = false; - gnome-keyring.enable = true; - }; - - xserver = { - enable = true; - layout = "us"; - xkbVariant = ""; - displayManager = { - gdm = { - enable = true; - wayland = true; - }; - defaultSession = lib.mkDefault "gnome"; - }; - desktopManager = { - xterm.enable = lib.mkForce false; - gnome.enable = lib.mkDefault true; - }; - }; - }; - - programs = { - xwayland.enable = lib.mkDefault true; - }; - - xdg.portal = { enable = lib.mkDefault true; }; - -} diff --git a/.modules/features/desktop/environments/wayfire.nix b/.modules/features/desktop/environments/wayfire.nix deleted file mode 100644 index 60282a1..0000000 --- a/.modules/features/desktop/environments/wayfire.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - environment.systemPackages = with pkgs; [ - inputs.nixpkgs-wayland.packages.${system}.wayfire-unstable - ]; -} \ No newline at end of file diff --git a/.modules/services/docker.nix b/.modules/services/docker.nix deleted file mode 100644 index 6f9acf0..0000000 --- a/.modules/services/docker.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - virtualisation.docker = { - enable = true; - liveRestore = false; - autoPrune.enable = true; - }; - - # But allow docker containers to access the local machine - networking.firewall.trustedInterfaces = [ "docker0" ]; -} \ No newline at end of file diff --git a/.modules/services/openssh.nix b/.modules/services/openssh.nix deleted file mode 100644 index abdd037..0000000 --- a/.modules/services/openssh.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ config, pkgs, lib, ... }: - -{ - services.openssh = lib.mkDefault { - enable = true; - openFirewall = true; - #settings = lib.mkDefault { - passwordAuthentication = false; - permitRootLogin = "no"; - kbdInteractiveAuthentication = false; - #}; - startWhenNeeded = true; - kexAlgorithms = [ "curve25519-sha256@libssh.org" ]; - }; - security.pam = lib.mkDefault { - enableSSHAgentAuth = true; - services.sudo.sshAgentAuth = true; - }; -} \ No newline at end of file diff --git a/.modules/services/pipewire.nix b/.modules/services/pipewire.nix deleted file mode 100644 index dfde8b9..0000000 --- a/.modules/services/pipewire.nix +++ /dev/null @@ -1,17 +0,0 @@ -# https://nixos.wiki/wiki/PipeWire -{ config, pkgs, lib, ... }: -{ - # Remove sound.enable or turn it off if you had it set previously, it seems to cause conflicts with pipewire - #sound.enable = false; - # rtkit is optional but recommended - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa = { - enable = true; - support32Bit = true; - }; - pulse.enable = true; - jack.enable = true; - }; -} \ No newline at end of file diff --git a/.modules/users/arouzing.nix b/.modules/users/arouzing.nix deleted file mode 100644 index a4510ef..0000000 --- a/.modules/users/arouzing.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - users.users.arouzing = { - isNormalUser = true; - initialHashedPassword = "$6$tucSnzN8mqHQo/Fd$Q/RtaTpoXN0xnlLAFy6ohWWYuTYd54CXaCrocV1vgFRQVuONga1LyzwdJ0vXa.NT6MRcO7IXNQ3YeURJsSdP61"; - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJAGm66rJsr8vjRCYDkH4lEPncPq27o6BHzpmRmkzOiM" - ]; - description = "admin"; - extraGroups = [ "wheel" "docker" ]; - }; -} \ No newline at end of file diff --git a/.modules/users/speccon18.nix b/.modules/users/speccon18.nix deleted file mode 100644 index dee8fe8..0000000 --- a/.modules/users/speccon18.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - users.users.speccon18 = { - shell = pkgs.zsh; - isNormalUser = true; - initialHashedPassword = "$y$j9T$RdLBHOvUpb17egl0d16LT/$3Y2RD/tT1IZ0nkfAR13pp3IzBjvKLRgGpDPLobUeO23"; - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdigmndcdQD/864P059K2hZOXyEkbGvMkH0/b2QavkD speccon18@creatorforge" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPc1AQ6hcjdSZZuhS5SISwtulFoTLpC5f5JoMFQkZ5l2 specCon18@DESKTOP-Q1I2PAE" - ]; - description = "admin"; - extraGroups = [ "wheel" "docker" ]; - }; -} \ No newline at end of file diff --git a/flake.nix b/flake.nix index aa25779..0b8faa7 100644 --- a/flake.nix +++ b/flake.nix @@ -6,11 +6,6 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; # NixOS Hardware Configuration for framework # nixos-hardware.url = "github:NixOS/nixos-hardware/master"; -# For Wayfire # -# nixpkgs-wayland = { -# url = "github:nix-community/nixpkgs-wayland"; -# inputs.nixpkgs.follows = "nixpkgs"; -# }; # For Home Manager # home-manager = { url = "github:nix-community/home-manager/release-22.11"; @@ -27,7 +22,7 @@ outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, ... }@inputs: let - system = "x86_64-linux"; + system = "x86_64-linux"; # Set the system architecture to x86_64-linux. pkgs = import nixpkgs { inherit system; config.allowUnfree = true; @@ -54,10 +49,12 @@ #Home manager home-manager.nixosModules.home-manager { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users."${userName}" = { - imports = [ (./. + "/users/${userName}/home.nix") ] ++ extraHomeModules; + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + users."${userName}" = { + imports = [ (./. + "/users/${userName}/home.nix") ] ++ extraHomeModules; + }; }; } ] ++ extraModules; @@ -70,8 +67,11 @@ "speccon18" #default user [ ./hosts/creatorforge.nix - ] #modules to load - []; #modules to be loaded by home-manager + modules/services/docker.nix + modules/services/openssh.nix + modules/desktop/gui/gnome.nix + ] #extra modules to load + []; #extra modules to be loaded by home-manager creatorforge-framework = mkComputer ./machines/framework.nix #machine specific configuration "speccon18" #default user @@ -79,15 +79,12 @@ nixos-hardware.nixosModules.framework-12th-gen-intel disko.nixosModules.disko ./hosts/creatorforge.nix - ] #modules to load - []; #modules to be loaded by home-manager + modules/services/docker.nix + modules/services/openssh.nix + modules/desktop/gui/gnome.nix + + ] #extra modules to load + []; #extra modules to be loaded by home-manager }; - # homeConfigurations = { - # speccon18 = home-manager.lib.homeManagerConfiguration { - # pkgs = nixpkgs.legacyPackages.x86_64-linux; - # modules = [ ./.hm-modules/home-manager.nix]; - # }; - # }; }; - } \ No newline at end of file diff --git a/hosts/creatorforge.nix b/hosts/creatorforge.nix index a66c657..ee56c0d 100644 --- a/hosts/creatorforge.nix +++ b/hosts/creatorforge.nix @@ -1,14 +1,9 @@ { modulesPath, config, pkgs, lib, ... }: { - imports = [ - # Include the results of the hardware scan. - (modulesPath + "/profiles/qemu-guest.nix") - ../.modules/services/docker.nix - ../.modules/users/speccon18.nix - ../.modules/services/openssh.nix - ../.modules/features/desktop/environments/gnome.nix - ]; + system.stateVersion = "22.11"; + time.timeZone = "America/Detroit"; + # Allow non opensource software to be installed nixpkgs.config.allowUnfree = true; @@ -33,34 +28,26 @@ htop bat exa + helix zsh - vim tailscale + dig + rage + sops direnv - uutils-coreutils + htop ]; networking = { - firewall.checkReversePath = "loose"; hostName = "creatorforge"; # Define your hostname. + firewall = { + enable = true; + allowedTCPPorts = []; + allowedUDPPorts = []; + checkReversePath = "loose"; + }; # networkmanager.enable = true; }; services.tailscale.enable = true; - - time.timeZone = "America/Detroit"; - - # Open ports in the firewall. - networking.firewall = { - enable = true; - allowedTCPPorts = []; - allowedUDPPorts = []; - }; - ## main services - system.stateVersion = "22.11"; - - ### testing ### - boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk" ]; - - } \ No newline at end of file diff --git a/hosts/openldap.nix b/hosts/openldap.nix index d98c1e6..e7e4fcc 100644 --- a/hosts/openldap.nix +++ b/hosts/openldap.nix @@ -3,12 +3,12 @@ { imports = [ # Include the results of the hardware scan. - # ../.modules/base/hardware.nix + # ../modules/base/hardware.nix (modulesPath + "/profiles/qemu-guest.nix") - ../.modules/services/docker.nix - ../.modules/users/arouzing.nix - ../.modules/users/speccon18.nix - ../.modules/services/openssh.nix + ../modules/services/docker.nix + ../modules/users/arouzing.nix + ../modules/users/speccon18.nix + ../modules/services/openssh.nix ]; # base packages diff --git a/users/speccon18.nix b/users/speccon18.nix deleted file mode 100644 index c890e90..0000000 --- a/users/speccon18.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ pkgs, config, ... }: { - #Home manager configuration - home.username = "speccon18"; - home.homeDirectory = "/home/speccon18"; - imports = [ ./../../home ./../../home/nixos ]; - - home.packages = with pkgs; [ - loc - element-desktop - discord - bat - exa - nodejs-18_x - spotify - dig - nerdfonts - age - sops - steam-run - fira-code - libreoffice - asciinema - postman - gimp - rustup - neofetch - htop - vlc - polymc - remmina - signal-desktop - ]; - - programs.direnv.enable = true; - programs.direnv.nix-direnv.enable = true; - programs.home-manager.enable = true; - - programs.vscode = { - enable = true; - package = pkgs.vscode; - }; - - programs.git = { - enable = true; - userName = "specCon18"; - userEmail = "steven.carpenter@skdevstudios.com"; - delta.enable = true; - extraConfig = { - init = { - defaultBranch = "main"; - }; - }; - }; - - dconf.settings = { - "org/gnome/mutter" = { - experimental-features = [ "x11-randr-fractional-scaling" ]; - }; - }; -}