feat!: change machine hostnames
Instead of merely naming my systems "laptop", "desktop", etc. (boring), I now have them named after Aristotelian elements (cool). This also gives me an excuse to refactor my flake file.
This commit is contained in:
parent
e4ec3df115
commit
fb7b45f98d
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
This is my repository for my NixOS configurations for each of my devices, most of which share the majority of their code.
|
This is my repository for my NixOS configurations for each of my devices, most of which share the majority of their code.
|
||||||
|
|
||||||
## Screenshot (Laptop)
|
## Screenshot (`toki-fire`)
|
||||||
|
|
||||||
![screenshot](/assets/screenshot.png)
|
![screenshot](/assets/screenshot.png)
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
lib.mkIf (config.platform == "laptop") {
|
lib.mkIf (config.machine == "fire") {
|
||||||
services.upower = {
|
services.upower = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
{ config, pkgs, lib, username, fullname, ... }:
|
{ config, pkgs, lib, username, fullname, ... }:
|
||||||
let
|
let
|
||||||
inherit (config) platform;
|
inherit (config) machine;
|
||||||
isMobile = platform == "mobile";
|
isMobile = machine == "air";
|
||||||
|
|
||||||
hashedPassword =
|
hashedPassword =
|
||||||
if platform == "desktop" then
|
if machine == "earth" then
|
||||||
"$6$HYibiGhDN.JgLtw6$cecU7NjfumTUJSkFNFQG4uVgdd3tTPLGxK0zHAwYn3un/V43IUlyVBNKoRMLCQk65RckbD/.AjsLFVFKUUHVA/"
|
"$y$j9T$rpQs/Fnsxh4DNw4qDSvTu.$nzA1EskOnWrYM.Iba7q73O.QPEn3DFWrX2.KY8mKza."
|
||||||
else if platform == "laptop" then
|
else if machine == "fire" then
|
||||||
"$6$y3eb1phxFWnParRT$w1LNfxJ2ByHoiBa5ywh4STGuIK/r4Tnyxx2Xe/nlovrE6LuuLAVdKRFAroUTtUI/d2BNGI9ErjZ2z2Dl7w/t00"
|
"$y$j9T$EXc0TFu9LQhQ9YGrOkb7u0$LpwNG0XpUIVSltLqUw7CAOLSsI2rZr1RTBnJai5dkM7"
|
||||||
else # if platform == "mobile"
|
else # if machine == "air"
|
||||||
"$6$vmmMT7pEY1W0Bj9R$Kb6nuwdg/KzCrGcUPkEo2jJ6a2NJRikiOeN8/I8ObU1K6rVYvgYqPVgPg9NkLaUScdh1PWcabuvaHCFLMw14A0";
|
"$y$j9T$zF34p.W/HFKrWde5Rb1nq/$1Q5IN9IT.IQ6SLg8InUZM5L27.jQV.cRtNENnUPp0ZC";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
nix.package = pkgs.nixFlakes;
|
nix.package = pkgs.nixFlakes;
|
||||||
|
@ -24,7 +24,7 @@ in
|
||||||
boot.loader.systemd-boot.enable = !isMobile;
|
boot.loader.systemd-boot.enable = !isMobile;
|
||||||
boot.loader.efi.canTouchEfiVariables = !isMobile;
|
boot.loader.efi.canTouchEfiVariables = !isMobile;
|
||||||
|
|
||||||
networking.hostName = "kiana-${platform}";
|
networking.hostName = "toki-${machine}";
|
||||||
networking.wireless.enable = false;
|
networking.wireless.enable = false;
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ let
|
||||||
mv * $out/share/sddm/themes/tokyo-night-sddm
|
mv * $out/share/sddm/themes/tokyo-night-sddm
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
in lib.mkIf (config.platform != "mobile") {
|
in lib.mkIf (config.machine != "air") {
|
||||||
environment.systemPackages = with pkgs.libsForQt5; [
|
environment.systemPackages = with pkgs.libsForQt5; [
|
||||||
tokyo-night-sddm # Theme
|
tokyo-night-sddm # Theme
|
||||||
qtbase
|
qtbase
|
||||||
|
|
36
flake.nix
36
flake.nix
|
@ -31,52 +31,51 @@ outputs = { self,
|
||||||
moduleArgs = { inherit username fullname email; } // inputs;
|
moduleArgs = { inherit username fullname email; } // inputs;
|
||||||
|
|
||||||
mkConfig =
|
mkConfig =
|
||||||
{ platform,
|
{ machine,
|
||||||
system ? "x86_64-linux",
|
system ? "x86_64-linux",
|
||||||
configModules ? [ ./config ],
|
configModules ? [ ./config ],
|
||||||
configExtraModules ? [],
|
configExtraModules ? [],
|
||||||
homeModules ? [ ./home-manager ],
|
homeModules ? [ ./home-manager ],
|
||||||
homeExtraModules ? []
|
homeExtraModules ? []
|
||||||
}:
|
}:
|
||||||
nixpkgs.lib.nixosSystem {
|
{
|
||||||
|
"toki-${machine}" = nixpkgs.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
modules =
|
modules =
|
||||||
configModules ++
|
configModules ++
|
||||||
configExtraModules ++
|
configExtraModules ++
|
||||||
[
|
[
|
||||||
./platform.nix
|
./machine.nix
|
||||||
{ _module.args = moduleArgs;
|
{ _module.args = moduleArgs;
|
||||||
inherit platform; }
|
inherit machine; }
|
||||||
./hardware-configuration/${platform}.nix
|
./hardware-configuration/${machine}.nix
|
||||||
|
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.extraSpecialArgs = moduleArgs;
|
home-manager.extraSpecialArgs = moduleArgs;
|
||||||
|
|
||||||
home-manager.sharedModules = [ ./platform.nix { inherit platform; } ];
|
home-manager.sharedModules = [ ./machine.nix { inherit machine; } ];
|
||||||
home-manager.users.${username} = {
|
home-manager.users.${username} = {
|
||||||
imports = homeModules ++ homeExtraModules;
|
imports = homeModules ++ homeExtraModules;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
in {
|
|
||||||
nixosConfigurations = {
|
|
||||||
"${username}-desktop" = mkConfig {
|
|
||||||
platform = "desktop";
|
|
||||||
};
|
};
|
||||||
|
in {
|
||||||
"${username}-laptop" = mkConfig {
|
nixosConfigurations =
|
||||||
platform = "laptop";
|
mkConfig {
|
||||||
|
machine = "earth";
|
||||||
|
} //
|
||||||
|
mkConfig {
|
||||||
|
machine = "fire";
|
||||||
configExtraModules = [
|
configExtraModules = [
|
||||||
nixos-hardware.nixosModules.microsoft-surface-pro-intel
|
nixos-hardware.nixosModules.microsoft-surface-pro-intel
|
||||||
];
|
];
|
||||||
};
|
} //
|
||||||
|
mkConfig {
|
||||||
"${username}-mobile" = mkConfig {
|
machine = "air";
|
||||||
platform = "mobile";
|
|
||||||
system = "aarch64-linux";
|
system = "aarch64-linux";
|
||||||
configExtraModules = [
|
configExtraModules = [
|
||||||
./mobile/config.nix
|
./mobile/config.nix
|
||||||
|
@ -90,5 +89,4 @@ outputs = { self,
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -249,7 +249,7 @@
|
||||||
|
|
||||||
;; Bar Layout
|
;; Bar Layout
|
||||||
|
|
||||||
(defwidget laptop_bar_left_edge []
|
(defwidget fire_bar_left_edge []
|
||||||
(box :orientation "h"
|
(box :orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:halign "start"
|
:halign "start"
|
||||||
|
@ -257,17 +257,17 @@
|
||||||
(bar_window :class-limit 60
|
(bar_window :class-limit 60
|
||||||
:title-limit 50)))
|
:title-limit 50)))
|
||||||
|
|
||||||
(defwidget laptop_bar_left_wing []
|
(defwidget fire_bar_left_wing []
|
||||||
(box :orientation "h"
|
(box :orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:halign "end"
|
:halign "end"
|
||||||
:hexpand true
|
:hexpand true
|
||||||
(bar_time :width 175)))
|
(bar_time :width 175)))
|
||||||
|
|
||||||
(defwidget laptop_bar_center []
|
(defwidget fire_bar_center []
|
||||||
(bar_workspaces))
|
(bar_workspaces))
|
||||||
|
|
||||||
(defwidget laptop_bar_right_wing []
|
(defwidget fire_bar_right_wing []
|
||||||
(box :orientation "h"
|
(box :orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:hexpand true
|
:hexpand true
|
||||||
|
@ -275,7 +275,7 @@
|
||||||
:artist-limit 30
|
:artist-limit 30
|
||||||
:title-limit 25)))
|
:title-limit 25)))
|
||||||
|
|
||||||
(defwidget laptop_bar_right_edge []
|
(defwidget fire_bar_right_edge []
|
||||||
(box :orientation "h"
|
(box :orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:halign "end"
|
:halign "end"
|
||||||
|
@ -292,22 +292,22 @@
|
||||||
(bar_sep)
|
(bar_sep)
|
||||||
(bar_idleinhibit)))
|
(bar_idleinhibit)))
|
||||||
|
|
||||||
(defwidget laptop_bar_layout []
|
(defwidget fire_bar_layout []
|
||||||
(centerbox :class "bar"
|
(centerbox :class "bar"
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
(box :orientation "h"
|
(box :orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:hexpand true
|
:hexpand true
|
||||||
(laptop_bar_left_edge)
|
(fire_bar_left_edge)
|
||||||
(laptop_bar_left_wing))
|
(fire_bar_left_wing))
|
||||||
(laptop_bar_center)
|
(fire_bar_center)
|
||||||
(box :orientation "h"
|
(box :orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
(laptop_bar_right_wing)
|
(fire_bar_right_wing)
|
||||||
(laptop_bar_right_edge))))
|
(fire_bar_right_edge))))
|
||||||
|
|
||||||
|
|
||||||
(defwidget desktop_bar_left_edge []
|
(defwidget earth_bar_left_edge []
|
||||||
(box :orientation "h"
|
(box :orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:halign "start"
|
:halign "start"
|
||||||
|
@ -315,17 +315,17 @@
|
||||||
(bar_window :class-limit 90
|
(bar_window :class-limit 90
|
||||||
:title-limit 80)))
|
:title-limit 80)))
|
||||||
|
|
||||||
(defwidget desktop_bar_left_wing []
|
(defwidget earth_bar_left_wing []
|
||||||
(box :orientation "h"
|
(box :orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:halign "end"
|
:halign "end"
|
||||||
:hexpand true
|
:hexpand true
|
||||||
(bar_time :width 175)))
|
(bar_time :width 175)))
|
||||||
|
|
||||||
(defwidget desktop_bar_center []
|
(defwidget earth_bar_center []
|
||||||
(bar_workspaces))
|
(bar_workspaces))
|
||||||
|
|
||||||
(defwidget desktop_bar_right_wing []
|
(defwidget earth_bar_right_wing []
|
||||||
(box :orientation "h"
|
(box :orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:hexpand true
|
:hexpand true
|
||||||
|
@ -333,7 +333,7 @@
|
||||||
:artist-limit 30
|
:artist-limit 30
|
||||||
:title-limit 25)))
|
:title-limit 25)))
|
||||||
|
|
||||||
(defwidget desktop_bar_right_edge []
|
(defwidget earth_bar_right_edge []
|
||||||
(box :orientation "h"
|
(box :orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:halign "end"
|
:halign "end"
|
||||||
|
@ -348,22 +348,22 @@
|
||||||
(bar_sep)
|
(bar_sep)
|
||||||
(bar_idleinhibit)))
|
(bar_idleinhibit)))
|
||||||
|
|
||||||
(defwidget desktop_bar_layout []
|
(defwidget earth_bar_layout []
|
||||||
(centerbox :class "bar"
|
(centerbox :class "bar"
|
||||||
:orientation "h"
|
:orientation "h"
|
||||||
(box :orientation "h"
|
(box :orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
:hexpand true
|
:hexpand true
|
||||||
(desktop_bar_left_edge)
|
(earth_bar_left_edge)
|
||||||
(desktop_bar_left_wing))
|
(earth_bar_left_wing))
|
||||||
(desktop_bar_center)
|
(earth_bar_center)
|
||||||
(box :orientation "h"
|
(box :orientation "h"
|
||||||
:space-evenly false
|
:space-evenly false
|
||||||
(desktop_bar_right_wing)
|
(earth_bar_right_wing)
|
||||||
(desktop_bar_right_edge))))
|
(earth_bar_right_edge))))
|
||||||
|
|
||||||
|
|
||||||
(defwindow laptop_bar
|
(defwindow fire_bar
|
||||||
:monitor 0
|
:monitor 0
|
||||||
:geometry (geometry :width "100%"
|
:geometry (geometry :width "100%"
|
||||||
:height "3%"
|
:height "3%"
|
||||||
|
@ -372,9 +372,9 @@
|
||||||
:stacking "fg"
|
:stacking "fg"
|
||||||
:exclusive true
|
:exclusive true
|
||||||
:focusable false
|
:focusable false
|
||||||
(laptop_bar_layout))
|
(fire_bar_layout))
|
||||||
|
|
||||||
(defwindow desktop_bar
|
(defwindow earth_bar
|
||||||
:monitor 0
|
:monitor 0
|
||||||
:geometry (geometry :width "100%"
|
:geometry (geometry :width "100%"
|
||||||
:height "3%"
|
:height "3%"
|
||||||
|
@ -383,4 +383,4 @@
|
||||||
:stacking "fg"
|
:stacking "fg"
|
||||||
:exclusive true
|
:exclusive true
|
||||||
:focusable false
|
:focusable false
|
||||||
(desktop_bar_layout))
|
(earth_bar_layout))
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
modules-center = [ "hyprland/window" ];
|
modules-center = [ "hyprland/window" ];
|
||||||
|
|
||||||
modules-right =
|
modules-right =
|
||||||
if config.platform == "laptop" then
|
if config.machine == "fire" then
|
||||||
[ "battery" "pulseaudio" "backlight" "network" "clock" "idle_inhibitor" ]
|
[ "battery" "pulseaudio" "backlight" "network" "clock" "idle_inhibitor" ]
|
||||||
else
|
else
|
||||||
[ "pulseaudio" "network" "clock" "idle_inhibitor" ];
|
[ "pulseaudio" "network" "clock" "idle_inhibitor" ];
|
||||||
|
@ -217,7 +217,7 @@
|
||||||
#pulseaudio {
|
#pulseaudio {
|
||||||
background-color: @altblend;
|
background-color: @altblend;
|
||||||
${
|
${
|
||||||
if config.platform == "laptop" then
|
if config.machine == "fire" then
|
||||||
''
|
''
|
||||||
margin: 3px 0px 3px 2px;
|
margin: 3px 0px 3px 2px;
|
||||||
padding-right: 5px;
|
padding-right: 5px;
|
||||||
|
|
|
@ -143,7 +143,7 @@
|
||||||
|
|
||||||
# WLuma
|
# WLuma
|
||||||
|
|
||||||
# systemd.user.services.wluma = lib.mkIf (config.platform == "laptop") {
|
# systemd.user.services.wluma = lib.mkIf (config.machine== "fire") {
|
||||||
# Install.WantedBy = [ "graphical-session.target" ];
|
# Install.WantedBy = [ "graphical-session.target" ];
|
||||||
|
|
||||||
# Unit = {
|
# Unit = {
|
||||||
|
|
7
machine.nix
Normal file
7
machine.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
{
|
||||||
|
options.machine = lib.mkOption {
|
||||||
|
description = "The machine hostname to configure for";
|
||||||
|
type = lib.types.enum [ "earth" "fire" "air" "water" ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,7 +0,0 @@
|
||||||
{ lib, ... }:
|
|
||||||
{
|
|
||||||
options.platform = lib.mkOption {
|
|
||||||
description = "The platform to configure for";
|
|
||||||
type = lib.types.str;
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in a new issue