Compare commits
5 commits
75f7f38f29
...
85567863ce
Author | SHA1 | Date | |
---|---|---|---|
85567863ce | |||
e3220cae9b | |||
a0da51f439 | |||
f482d6f06b | |||
e8487933ec |
16 changed files with 179 additions and 173 deletions
165
flake.nix
165
flake.nix
|
@ -52,64 +52,67 @@
|
|||
musnix.url = "github:musnix/musnix";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs-stable,
|
||||
nixpkgs,
|
||||
nixpkgs-master,
|
||||
nur,
|
||||
home-manager,
|
||||
...
|
||||
} @ inputs: let
|
||||
system = "x86_64-linux";
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config = {allowUnfree = true;};
|
||||
overlays = [
|
||||
overlay-stable
|
||||
overlay-master
|
||||
nur.overlays.default
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs-stable,
|
||||
nixpkgs,
|
||||
nixpkgs-master,
|
||||
nur,
|
||||
home-manager,
|
||||
...
|
||||
}@inputs:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
overlays = [
|
||||
overlay-stable
|
||||
overlay-master
|
||||
nur.overlays.default
|
||||
];
|
||||
};
|
||||
genericModules = [
|
||||
{
|
||||
nix.registry.nixos.flake = inputs.self;
|
||||
environment.etc."nix/inputs/nixpkgs".source = nixpkgs.outPath;
|
||||
nix.nixPath = [ "nixpkgs=${nixpkgs.outPath}" ];
|
||||
}
|
||||
];
|
||||
};
|
||||
genericModules = [
|
||||
{
|
||||
nix.registry.nixos.flake = inputs.self;
|
||||
environment.etc."nix/inputs/nixpkgs".source = nixpkgs.outPath;
|
||||
nix.nixPath = ["nixpkgs=${nixpkgs.outPath}"];
|
||||
}
|
||||
];
|
||||
genericHomeModule = [
|
||||
{
|
||||
nix.registry.nixos.flake = inputs.self;
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
}
|
||||
];
|
||||
# Overlay definitions
|
||||
# nixpkgs-unstable
|
||||
overlay-stable = final: prev: {
|
||||
stable = import nixpkgs-stable {
|
||||
genericHomeModule = [
|
||||
{
|
||||
nix.registry.nixos.flake = inputs.self;
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
}
|
||||
];
|
||||
# Overlay definitions
|
||||
# nixpkgs-unstable
|
||||
overlay-stable = final: prev: {
|
||||
stable = import nixpkgs-stable {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
};
|
||||
# nixpkgs-master
|
||||
overlay-master = final: prev: {
|
||||
master = import nixpkgs-master {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
nixosConfigurations.gabbielaptop = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
};
|
||||
# nixpkgs-master
|
||||
overlay-master = final: prev: {
|
||||
master = import nixpkgs-master {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
};
|
||||
in {
|
||||
nixosConfigurations.gabbielaptop = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
inherit pkgs;
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
};
|
||||
modules =
|
||||
genericModules
|
||||
++ [
|
||||
inherit pkgs;
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
};
|
||||
modules = genericModules ++ [
|
||||
# Import nixos modules here
|
||||
./hosts/gabbielaptop/configuration.nix
|
||||
./modules/nh.nix
|
||||
|
@ -119,39 +122,35 @@
|
|||
inputs.aagl.nixosModules.default
|
||||
inputs.lanzaboote.nixosModules.lanzaboote
|
||||
inputs.musnix.nixosModules.musnix
|
||||
# inputs.stylix.nixosModules.stylix
|
||||
# inputs.home-manager.nixosModules.home-manager
|
||||
# inputs.nixvim.homeManagerModules.nixvim
|
||||
{nix.settings = inputs.aagl.nixConfig;} # Setup cachix for aagl projects
|
||||
# { home-manager.users.blue = ./home-manager/home.nix; }
|
||||
{ nix.settings = inputs.aagl.nixConfig; } # Setup cachix for aagl projects
|
||||
];
|
||||
};
|
||||
nixosConfigurations.biggerpi = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
inherit pkgs;
|
||||
modules =
|
||||
genericModules
|
||||
++ [
|
||||
};
|
||||
nixosConfigurations.biggerpi = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
inherit pkgs;
|
||||
modules = genericModules ++ [
|
||||
inputs.disko.nixosModules.disko
|
||||
inputs.satisfactory-server.nixosModules.satisfactory
|
||||
./hosts/biggerpi/configuration.nix
|
||||
./modules/satisfactory-server.nix
|
||||
];
|
||||
};
|
||||
|
||||
# Standalone home-manager config
|
||||
homeConfigurations.blue = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
};
|
||||
# Import home-manager modules here
|
||||
modules = [
|
||||
./home-manager/home.nix
|
||||
inputs.nvf.homeManagerModules.default
|
||||
inputs.stylix.homeModules.stylix
|
||||
inputs.nix-flatpak.homeManagerModules.nix-flatpak
|
||||
];
|
||||
|
||||
# Standalone home-manager config
|
||||
homeConfigurations.blue = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
};
|
||||
# Import home-manager modules here
|
||||
modules = [
|
||||
./home-manager/home.nix
|
||||
inputs.nvf.homeManagerModules.default
|
||||
inputs.stylix.homeModules.stylix
|
||||
inputs.nix-flatpak.homeManagerModules.nix-flatpak
|
||||
];
|
||||
};
|
||||
# set formatter, using nixfmt-tree here
|
||||
formatter.${system} = nixpkgs.legacyPackages.${system}.nixfmt-tree;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{config, ...}: {
|
||||
{ ... }:
|
||||
{
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{ ... }:
|
||||
{
|
||||
programs.eza = {
|
||||
enable = true;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.floorp = {
|
||||
enable = true;
|
||||
profiles.blue = {
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
home.username = "blue";
|
||||
home.homeDirectory = "/home/blue";
|
||||
|
||||
|
@ -21,49 +22,15 @@
|
|||
./firefox.nix
|
||||
./zellij.nix
|
||||
./obs-studio.nix
|
||||
./packages.nix
|
||||
];
|
||||
|
||||
home.stateVersion = "24.05";
|
||||
|
||||
services.gnome-keyring.enable = true; # used for nextcloud-client
|
||||
|
||||
# General use home packages that dont require a separate module
|
||||
home.packages = with pkgs; [
|
||||
grimblast # Screenshot tool
|
||||
powerline-fonts # Fonts
|
||||
nix-output-monitor # Provides a dependency graph for nix builds
|
||||
bitwarden-desktop # Integrates with bitwarden extension
|
||||
wofi # Wayland app launcher
|
||||
nvtopPackages.amd # GPU monitor, more detailed than BTOP-rocm
|
||||
signal-desktop # Signal messenger client
|
||||
nautilus # File manager (move to option maybe)
|
||||
element-desktop # Matrix client
|
||||
stable.jetbrains.idea-community # IDE
|
||||
reaper # Paid DAW, using free trial
|
||||
telegram-desktop # Telegram messenger client
|
||||
pavucontrol # Useful audio control GUI
|
||||
stable.prismlauncher # Minecraft launcher
|
||||
virt-manager # QEMU manager
|
||||
bat # cat but with syntax highlighting
|
||||
bc # terminal calculator
|
||||
|
||||
# Audio Plugins
|
||||
calf
|
||||
zam-plugins
|
||||
lsp-plugins
|
||||
|
||||
ardour # DAW
|
||||
gimp3 # GNU Image Manipulation Program, pretty self explanatory
|
||||
|
||||
networkmanagerapplet # Tray icon for managing networking
|
||||
blueman # Tray icon for managing bluetooth
|
||||
];
|
||||
services.flatpak.packages = [
|
||||
"io.mrarm.mcpelauncher" # Minecraft bedrock edition launcher
|
||||
];
|
||||
|
||||
home.sessionVariables = {
|
||||
DEFAULT_BROWSER = "${lib.getExe pkgs.firefox}";
|
||||
DEFAULT_BROWSER = "${lib.getExe pkgs.floorp}";
|
||||
# Allow XWayland apps to not be weird after turning off xwayland scaling in hyprland.conf
|
||||
GDK_SCALE = 1;
|
||||
XCURSOR_SIZE = 24;
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
{...}: {
|
||||
{ ... }:
|
||||
{
|
||||
# Enable Hyprland compositor
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
systemd.variables = ["--all"];
|
||||
systemd.variables = [ "--all" ];
|
||||
settings = {
|
||||
misc = {
|
||||
enable_anr_dialog = false;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, lib, ... }: {
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, pkgs, ... }:
|
||||
{...}:
|
||||
{
|
||||
services.nextcloud-client = {
|
||||
enable = true;
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
programs.nvf = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
{pkgs, ...}: {
|
||||
programs.obs-studio = {
|
||||
enable = true;
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
obs-pipewire-audio-capture
|
||||
];
|
||||
};
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.obs-studio = {
|
||||
enable = true;
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
obs-pipewire-audio-capture
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
51
home-manager/packages.nix
Normal file
51
home-manager/packages.nix
Normal file
|
@ -0,0 +1,51 @@
|
|||
{pkgs, ...}:{
|
||||
# packages that i dont need to use a module for
|
||||
home.packages = with pkgs; [
|
||||
grimblast # Screenshot tool
|
||||
powerline-fonts # Fonts
|
||||
nix-output-monitor # Provides a dependency graph for nix builds
|
||||
bitwarden-desktop # Integrates with bitwarden extension
|
||||
wofi # Wayland app launcher
|
||||
nvtopPackages.amd # GPU monitor, more detailed than BTOP-rocm
|
||||
signal-desktop # Signal messenger client
|
||||
nautilus # File manager (move to option maybe)
|
||||
element-desktop # Matrix client
|
||||
stable.jetbrains.idea-community # IDE
|
||||
telegram-desktop # Telegram messenger client
|
||||
pavucontrol # Useful audio control GUI
|
||||
stable.prismlauncher # Minecraft launcher
|
||||
virt-manager # QEMU manager
|
||||
bat # cat but with syntax highlighting
|
||||
bc # terminal calculator
|
||||
wget # download files
|
||||
vesktop # discord client
|
||||
thunderbird # email client
|
||||
fastfetch # silly specs display
|
||||
ungoogled-chromium # useful when a website breaks in firefox
|
||||
qbittorrent # torrent client
|
||||
zip # lets you zip files
|
||||
unzip # lets you unzip files
|
||||
vlc # media player
|
||||
vial # gui for qmk stuff
|
||||
qmk # qmk configurator
|
||||
wl-clipboard # command-line copy/paste
|
||||
lutris # game launcher
|
||||
tenacity # small DAW
|
||||
davinci-resolve # video editor
|
||||
libreoffice # office suite
|
||||
|
||||
# Audio Plugins
|
||||
calf
|
||||
zam-plugins
|
||||
lsp-plugins # not language servers, its an audio thing trust me
|
||||
|
||||
ardour # DAW
|
||||
gimp3 # GNU Image Manipulation Program, pretty self explanatory
|
||||
|
||||
networkmanagerapplet # Tray icon for managing networking
|
||||
blueman # Tray icon for managing bluetooth
|
||||
];
|
||||
services.flatpak.packages = [
|
||||
"io.mrarm.mcpelauncher" # Minecraft bedrock edition launcher
|
||||
];
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/heetch.yaml";
|
||||
|
@ -31,7 +32,7 @@
|
|||
};
|
||||
polarity = "dark";
|
||||
targets = {
|
||||
floorp.profileNames = ["blue"];
|
||||
floorp.profileNames = [ "blue" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{config, ...}: {
|
||||
{ config, ... }:
|
||||
{
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
systemd.enable = true; # using these instead of exec-once beacuse SOME packages (swaync) dont let you disable them
|
||||
|
@ -7,7 +8,7 @@
|
|||
layer = "top";
|
||||
position = "top";
|
||||
height = 30;
|
||||
modules-left = ["hyprland/workspaces"];
|
||||
modules-left = [ "hyprland/workspaces" ];
|
||||
modules-center = [
|
||||
"clock"
|
||||
"custom/swaync"
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{...}: {
|
||||
{ ... }:
|
||||
{
|
||||
programs.zellij = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
@ -26,9 +27,9 @@
|
|||
];
|
||||
};
|
||||
|
||||
boot.initrd.kernelModules = ["amdgpu"];
|
||||
boot.extraModulePackages = [config.boot.kernelPackages.v4l2loopback];
|
||||
boot.kernelModules = ["v4l2loopback"];
|
||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
|
||||
boot.kernelModules = [ "v4l2loopback" ];
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
networking.hostName = "gabbielaptop"; # Define your hostname.
|
||||
|
@ -36,7 +37,7 @@
|
|||
hardware.graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
extraPackages = [pkgs.stable.rocmPackages.clr.icd]; # Needed for davinci-resolve to utilize the gpu, otherwise it refuses to launch
|
||||
extraPackages = [ pkgs.stable.rocmPackages.clr.icd ]; # Needed for davinci-resolve to utilize the gpu, otherwise it refuses to launch
|
||||
};
|
||||
# Enable networking
|
||||
networking.networkmanager.enable = true;
|
||||
|
@ -72,7 +73,10 @@
|
|||
};
|
||||
programs.regreet = {
|
||||
enable = true;
|
||||
cageArgs = ["-m" "last"];
|
||||
cageArgs = [
|
||||
"-m"
|
||||
"last"
|
||||
];
|
||||
};
|
||||
|
||||
# Enable the Hyprland WM functionality for NixOS (xdg portals etc.)
|
||||
|
|
|
@ -1,43 +1,19 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
# All system packages required from nixos-unstable by default
|
||||
environment.systemPackages = with pkgs; [
|
||||
neovim # nano is installed by default
|
||||
wget
|
||||
vesktop
|
||||
thunderbird
|
||||
kdePackages.bluedevil
|
||||
fastfetch
|
||||
ungoogled-chromium
|
||||
qbittorrent
|
||||
p7zip
|
||||
unrar
|
||||
wineWowPackages.stable
|
||||
wine
|
||||
(wine.override {wineBuild = "wine64";})
|
||||
(wine.override { wineBuild = "wine64"; })
|
||||
wine64
|
||||
wineWowPackages.staging
|
||||
winetricks
|
||||
wineWowPackages.waylandFull
|
||||
vlc
|
||||
protonmail-bridge
|
||||
pciutils
|
||||
vial
|
||||
qmk
|
||||
dmidecode
|
||||
wl-clipboard
|
||||
lutris
|
||||
tree
|
||||
tenacity
|
||||
home-manager
|
||||
davinci-resolve
|
||||
v4l-utils
|
||||
libreoffice
|
||||
nixfmt-rfc-style
|
||||
nixd
|
||||
qemu
|
||||
];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue