code refactor for new host and user configs

fallarbor: added disko and fixed nixos-hardwarem odule import

fallarbor: added appropriate flake entries
This commit is contained in:
Aly Raffauf 2024-04-18 14:21:33 -04:00 committed by Aly Raffauf
parent ff0e0302e0
commit 4da4930db9
35 changed files with 455 additions and 561 deletions

50
aly.nix Normal file
View file

@ -0,0 +1,50 @@
{
inputs,
config,
pkgs,
lib,
...
}: {
imports = [./homeManagerModules];
home.username = "aly";
home.homeDirectory = "/home/aly";
programs.home-manager.enable = true;
home.packages = with pkgs; [
browsh
curl
gh
git
python3
ruby
wget
zoom-us
obsidian
google-chrome
fractal
];
alyraffauf = {
services.syncthing.enable = true;
desktop.hyprland = {
enable = true;
hyprpaper.randomWallpaper.enable = true;
};
apps = {
alacritty.enable = true;
firefox.enable = true;
bash.enable = true;
emacs.enable = true;
eza.enable = true;
fzf.enable = true;
neofetch.enable = true;
neovim.enable = true;
tmux.enable = true;
chromium.enable = false;
tauon.enable = true;
thunderbird.enable = true;
vsCodium.enable = true;
webCord.enable = true;
};
};
}

38
dustin.nix Normal file
View file

@ -0,0 +1,38 @@
{
inputs,
config,
pkgs,
lib,
...
}: {
imports = [./homeManagerModules];
home.username = "dustin";
home.homeDirectory = "/home/dustin";
programs.home-manager.enable = true;
home.packages = with pkgs; [
fractal
google-chrome
libreoffice-fresh
plexamp
vlc
zoom-us
];
alyraffauf = {
desktop.hyprland = {
enable = true;
hyprpaper.randomWallpaper.enable = false;
};
apps = {
alacritty.enable = true;
bash.enable = true;
chromium.enable = true;
eza.enable = true;
firefox.enable = true;
fzf.enable = true;
vsCodium.enable = true;
webCord.enable = true;
};
};
}

View file

@ -1,26 +1,9 @@
{
"nodes": {
"disko": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1713406758,
"narHash": "sha256-kwZvhmx+hSZvjzemKxsAqzEqWmXZS47VVwQhNrINORQ=",
"owner": "nix-community",
"repo": "disko",
"rev": "1efd500e9805a9efbce401ed5999006d397b9f11",
"type": "github"
},
"original": {
"id": "disko",
"type": "indirect"
}
},
"disko-unstable": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable"
"nixpkgs"
]
},
"locked": {
@ -44,30 +27,11 @@
]
},
"locked": {
"lastModified": 1712386041,
"narHash": "sha256-dA82pOMQNnCJMAsPG7AXG35VmCSMZsJHTFlTHizpKWQ=",
"rev": "d6bb9f934f2870e5cbc5b94c79e9db22246141ff",
"revCount": 3180,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/nix-community/home-manager/0.2311.3180%2Brev-d6bb9f934f2870e5cbc5b94c79e9db22246141ff/018eb24b-3591-77b8-b621-8f2cd8f7cf91/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/nix-community/home-manager/0.%2A.%2A.tar.gz"
}
},
"home-manager-unstable": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable"
]
},
"locked": {
"lastModified": 1713391096,
"narHash": "sha256-5xkzsy+ILgQlmvDDipL5xqAehnjWBenAQXV4/NLg2dE=",
"lastModified": 1713453913,
"narHash": "sha256-vbXq52VRlL1defMHrwhsoeHm95O3mFefsSSJyNEghbA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "f46814ec7cbef9c2aef18ca1cbe89f2bb1e8c394",
"rev": "178e26895b3aef028a00a32fb7e7ed0fc660645c",
"type": "github"
},
"original": {
@ -111,7 +75,7 @@
"hyprcursor": "hyprcursor",
"hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs",
"systems": "systems",
"wlroots": "wlroots",
"xdph": "xdph"
@ -213,21 +177,21 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1713254108,
"narHash": "sha256-0TZIsfDbHG5zibtlw6x0yOp3jkInIGaJ35B7Y4G8Pec=",
"lastModified": 1712963716,
"narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2fd19c8be2551a61c1ddc3d9f86d748f4db94f00",
"rev": "cfd6b5fc90b15709b780a5a1619695a88505a176",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"nixpkgs_2": {
"locked": {
"lastModified": 1713248628,
"narHash": "sha256-NLznXB5AOnniUtZsyy/aPWOk8ussTuePp2acb9U+ISA=",
@ -243,47 +207,14 @@
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1712963716,
"narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "cfd6b5fc90b15709b780a5a1619695a88505a176",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1713145326,
"narHash": "sha256-m7+IWM6mkWOg22EC5kRUFCycXsXLSU7hWmHdmBfmC3s=",
"rev": "53a2c32bc66f5ae41a28d7a9a49d321172af621e",
"revCount": 557721,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2311.557721%2Brev-53a2c32bc66f5ae41a28d7a9a49d321172af621e/018ee413-6e9c-72d4-be11-b9bef24c16bc/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/NixOS/nixpkgs/%2A.tar.gz"
}
},
"root": {
"inputs": {
"disko": "disko",
"disko-unstable": "disko-unstable",
"home-manager": "home-manager",
"home-manager-unstable": "home-manager-unstable",
"hyprland": "hyprland",
"impermanence": "impermanence",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_3",
"nixpkgs-unstable": "nixpkgs-unstable"
"nixpkgs": "nixpkgs_2"
}
},
"systems": {

View file

@ -2,27 +2,20 @@
description = "Aly's NixOS flake.";
inputs = {
# Latest Stable NixOS, tracked by FlakeHub.
nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/*.tar.gz";
# Unstable NixOS channel.
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
# Tracks latest stable home-manager using FlakeHub.
# Home-manager, used for managing user configuration.
home-manager = {
url = "https://flakehub.com/f/nix-community/home-manager/0.*.*.tar.gz";
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
# Unstable NixOS channel.
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
# Home-manager, used for managing user configuration.
home-manager-unstable = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs-unstable";
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
disko-unstable.url = "github:nix-community/disko";
disko-unstable.inputs.nixpkgs.follows = "nixpkgs-unstable";
impermanence.url = "github:nix-community/impermanence";
# Latest Hyprland
@ -42,67 +35,83 @@
outputs = inputs @ {
nixpkgs,
nixpkgs-unstable,
home-manager,
home-manager-unstable,
nixos-hardware,
impermanence,
disko,
disko-unstable,
hyprland,
...
}: {
homeConfigurations.aly = home-manager-unstable.lib.homeManagerConfiguration {
pkgs = import nixpkgs-unstable {system = "x86_64-linux";};
modules = [./home.nix];
homeConfigurations.aly = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {system = "x86_64-linux";};
modules = [./aly.nix];
};
homeConfigurations.dustin = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {system = "x86_64-linux";};
modules = [./dustin.nix];
};
nixosConfigurations = {
# Framework 13 with AMD Ryzen 7640U and 32GB RAM.
lavaridge = nixpkgs-unstable.lib.nixosSystem {
lavaridge = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs;};
modules = [
nixos-hardware.nixosModules.framework-13-7040-amd
home-manager-unstable.nixosModules.home-manager
home-manager.nixosModules.home-manager
./hosts/lavaridge
./nixosModules
];
};
# Home Lab. Ryzen 5 2600 with 16GB RAM, RX 6700.
mauville = nixpkgs-unstable.lib.nixosSystem {
# Framework 13 with 11th Gen Intel Core i5 and 16GB RAM.
fallarbor = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs;};
modules = [
home-manager-unstable.nixosModules.home-manager
disko.nixosModules.disko
nixos-hardware.nixosModules.framework-11th-gen-intel
home-manager.nixosModules.home-manager
./hosts/fallarbor
./nixosModules
];
};
# Home Lab. Ryzen 5 2600 with 16GB RAM, RX 6700.
mauville = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs;};
modules = [
home-manager.nixosModules.home-manager
./hosts/mauville
./nixosModules
];
};
# Lenovo Yoga 9i with i7-1360P and 16GB RAM.
petalburg = nixpkgs-unstable.lib.nixosSystem {
petalburg = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs;};
modules = [
disko-unstable.nixosModules.disko
disko.nixosModules.disko
nixos-hardware.nixosModules.common-pc-laptop-ssd
nixos-hardware.nixosModules.common-cpu-intel
home-manager-unstable.nixosModules.home-manager
home-manager.nixosModules.home-manager
./hosts/petalburg
./nixosModules
];
};
# T440p with i5-4210M and 16GB RAM.
rustboro = nixpkgs-unstable.lib.nixosSystem {
rustboro = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs;};
modules = [
disko-unstable.nixosModules.disko
disko.nixosModules.disko
impermanence.nixosModules.impermanence
nixos-hardware.nixosModules.lenovo-thinkpad-t440p
home-manager-unstable.nixosModules.home-manager
home-manager.nixosModules.home-manager
./hosts/rustboro
./nixosModules
];

View file

@ -1,14 +0,0 @@
{
inputs,
config,
pkgs,
lib,
...
}: {
imports = [./homeManagerModules];
home.username = "aly";
home.homeDirectory = "/home/aly";
home.stateVersion = "23.11";
programs.home-manager.enable = true;
}

View file

@ -11,16 +11,13 @@
./emacs
./eza
./firefox
./fractal
./fuzzel
./fzf
./google-chrome
./kanshi
./librewolf
./mako
./neofetch
./neovim
./obsidian
./tauon
./thunderbird
./tmux
@ -28,41 +25,5 @@
./waybar
./webCord
./wlogout
./zoom
];
home.packages = with pkgs; [
# backblaze-b2
browsh
curl
gh
git
python3
ruby
wget
];
programs.nnn.enable = lib.mkDefault true;
programs.rbw.enable = lib.mkDefault true;
alyraffauf.apps.bash.enable = lib.mkDefault true;
alyraffauf.apps.emacs.enable = lib.mkDefault true;
alyraffauf.apps.eza.enable = lib.mkDefault true;
alyraffauf.apps.fzf.enable = lib.mkDefault true;
alyraffauf.apps.neofetch.enable = lib.mkDefault true;
alyraffauf.apps.neovim.enable = lib.mkDefault true;
alyraffauf.apps.tmux.enable = lib.mkDefault true;
alyraffauf.apps.alacritty.enable = lib.mkDefault true;
alyraffauf.apps.chromium.enable = lib.mkDefault false;
alyraffauf.apps.firefox.enable = lib.mkDefault true;
alyraffauf.apps.fractal.enable = lib.mkDefault true;
alyraffauf.apps.google-chrome.enable = lib.mkDefault true;
alyraffauf.apps.obsidian.enable = lib.mkDefault true;
alyraffauf.apps.tauon.enable = lib.mkDefault true;
alyraffauf.apps.thunderbird.enable = lib.mkDefault true;
alyraffauf.apps.vsCodium.enable = lib.mkDefault true;
alyraffauf.apps.webCord.enable = lib.mkDefault true;
alyraffauf.apps.zoom.enable = lib.mkDefault true;
}

View file

@ -1,15 +0,0 @@
{
pkgs,
lib,
config,
...
}: {
options = {
alyraffauf.apps.fractal.enable =
lib.mkEnableOption "Enables Fractal Matrix client.";
};
config = lib.mkIf config.alyraffauf.apps.fractal.enable {
home.packages = with pkgs; [fractal];
};
}

View file

@ -1,14 +0,0 @@
{
pkgs,
lib,
config,
...
}: {
options = {
alyraffauf.apps.google-chrome.enable = lib.mkEnableOption "Enable Google Chrome.";
};
config = lib.mkIf config.alyraffauf.apps.google-chrome.enable {
home.packages = with pkgs; [google-chrome];
};
}

View file

@ -1,14 +0,0 @@
{
pkgs,
lib,
config,
...
}: {
options = {
alyraffauf.apps.obsidian.enable = lib.mkEnableOption "Enables Obsidian.";
};
config = lib.mkIf config.alyraffauf.apps.obsidian.enable {
home.packages = with pkgs; [obsidian];
};
}

View file

@ -1,12 +0,0 @@
{
pkgs,
lib,
config,
...
}: {
options = {alyraffauf.apps.zoom.enable = lib.mkEnableOption "Enables Zoom.";};
config = lib.mkIf config.alyraffauf.apps.zoom.enable {
home.packages = with pkgs; [zoom-us];
};
}

View file

@ -29,4 +29,14 @@
};
xdg.dataFile."backgrounds/".source = ../files/wallpapers;
dconf = {
enable = true;
settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
};
}

View file

@ -5,6 +5,4 @@
...
}: {
imports = [./gnome ./hypr ./sway ./river];
alyraffauf.desktop.hyprland.enable = lib.mkDefault true;
}

View file

@ -44,10 +44,6 @@
"tiling-assistant@leleat-on-github"
"drive-menu@gnome-shell-extensions.gcampax.github.com"
];
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
};
}

View file

@ -28,10 +28,10 @@
alyraffauf.apps.alacritty.enable = lib.mkDefault true;
alyraffauf.apps.firefox.enable = lib.mkDefault true;
services.cliphist.enable = lib.mkDefault true;
# Packages that should be installed to the user profile.
home.packages = with pkgs; [
# brightnessctl
# hyprnome
celluloid
evince
gnome.eog
@ -53,8 +53,6 @@
xfce.xfconf
];
services.cliphist.enable = lib.mkDefault true;
xdg.configFile."xfce4/helpers.rc".text = ''
TerminalEmulator=alacritty
FileManager=thunar
@ -158,6 +156,7 @@
exec-once = ${pkgs.hypridle}/bin/hypridle
exec-once = ${pkgs.swayosd}/bin/swayosd-server
exec-once = ${pkgs.networkmanagerapplet}/bin/nm-applet
exec-once = ${pkgs.trayscale}/bin/trayscale --hide-window
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
@ -249,7 +248,7 @@
# Firefox picture-in-picture
windowrulev2 = float, class:^(firefox)$, title:^(Picture-in-Picture)$
windowrulev2 = pin, class:^(firefox)$, title:^(Picture-in-Picture)$
windowrulev2 = move 75% 20%, class:^(firefox)$, title:^(Picture-in-Picture)$
windowrulev2 = move 75% 20%, class:^(firefox)$, title:^(Picture-in-Picture)$
windowrulev2 = center(1),class:(blueberry.py)
windowrulev2 = center(1),class:(nmtui)

View file

@ -15,8 +15,6 @@
# Packages that should be installed to the user profile.
home.packages = with pkgs; [hyprpaper];
alyraffauf.desktop.hyprland.hyprpaper.randomWallpaper.enable = lib.mkDefault true;
xdg.configFile."hypr/hyprpaper.conf".source = ./hyprpaper.conf;
};
}

View file

@ -11,14 +11,22 @@
};
config = lib.mkIf config.alyraffauf.desktop.river.enable {
# Basic apps needed to run a riverwm desktop.
alyraffauf.apps.waybar.enable = lib.mkDefault true;
alyraffauf.apps.mako.enable = lib.mkDefault true;
alyraffauf.apps.fuzzel.enable = lib.mkDefault true;
alyraffauf.apps.wlogout.enable = lib.mkDefault true;
alyraffauf.apps.alacritty.enable = lib.mkDefault true;
alyraffauf.apps.firefox.enable = lib.mkDefault true;
alyraffauf.apps.kanshi.enable = lib.mkDefault true;
alyraffauf = {
apps = {
waybar.enable = lib.mkDefault true;
mako.enable = lib.mkDefault true;
fuzzel.enable = lib.mkDefault true;
wlogout.enable = lib.mkDefault true;
alacritty.enable = lib.mkDefault true;
firefox.enable = lib.mkDefault true;
kanshi.enable = lib.mkDefault true;
};
desktop.river.randomWallpaper.enable = lib.mkDefault true;
};
programs.swaylock.enable = lib.mkDefault true;
services.cliphist.enable = lib.mkDefault true;
# Packages that should be installed to the user profile.
home.packages = with pkgs; [
@ -45,12 +53,6 @@
swayidle
];
alyraffauf.desktop.river.randomWallpaper.enable = lib.mkDefault true;
programs.swaylock.enable = lib.mkDefault true;
services.cliphist.enable = lib.mkDefault true;
xdg.configFile."xfce4/helpers.rc".text = ''
TerminalEmulator=alacritty
FileManager=thunar

View file

@ -1,68 +0,0 @@
{
pkgs,
lib,
config,
...
}: {
options = {
alyraffauf.desktop.hyprland.theme.enable =
lib.mkEnableOption "Hyprland GTK and Qt themes.";
};
config = lib.mkIf config.alyraffauf.desktop.hyprland.theme.enable {
home.pointerCursor = {
gtk.enable = true;
x11.enable = true;
package = pkgs.catppuccin-cursors.frappeDark;
name = "Catppuccin-Frappe-Dark-Cursors";
size = 24;
};
qt = {
enable = true;
platformTheme = "gtk";
style.name = "gtk2";
};
gtk = {
enable = true;
theme = {
package = pkgs.catppuccin-gtk.override {
accents = ["mauve"];
size = "compact";
variant = "frappe";
tweaks = ["normal"];
};
name = "Catppuccin-Frappe-Compact-Mauve-Dark";
};
iconTheme = {
package = pkgs.catppuccin-papirus-folders.override {
flavor = "frappe";
accent = "mauve";
};
name = "Papirus-Dark";
};
font = {
name = "NotoSans Nerd Font Regular";
package = pkgs.nerdfonts.override {fonts = ["Noto"];};
size = 11;
};
gtk3.extraConfig = {gtk-application-prefer-dark-theme = 1;};
gtk4.extraConfig = {gtk-application-prefer-dark-theme = 1;};
};
dconf.settings = {
"org/gnome/desktop/interface" = {
gtk-theme = "Catppuccin-Frappe-Compact-Mauve-Dark";
color-scheme = "prefer-dark";
cursor-theme = "Catppuccin-Frappe-Dark-Cursors";
cursor-size = 24;
};
};
};
}

View file

@ -1,108 +0,0 @@
font pango:monospace 8.000000
floating_modifier Mod1
default_border normal 2
default_floating_border normal 2
hide_edge_borders none
focus_wrapping no
focus_follows_mouse yes
focus_on_window_activation smart
mouse_warping output
workspace_layout default
workspace_auto_back_and_forth no
client.focused #4c7899 #285577 #ffffff #2e9ef4 #285577
client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
client.unfocused #333333 #222222 #888888 #292d2e #222222
client.urgent #2f343a #900000 #ffffff #900000 #900000
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
client.background #ffffff
bindsym Mod1+0 workspace number 10
bindsym Mod1+1 workspace number 1
bindsym Mod1+2 workspace number 2
bindsym Mod1+3 workspace number 3
bindsym Mod1+4 workspace number 4
bindsym Mod1+5 workspace number 5
bindsym Mod1+6 workspace number 6
bindsym Mod1+7 workspace number 7
bindsym Mod1+8 workspace number 8
bindsym Mod1+9 workspace number 9
bindsym Mod1+Down focus down
bindsym Mod1+Left focus left
bindsym Mod1+Return exec alacritty
bindsym Mod1+Right focus right
bindsym Mod1+Shift+0 move container to workspace number 10
bindsym Mod1+Shift+1 move container to workspace number 1
bindsym Mod1+Shift+2 move container to workspace number 2
bindsym Mod1+Shift+3 move container to workspace number 3
bindsym Mod1+Shift+4 move container to workspace number 4
bindsym Mod1+Shift+5 move container to workspace number 5
bindsym Mod1+Shift+6 move container to workspace number 6
bindsym Mod1+Shift+7 move container to workspace number 7
bindsym Mod1+Shift+8 move container to workspace number 8
bindsym Mod1+Shift+9 move container to workspace number 9
bindsym Mod1+Shift+Down move down
bindsym Mod1+Shift+Left move left
bindsym Mod1+Shift+Right move right
bindsym Mod1+Shift+Up move up
bindsym Mod1+Shift+c reload
bindsym Mod1+Shift+e exec wlogout
bindsym Mod1+Shift+h move left
bindsym Mod1+Shift+j move down
bindsym Mod1+Shift+k move up
bindsym Mod1+Shift+l move right
bindsym Mod1+Shift+minus move scratchpad
bindsym Mod1+Shift+q kill
bindsym Mod1+Shift+space floating toggle
bindsym Mod1+Up focus up
bindsym Mod1+a focus parent
bindsym Mod1+b splith
bindsym Mod1+d exec fuzzel
bindsym Mod1+e layout toggle split
bindsym Mod1+f fullscreen toggle
bindsym Mod1+h focus left
bindsym Mod1+j focus down
bindsym Mod1+k focus up
bindsym Mod1+l focus right
bindsym Mod1+minus scratchpad show
bindsym Mod1+r mode resize
bindsym Mod1+s layout stacking
bindsym Mod1+space focus mode_toggle
bindsym Mod1+v splitv
bindsym Mod1+w layout tabbed
mode "resize" {
bindsym Down resize grow height 10 px
bindsym Escape mode default
bindsym Left resize shrink width 10 px
bindsym Return mode default
bindsym Right resize grow width 10 px
bindsym Up resize shrink height 10 px
bindsym h resize shrink width 10 px
bindsym j resize grow height 10 px
bindsym k resize shrink height 10 px
bindsym l resize grow width 10 px
}
bar {
font pango:monospace 8.000000
mode dock
hidden_state hide
position bottom
status_command /nix/store/dg4f4b9zcl0cn0993qaw5dd4nny6zm8j-i3status-2.14/bin/i3status
swaybar_command /nix/store/4qg7qmx19n0c1z26fjbxfndr6v7vbaxy-sway-1.9/bin/swaybar
workspace_buttons yes
strip_workspace_numbers no
tray_output primary
colors {
background #000000
statusline #ffffff
separator #666666
focused_workspace #4c7899 #285577 #ffffff
active_workspace #333333 #5f676a #ffffff
inactive_workspace #333333 #222222 #888888
urgent_workspace #2f343a #900000 #ffffff
binding_mode #2f343a #900000 #ffffff
}
}
exec "/nix/store/f9w2kp8y55zvcyz33b5lnr7qwhx652y8-dbus-1.14.10/bin/dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP XDG_SESSION_TYPE NIXOS_OZONE_WL XCURSOR_THEME XCURSOR_SIZE; systemctl --user start sway-session.target"

View file

@ -9,19 +9,19 @@
};
config = lib.mkIf config.alyraffauf.desktop.sway.enable {
# Basic apps needed to run a hyprland desktop.
alyraffauf.apps.waybar.enable = lib.mkDefault true;
alyraffauf.apps.mako.enable = lib.mkDefault true;
alyraffauf.apps.fuzzel.enable = lib.mkDefault true;
alyraffauf.apps.wlogout.enable = lib.mkDefault true;
alyraffauf.apps.alacritty.enable = lib.mkDefault true;
alyraffauf.apps.firefox.enable = lib.mkDefault true;
alyraffauf.apps.kanshi.enable = lib.mkDefault true;
alyraffauf = {
apps = {
waybar.enable = lib.mkDefault true;
mako.enable = lib.mkDefault true;
fuzzel.enable = lib.mkDefault true;
wlogout.enable = lib.mkDefault true;
alacritty.enable = lib.mkDefault true;
firefox.enable = lib.mkDefault true;
kanshi.enable = lib.mkDefault true;
};
};
# Packages that should be installed to the user profile.
home.packages = with pkgs; [
# brightnessctl
# hyprnome
celluloid
evince
gnome.eog

View file

@ -5,6 +5,4 @@
...
}: {
imports = [./syncthing ./easyeffects ./mpd];
alyraffauf.services.syncthing.enable = lib.mkDefault true;
}

View file

@ -0,0 +1,54 @@
# Framework 13 with 11th gen Intel Core i5, 16GB RAM, 512GB SSD.
{
config,
pkgs,
...
}: {
imports = [
./disko.nix
./hardware-configuration.nix # Include the results of the hardware scan.
./home.nix
];
boot = {
# Bootloader.
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
# Use latest Linux kernel.
kernelPackages = pkgs.linuxPackages_latest;
};
networking.hostName = "fallarbor"; # Define your hostname.
services = {
fwupd.enable = true;
fprintd.package = pkgs.fprintd.overrideAttrs {
mesonCheckFlags = ["--no-suite" "fprintd:TestPamFprintd"];
};
};
alyraffauf = {
system = {
plymouth.enable = true;
zramSwap = {enable = true;};
};
user = {
aly.enable = true;
dustin.enable = true;
};
desktop = {
enable = true;
hyprland.enable = true;
};
apps = {
flatpak.enable = true;
steam.enable = true;
};
};
users.users.dustin.hashedPassword = "$y$j9T$OXQYhj4IWjRJWWYsSwcqf.$lCcdq9S7m0EAdej9KMHWj9flH8K2pUb2gitNhLTlLG/";
users.users.aly.hashedPassword = "$y$j9T$Ug0ZLHQQuRciFJDgOI6r00$eHc.KyQY0oU4k0LKRiZiGWJ19jkKNWHpOoyCJbtJif8";
system.stateVersion = "23.11";
}

51
hosts/fallarbor/disko.nix Normal file
View file

@ -0,0 +1,51 @@
{
disko.devices = {
disk = {
vdb = {
type = "disk";
device = "/dev/nvme0n1";
content = {
type = "gpt";
partitions = {
ESP = {
priority = 1;
name = "ESP";
start = "1M";
end = "1024M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
root = {
size = "100%";
content = {
type = "btrfs";
extraArgs = ["-f"]; # Override existing partition
# Subvolumes must set a mountpoint in order to be mounted,
# unless their parent is mounted
subvolumes = {
# Subvolume name is different from mountpoint
"rootfs" = {mountpoint = "/";};
# Subvolume name is the same as the mountpoint
"home" = {
mountOptions = ["compress=zstd"];
mountpoint = "/home";
};
# Parent is not mounted so the mountpoint must be set
"nix" = {
mountOptions = ["compress=zstd" "noatime"];
mountpoint = "/nix";
};
};
mountpoint = "/partition-root";
};
};
};
};
};
};
};
}

View file

@ -0,0 +1,47 @@
{
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
# Intel drivers with accelerated video playback support.
nixpkgs.config.packageOverrides = pkgs: {
intel-vaapi-driver =
pkgs.intel-vaapi-driver.override {enableHybridCodec = true;};
};
hardware.opengl = {
enable = true;
extraPackages = with pkgs; [
intel-media-driver # LIBVA_DRIVER_NAME=iHD
intel-vaapi-driver # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
libvdpau-va-gl
];
};
environment.sessionVariables = {
LIBVA_DRIVER_NAME = "iHD";
}; # Force intel-media-driver
# Save power/better manage heat & fans.
powerManagement.powertop.enable = true;
services.thermald.enable = true;
# 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;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
}

18
hosts/fallarbor/home.nix Normal file
View file

@ -0,0 +1,18 @@
{
inputs,
config,
pkgs,
lib,
...
}: {
home-manager.users = {
aly = {
imports = [../../homeManagerModules ../../aly.nix];
home.stateVersion = "23.11";
};
dustin = {
imports = [../../homeManagerModules ../../dustin.nix];
home.stateVersion = "23.11";
};
};
}

View file

@ -29,21 +29,24 @@
};
};
alyraffauf.system = {
plymouth.enable = true;
zramSwap.enable = true;
};
alyraffauf.desktop = {
enable = true;
hyprland.enable = true;
};
alyraffauf.apps = {
flatpak.enable = true;
podman.enable = true;
steam.enable = true;
virt-manager.enable = true;
alyraffauf = {
system = {
plymouth.enable = true;
zramSwap = {enable = true;};
};
user = {
aly.enable = true;
dustin.enable = true;
};
desktop = {
enable = true;
hyprland.enable = true;
};
apps = {
steam.enable = true;
podman.enable = true;
virt-manager.enable = true;
};
};
users.users.aly.hashedPassword = "$y$j9T$O9NgTk6iRfh3mxiRDvfdm1$BjvsAKYEMB3C28652FF15cj/i.3TgQAObQvR0rN1E6C";

View file

@ -6,16 +6,7 @@
...
}: {
home-manager.users.aly = {
imports = [../../homeManagerModules];
home.username = "aly";
home.homeDirectory = "/home/aly";
imports = [../../homeManagerModules ../../aly.nix];
home.stateVersion = "23.11";
programs.home-manager.enable = true;
alyraffauf.services.easyeffects = {
enable = true;
preset = "framework13.json";
};
};
}

View file

@ -13,19 +13,28 @@
networking.hostName = "mauville"; # Define your hostname.
alyraffauf.system = {
zramSwap = {
enable = true;
size = 100;
alyraffauf = {
system = {
plymouth.enable = true;
zramSwap = {
enable = true;
size = 100;
};
};
user = {
aly.enable = true;
dustin.enable = true;
};
desktop = {
enable = true;
hyprland.enable = true;
};
homeLab.enable = true;
apps = {
steam.enable = true;
podman.enable = true;
virt-manager.enable = true;
};
};
alyraffauf.homeLab.enable = true;
alyraffauf.desktop.enable = true;
alyraffauf.apps = {
flatpak.enable = true;
steam.enable = true;
};
system.stateVersion = "23.11";

View file

@ -6,13 +6,8 @@
...
}: {
home-manager.users.aly = {
imports = [../../homeManagerModules];
home.username = "aly";
home.homeDirectory = "/home/aly";
home.stateVersion = "23.11";
programs.home-manager.enable = true;
imports = [../../homeManagerModules ../../aly.nix];
xdg.userDirs.music = "/mnt/Media/Music";
home.stateVersion = "23.11";
};
}

View file

@ -71,22 +71,27 @@ in {
environment.systemPackages = [cs-adjuster cs-adjuster-plasma pp-adjuster];
alyraffauf.desktop = {
enable = true;
hyprland.enable = true;
alyraffauf = {
system = {
plymouth.enable = true;
zramSwap = {enable = true;};
};
user = {
aly.enable = true;
dustin.enable = true;
};
desktop = {
enable = true;
hyprland.enable = true;
};
apps = {
steam.enable = true;
podman.enable = true;
virt-manager.enable = true;
};
};
alyraffauf.system = {
plymouth.enable = true;
zramSwap = {enable = true;};
};
alyraffauf.apps = {
flatpak.enable = true;
podman.enable = true;
steam.enable = true;
virt-manager.enable = true;
};
users.users.aly.hashedPassword = "$y$j9T$Ug0ZLHQQuRciFJDgOI6r00$eHc.KyQY0oU4k0LKRiZiGWJ19jkKNWHpOoyCJbtJif8";
system.stateVersion = "23.11";
}

View file

@ -5,13 +5,8 @@
lib,
...
}: {
users.users.aly.hashedPassword = "$y$j9T$Ug0ZLHQQuRciFJDgOI6r00$eHc.KyQY0oU4k0LKRiZiGWJ19jkKNWHpOoyCJbtJif8";
home-manager.users.aly = {
imports = [../../homeManagerModules];
home.username = "aly";
home.homeDirectory = "/home/aly";
imports = [../../homeManagerModules ../../aly.nix];
home.stateVersion = "23.11";
programs.home-manager.enable = true;
};
}

View file

@ -44,23 +44,28 @@
networking.hostName = "rustboro"; # Define your hostname.
alyraffauf.system = {
plymouth.enable = true;
zramSwap = {
alyraffauf = {
system = {
plymouth.enable = true;
zramSwap = {
enable = true;
size = 100;
};
};
user = {
aly.enable = true;
dustin.enable = true;
};
desktop = {
enable = true;
size = 100;
hyprland.enable = true;
};
apps = {
steam.enable = true;
};
};
alyraffauf.desktop = {
enable = true;
hyprland.enable = true;
};
alyraffauf.apps = {
flatpak.enable = true;
steam.enable = false;
};
users.users.aly.hashedPassword = "$y$j9T$VdtiEyMOegHpcUwgmCVFD0$K8Ne6.zk//VJNq2zxVQ0xE0Wg3LohvAQd3Xm9aXdM15";
# environment.persistence."/persist" = {
# hideMounts = true;

View file

@ -5,39 +5,13 @@
lib,
...
}: {
alyraffauf.user.dustin.enable = true;
users.users.dustin.hashedPassword = "$y$j9T$OXQYhj4IWjRJWWYsSwcqf.$lCcdq9S7m0EAdej9KMHWj9flH8K2pUb2gitNhLTlLG/";
home-manager.users.dustin = {
imports = [../../homeManagerModules];
home.username = "dustin";
home.homeDirectory = "/home/dustin";
home.stateVersion = "23.11";
programs.home-manager.enable = true;
alyraffauf.desktop.hyprland.hyprpaper.randomWallpaper.enable = false;
alyraffauf.services.easyeffects = {
enable = true;
preset = "LoudnessEqualizer.json";
};
};
users.users.aly.hashedPassword = "$y$j9T$VdtiEyMOegHpcUwgmCVFD0$K8Ne6.zk//VJNq2zxVQ0xE0Wg3LohvAQd3Xm9aXdM15";
home-manager.users.aly = {
imports = [../../homeManagerModules];
home.username = "aly";
home.homeDirectory = "/home/aly";
home.stateVersion = "23.11";
programs.home-manager.enable = true;
imports = [../../homeManagerModules ../../aly.nix];
xdg.userDirs.music = "/mnt/Media/Music";
alyraffauf.services.easyeffects = {
enable = true;
preset = "LoudnessEqualizer.json";
};
home.stateVersion = "23.11";
};
}

View file

@ -31,7 +31,5 @@
fonts = ["DroidSansMono" "FiraCode" "FiraMono" "Hack" "Noto"];
})
];
alyraffauf.desktop.hyprland.enable = lib.mkDefault true;
};
}

View file

@ -11,27 +11,33 @@
};
config = lib.mkIf config.alyraffauf.desktop.hyprland.enable {
services.greetd = {
enable = true;
settings = rec {
default_session = {
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --remember --cmd Hyprland";
services = {
dbus.packages = [pkgs.gcr];
greetd = {
enable = true;
settings = rec {
default_session = {
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --remember --cmd Hyprland";
};
};
};
udev.packages = [pkgs.swayosd];
};
security.pam.services.greetd.enableKwallet = true;
security.pam.services.greetd.enableGnomeKeyring = true;
security.pam.services.swaylock = {};
security.pam.services = {
greetd.enableKwallet = true;
greetd.enableGnomeKeyring = true;
swaylock = {};
};
programs.hyprland.enable = true;
programs.hyprland.package =
inputs.hyprland.packages.${pkgs.system}.hyprland;
programs.gnupg.agent.pinentryPackage = pkgs.pinentry-gnome3;
services.dbus.packages = [pkgs.gcr];
services.udev.packages = [pkgs.swayosd];
programs = {
gnupg.agent.pinentryPackage = pkgs.pinentry-gnome3;
hyprland = {
enable = true;
package =
inputs.hyprland.packages.${pkgs.system}.hyprland;
};
};
environment.sessionVariables.NIXOS_OZONE_WL = "1";

View file

@ -6,8 +6,6 @@
}: {
imports = [./aly ./dustin];
alyraffauf.user.aly.enable = lib.mkDefault true;
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;