Compare commits
4 Commits
dd79f25336
...
272971cefd
Author | SHA1 | Date | |
---|---|---|---|
272971cefd | |||
3505e611c1 | |||
fd09e597c1 | |||
255c8ca4d0 |
58
flake.lock
generated
58
flake.lock
generated
@ -23,6 +23,21 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"catppuccin": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1727910534,
|
||||||
|
"narHash": "sha256-IjdGPDnBNk3r5h02kiPTKUOfn+UiKNWlhy/ozC0NgyQ=",
|
||||||
|
"owner": "catppuccin",
|
||||||
|
"repo": "nix",
|
||||||
|
"rev": "bad96d3fabf8d2e8f0bf0c2cb899a9fccf01ea03",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "catppuccin",
|
||||||
|
"repo": "nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"crane": {
|
"crane": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@ -171,11 +186,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727383923,
|
"lastModified": 1728041527,
|
||||||
"narHash": "sha256-4/vacp3CwdGoPf8U4e/N8OsGYtO09WTcQK5FqYfJbKs=",
|
"narHash": "sha256-03liqiJtk9UP7YQHW4r8MduKCK242FQzud8iWvvlK+o=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "ffe2d07e771580a005e675108212597e5b367d2d",
|
"rev": "509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -228,11 +243,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727453186,
|
"lastModified": 1728017225,
|
||||||
"narHash": "sha256-nZRCfVEZ9osWXsCD0xCpU66M8JkabMTukBzPRrD/CTA=",
|
"narHash": "sha256-lLV+OMkMeFqTEmoIZhpWtw6H+ebghupckhrCO+K0MdU=",
|
||||||
"owner": "Jovian-Experiments",
|
"owner": "Jovian-Experiments",
|
||||||
"repo": "Jovian-NixOS",
|
"repo": "Jovian-NixOS",
|
||||||
"rev": "3390ff2632d0d8a14c92473db60fa52bf881f979",
|
"rev": "cb63dc934ba512b2d56d89b94c5da7894f6a7809",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -253,11 +268,11 @@
|
|||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725379389,
|
"lastModified": 1727792571,
|
||||||
"narHash": "sha256-qS1H/5/20ewJIXmf8FN2A5KTOKKU9elWvCPwdBi1P/U=",
|
"narHash": "sha256-KBzRQVE1j2vrSg8WfYJ+vEvFBC25+2VsFSK7VL2kc1M=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "lanzaboote",
|
"repo": "lanzaboote",
|
||||||
"rev": "e7bd94e0b5ff3c1e686f2101004ebf4fcea9d871",
|
"rev": "e2365a1d8dccdcf4bca5111672e80df67d90957d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -276,11 +291,11 @@
|
|||||||
"spectrum": "spectrum"
|
"spectrum": "spectrum"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727444402,
|
"lastModified": 1727872811,
|
||||||
"narHash": "sha256-IhKB3RPTrblfiq6DW9MiGrS0ULcn/0qWtlefL+Gfg0o=",
|
"narHash": "sha256-78hOotCZ/G8l4nyWPdMWSOojdJ5NwHTR0usBVVBNTtU=",
|
||||||
"owner": "astro",
|
"owner": "astro",
|
||||||
"repo": "microvm.nix",
|
"repo": "microvm.nix",
|
||||||
"rev": "04f643d06b6f3f79cb289a8c94f051b012e1750e",
|
"rev": "e832ffc16b09b1b5c7c1224532d03ed3ce68afd0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -313,11 +328,11 @@
|
|||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727665282,
|
"lastModified": 1728056216,
|
||||||
"narHash": "sha256-oKtfbQB1MBypqIyzkC8QCQcVGOa1soaXaGgcBIoh14o=",
|
"narHash": "sha256-IrO06gFUDTrTlIP3Sz+mRB6WUoO2YsgMtOD3zi0VEt0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "11c43c830e533dad1be527ecce379fcf994fbbb5",
|
"rev": "b7ca02c7565fbf6d27ff20dd6dbd49c5b82eef28",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -329,11 +344,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727540905,
|
"lastModified": 1727907660,
|
||||||
"narHash": "sha256-40J9tW7Y794J7Uw4GwcAKlMxlX2xISBl6IBigo83ih8=",
|
"narHash": "sha256-QftbyPoieM5M50WKUMzQmWtBWib/ZJbHo7mhj5riQec=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "fbca5e745367ae7632731639de5c21f29c8744ed",
|
"rev": "5966581aa04be7eff830b9e1457d56dc70a0b798",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -361,11 +376,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727634051,
|
"lastModified": 1728018373,
|
||||||
"narHash": "sha256-S5kVU7U82LfpEukbn/ihcyNt2+EvG7Z5unsKW9H/yFA=",
|
"narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "06cf0e1da4208d3766d898b7fdab6513366d45b9",
|
"rev": "bc947f541ae55e999ffdb4013441347d83b00feb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -405,6 +420,7 @@
|
|||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"agenix": "agenix",
|
"agenix": "agenix",
|
||||||
|
"catppuccin": "catppuccin",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"home-manager-unstable": "home-manager-unstable",
|
"home-manager-unstable": "home-manager-unstable",
|
||||||
"impermanence": "impermanence",
|
"impermanence": "impermanence",
|
||||||
|
18
flake.nix
18
flake.nix
@ -38,23 +38,27 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
jovian-nixos = {
|
jovian-nixos = {
|
||||||
url = "github:Jovian-Experiments/Jovian-NixOS";
|
url = "github:Jovian-Experiments/Jovian-NixOS";
|
||||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||||
};
|
};
|
||||||
|
|
||||||
lanzaboote = {
|
lanzaboote = {
|
||||||
url = "github:nix-community/lanzaboote/master";
|
url = "github:nix-community/lanzaboote/master";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
catppuccin = {
|
||||||
|
url = "github:catppuccin/nix";
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs @ { self, nixpkgs, nixpkgs-unstable, nixos-hardware, home-manager, home-manager-unstable, agenix, jovian-nixos, microvm, impermanence, lanzaboote, ... }: # Function that tells my flake which to use and what do what to do with the dependencies.
|
outputs = inputs @ { self, nixpkgs, nixpkgs-unstable, nixos-hardware, home-manager, home-manager-unstable, agenix, jovian-nixos, microvm, impermanence, lanzaboote, catppuccin, ... }: # Function that tells my flake which to use and what do what to do with the dependencies.
|
||||||
rec {
|
rec {
|
||||||
nixosConfigurations = ( # NixOS configurations
|
nixosConfigurations = ( # NixOS configurations
|
||||||
import ./hosts { # Imports ./hosts/default.nix
|
import ./hosts { # Imports ./hosts/default.nix
|
||||||
inherit (nixpkgs) lib;
|
inherit (nixpkgs) lib;
|
||||||
inherit inputs nixpkgs nixpkgs-unstable nixos-hardware home-manager home-manager-unstable agenix jovian-nixos microvm impermanence lanzaboote; # Also inherit home-manager so it does not need to be defined here.
|
inherit inputs nixpkgs nixpkgs-unstable nixos-hardware home-manager home-manager-unstable agenix jovian-nixos microvm impermanence lanzaboote catppuccin; # Also inherit home-manager so it does not need to be defined here.
|
||||||
nix.allowedUsers = [ "@wheel" ];
|
nix.allowedUsers = [ "@wheel" ];
|
||||||
security.sudo.execWheelOnly = true;
|
security.sudo.execWheelOnly = true;
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
# └─ ./home.nix
|
# └─ ./home.nix
|
||||||
#
|
#
|
||||||
|
|
||||||
{ lib, inputs, nixpkgs, nixpkgs-unstable, nixos-hardware, home-manager, home-manager-unstable, agenix, jovian-nixos, microvm, impermanence, lanzaboote, ... }:
|
{ lib, inputs, nixpkgs, nixpkgs-unstable, nixos-hardware, home-manager, home-manager-unstable, agenix, jovian-nixos, microvm, impermanence, lanzaboote, catppuccin, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
user = "kabbone";
|
user = "kabbone";
|
||||||
@ -33,7 +33,7 @@ in
|
|||||||
{
|
{
|
||||||
hades = lib.nixosSystem { # Desktop profile
|
hades = lib.nixosSystem { # Desktop profile
|
||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = { inherit inputs user location nixos-hardware agenix microvm nixpkgs lanzaboote; };
|
specialArgs = { inherit inputs user location nixos-hardware agenix microvm nixpkgs lanzaboote catppuccin; };
|
||||||
modules = [
|
modules = [
|
||||||
agenix.nixosModules.default
|
agenix.nixosModules.default
|
||||||
microvm.nixosModules.host
|
microvm.nixosModules.host
|
||||||
@ -45,12 +45,13 @@ in
|
|||||||
nixos-hardware.nixosModules.common-cpu-amd
|
nixos-hardware.nixosModules.common-cpu-amd
|
||||||
nixos-hardware.nixosModules.common-gpu-amd
|
nixos-hardware.nixosModules.common-gpu-amd
|
||||||
nixos-hardware.nixosModules.common-pc-ssd
|
nixos-hardware.nixosModules.common-pc-ssd
|
||||||
|
catppuccin.nixosModules.catppuccin
|
||||||
|
|
||||||
|
|
||||||
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 = { inherit user; };
|
home-manager.extraSpecialArgs = { inherit user catppuccin; };
|
||||||
home-manager.users.${user} = {
|
home-manager.users.${user} = {
|
||||||
imports = [(import ./home.nix)] ++ [(import ./desktop/home.nix)];
|
imports = [(import ./home.nix)] ++ [(import ./desktop/home.nix)];
|
||||||
};
|
};
|
||||||
@ -60,7 +61,7 @@ in
|
|||||||
|
|
||||||
lifebook = lib.nixosSystem { # Laptop profile
|
lifebook = lib.nixosSystem { # Laptop profile
|
||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = { inherit inputs user location nixos-hardware agenix lanzaboote; };
|
specialArgs = { inherit inputs user location nixos-hardware agenix lanzaboote catppuccin; };
|
||||||
modules = [
|
modules = [
|
||||||
agenix.nixosModules.default
|
agenix.nixosModules.default
|
||||||
lanzaboote.nixosModules.lanzaboote
|
lanzaboote.nixosModules.lanzaboote
|
||||||
@ -69,11 +70,12 @@ in
|
|||||||
../modules/hardware/hydraCache.nix
|
../modules/hardware/hydraCache.nix
|
||||||
nixos-hardware.nixosModules.common-cpu-intel
|
nixos-hardware.nixosModules.common-cpu-intel
|
||||||
nixos-hardware.nixosModules.common-pc-ssd
|
nixos-hardware.nixosModules.common-pc-ssd
|
||||||
|
catppuccin.nixosModules.catppuccin
|
||||||
|
|
||||||
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 = { inherit user; };
|
home-manager.extraSpecialArgs = { inherit user catppuccin; };
|
||||||
home-manager.users.${user} = {
|
home-manager.users.${user} = {
|
||||||
imports = [(import ./home.nix)] ++ [(import ./lifebook/home.nix)];
|
imports = [(import ./home.nix)] ++ [(import ./lifebook/home.nix)];
|
||||||
};
|
};
|
||||||
@ -83,7 +85,7 @@ in
|
|||||||
|
|
||||||
nbf5 = lib.nixosSystem { # Laptop profile
|
nbf5 = lib.nixosSystem { # Laptop profile
|
||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = { inherit inputs user location nixos-hardware agenix; };
|
specialArgs = { inherit inputs user location nixos-hardware agenix catppuccin; };
|
||||||
modules = [
|
modules = [
|
||||||
agenix.nixosModules.default
|
agenix.nixosModules.default
|
||||||
./nbf5
|
./nbf5
|
||||||
@ -91,11 +93,12 @@ in
|
|||||||
../modules/hardware/hydraCache.nix
|
../modules/hardware/hydraCache.nix
|
||||||
nixos-hardware.nixosModules.common-cpu-intel
|
nixos-hardware.nixosModules.common-cpu-intel
|
||||||
nixos-hardware.nixosModules.common-pc-ssd
|
nixos-hardware.nixosModules.common-pc-ssd
|
||||||
|
catppuccin.nixosModules.catppuccin
|
||||||
|
|
||||||
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 = { inherit user; };
|
home-manager.extraSpecialArgs = { inherit user catppuccin; };
|
||||||
home-manager.users.${user} = {
|
home-manager.users.${user} = {
|
||||||
imports = [(import ./home.nix)] ++ [(import ./nbf5/home.nix)];
|
imports = [(import ./home.nix)] ++ [(import ./nbf5/home.nix)];
|
||||||
};
|
};
|
||||||
@ -105,7 +108,7 @@ in
|
|||||||
|
|
||||||
steamdeck = nixpkgs-unstable.lib.nixosSystem { # steamdeck profile
|
steamdeck = nixpkgs-unstable.lib.nixosSystem { # steamdeck profile
|
||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = { inherit inputs user location nixos-hardware agenix jovian-nixos lanzaboote; };
|
specialArgs = { inherit inputs user location nixos-hardware agenix jovian-nixos lanzaboote catppuccin; };
|
||||||
modules = [
|
modules = [
|
||||||
agenix.nixosModules.default
|
agenix.nixosModules.default
|
||||||
jovian-nixos.nixosModules.default
|
jovian-nixos.nixosModules.default
|
||||||
@ -113,11 +116,12 @@ in
|
|||||||
./steamdeck
|
./steamdeck
|
||||||
./configuration_desktop.nix
|
./configuration_desktop.nix
|
||||||
../modules/hardware/hydraCache.nix
|
../modules/hardware/hydraCache.nix
|
||||||
|
catppuccin.nixosModules.catppuccin
|
||||||
|
|
||||||
home-manager-unstable.nixosModules.home-manager {
|
home-manager-unstable.nixosModules.home-manager {
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.extraSpecialArgs = { inherit user; };
|
home-manager.extraSpecialArgs = { inherit user catppuccin; };
|
||||||
home-manager.users.${user} = {
|
home-manager.users.${user} = {
|
||||||
imports = [(import ./home.nix)] ++ [(import ./steamdeck/home.nix)];
|
imports = [(import ./home.nix)] ++ [(import ./steamdeck/home.nix)];
|
||||||
};
|
};
|
||||||
|
@ -46,10 +46,6 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
|
||||||
alacritty.settings.font.size = 11;
|
|
||||||
};
|
|
||||||
|
|
||||||
services = { # Applets
|
services = { # Applets
|
||||||
blueman-applet.enable = true; # Bluetooth
|
blueman-applet.enable = true; # Bluetooth
|
||||||
network-manager-applet.enable = true; # Network
|
network-manager-applet.enable = true; # Network
|
||||||
|
82
hosts/fuji/default.nix
Normal file
82
hosts/fuji/default.nix
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
#
|
||||||
|
# Specific system configuration settings for desktop
|
||||||
|
#
|
||||||
|
# flake.nix
|
||||||
|
# ├─ ./hosts
|
||||||
|
# │ └─ ./laptop
|
||||||
|
# │ ├─ default.nix *
|
||||||
|
# │ └─ hardware-configuration.nix
|
||||||
|
# └─ ./modules
|
||||||
|
# ├─ ./desktop
|
||||||
|
# │ └─ ./hyprland
|
||||||
|
# │ └─ hyprland.nix
|
||||||
|
# ├─ ./modules
|
||||||
|
# │ └─ ./programs
|
||||||
|
# │ └─ waybar.nix
|
||||||
|
# └─ ./hardware
|
||||||
|
# └─ default.nix
|
||||||
|
#
|
||||||
|
|
||||||
|
{ config, nixpkgs, pkgs, user, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = # For now, if applying to other system, swap files
|
||||||
|
[(import ./hardware-configuration.nix)] ++ # Current system hardware config @ /etc/nixos/hardware-configuration.nix
|
||||||
|
[(import ../../modules/wm/sway/default.nix)] ++ # Window Manager
|
||||||
|
(import ../../modules/wm/virtualisation) ++ # libvirt + Docker
|
||||||
|
[(import ../../modules/wm/virtualisation/kvm-amd.nix)] ++ # kvm module options
|
||||||
|
(import ../../modules/hardware); # Hardware devices
|
||||||
|
|
||||||
|
boot = { # Boot options
|
||||||
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
|
loader = { # EFI Boot
|
||||||
|
systemd-boot.enable = lib.mkForce false;
|
||||||
|
efi = {
|
||||||
|
canTouchEfiVariables = true;
|
||||||
|
efiSysMountPoint = "/boot";
|
||||||
|
};
|
||||||
|
timeout = 1; # Grub auto select time
|
||||||
|
};
|
||||||
|
|
||||||
|
lanzaboote = {
|
||||||
|
enable = true;
|
||||||
|
pkiBundle = "/etc/secureboot";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# hardware.sane = { # Used for scanning with Xsane
|
||||||
|
# enable = false;
|
||||||
|
# extraBackends = [ pkgs.sane-airscan ];
|
||||||
|
# };
|
||||||
|
# hardware = {
|
||||||
|
# nitrokey.enable = true;
|
||||||
|
# };
|
||||||
|
|
||||||
|
# environment = {
|
||||||
|
# systemPackages = with pkgs; [
|
||||||
|
## simple-scan
|
||||||
|
## intel-media-driver
|
||||||
|
## alacritty
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
|
||||||
|
services = {
|
||||||
|
#auto-cpufreq.enable = true;
|
||||||
|
blueman.enable = true;
|
||||||
|
printing = { # Printing and drivers for TS5300
|
||||||
|
enable = true;
|
||||||
|
drivers = [ pkgs.gutenprint ];
|
||||||
|
};
|
||||||
|
avahi = { # Needed to find wireless printer
|
||||||
|
enable = true;
|
||||||
|
nssmdns4 = true;
|
||||||
|
publish = { # Needed for detecting the scanner
|
||||||
|
enable = true;
|
||||||
|
addresses = true;
|
||||||
|
userServices = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
138
hosts/fuji/hardware-configuration.nix
Normal file
138
hosts/fuji/hardware-configuration.nix
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
#
|
||||||
|
# Hardware settings for Teclast F5 10" Laptop
|
||||||
|
# NixOS @ sda2
|
||||||
|
#
|
||||||
|
# flake.nix
|
||||||
|
# └─ ./hosts
|
||||||
|
# └─ ./laptop
|
||||||
|
# └─ hardware-configuration.nix *
|
||||||
|
#
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")] ++
|
||||||
|
[( import ../../modules/hardware/backup.nix )];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ "vfio_pci" "vfio" "vfio_iommu_type1" ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
boot.tmp.useTmpfs = false;
|
||||||
|
boot.tmp.cleanOnBoot = true;
|
||||||
|
zramSwap.enable = true;
|
||||||
|
|
||||||
|
services.btrfs.autoScrub = {
|
||||||
|
enable = true;
|
||||||
|
interval = "monthly";
|
||||||
|
fileSystems = [
|
||||||
|
"/"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.btrbk = {
|
||||||
|
instances = {
|
||||||
|
hf = {
|
||||||
|
onCalendar = "hourly";
|
||||||
|
settings = {
|
||||||
|
incremental = "yes";
|
||||||
|
snapshot_create = "ondemand";
|
||||||
|
snapshot_dir = "@snapshots";
|
||||||
|
timestamp_format = "long";
|
||||||
|
|
||||||
|
snapshot_preserve = "2m 2w 5d 5h";
|
||||||
|
snapshot_preserve_min = "latest";
|
||||||
|
|
||||||
|
volume = {
|
||||||
|
"/mnt/snapshots/root" = {
|
||||||
|
snapshot_create = "always";
|
||||||
|
subvolume = {
|
||||||
|
"@home" = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-id/nvme-ADATA_SX8200PNP_2J3320119186-part2";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@,discard=async" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/home" =
|
||||||
|
{ device = "/dev/disk/by-id/nvme-ADATA_SX8200PNP_2J3320119186-part2";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@home,discard=async" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/srv" =
|
||||||
|
{ device = "/dev/disk/by-id/nvme-ADATA_SX8200PNP_2J3320119186-part2";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@srv,discard=async" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/nix" =
|
||||||
|
{ device = "/dev/disk/by-id/nvme-ADATA_SX8200PNP_2J3320119186-part2";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@nix,discard=async" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/swap" =
|
||||||
|
{ device = "/dev/disk/by-id/nvme-ADATA_SX8200PNP_2J3320119186-part2";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@swap,discard=async" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/mnt/snapshots/root" =
|
||||||
|
{ device = "/dev/disk/by-id/nvme-ADATA_SX8200PNP_2J3320119186-part2";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvolid=5,discard=async" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-id/nvme-ADATA_SX8200PNP_2J3320119186-part1";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
swapDevices = [ { device = "/swap/swapfile"; } ];
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
useDHCP = false; # Deprecated
|
||||||
|
hostName = "fuji";
|
||||||
|
networkmanager = {
|
||||||
|
enable = false;
|
||||||
|
};
|
||||||
|
firewall = {
|
||||||
|
enable = true;
|
||||||
|
#allowedUDPPorts = [ 24727 ];
|
||||||
|
#allowedTCPPorts = [ 24727 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.network = {
|
||||||
|
enable = true;
|
||||||
|
networks = {
|
||||||
|
"10-lan" = {
|
||||||
|
matchConfig.Name = "eno1";
|
||||||
|
ntp = [ "192.168.2.1" ];
|
||||||
|
networkConfig = {
|
||||||
|
DHCP = "yes";
|
||||||
|
IPv6AcceptRA = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
#powerManagement.powertop.enable = true;
|
||||||
|
powerManagement = {
|
||||||
|
scsiLinkPolicy = "med_power_with_dipm";
|
||||||
|
};
|
||||||
|
}
|
45
hosts/fuji/home.nix
Normal file
45
hosts/fuji/home.nix
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
#
|
||||||
|
# Home-manager configuration for laptop
|
||||||
|
#
|
||||||
|
# flake.nix
|
||||||
|
# ├─ ./hosts
|
||||||
|
# │ └─ ./laptop
|
||||||
|
# │ └─ home.nix *
|
||||||
|
# └─ ./modules
|
||||||
|
# └─ ./desktop
|
||||||
|
# └─ ./hyprland
|
||||||
|
# └─ hyprland.nix
|
||||||
|
#
|
||||||
|
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
#../../modules/wm/hyprland/home.nix # Window Manager
|
||||||
|
#../../modules/wm/kde/home.nix # Window Manager
|
||||||
|
../../modules/home.nix # Window Manager
|
||||||
|
];
|
||||||
|
|
||||||
|
home = { # Specific packages for laptop
|
||||||
|
packages = with pkgs; [
|
||||||
|
# Applications
|
||||||
|
#firefox
|
||||||
|
chromium
|
||||||
|
thunderbird
|
||||||
|
streamlink
|
||||||
|
streamlink-twitch-gui-bin
|
||||||
|
element-desktop
|
||||||
|
#nheko
|
||||||
|
pulsemixer
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
services = { # Applets
|
||||||
|
#blueman-applet.enable = true; # Bluetooth
|
||||||
|
network-manager-applet.enable = true; # Network
|
||||||
|
};
|
||||||
|
|
||||||
|
xsession.preferStatusNotifierItems = true;
|
||||||
|
|
||||||
|
}
|
@ -15,10 +15,12 @@
|
|||||||
# └─ default.nix
|
# └─ default.nix
|
||||||
#
|
#
|
||||||
|
|
||||||
{ config, lib, pkgs, user, ... }:
|
{ config, lib, pkgs, user, catppuccin, ... }:
|
||||||
|
#{ config, lib, pkgs, user, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = # Home Manager Modules
|
imports =
|
||||||
|
[ catppuccin.homeManagerModules.catppuccin ] ++
|
||||||
(import ../modules/editors) ++
|
(import ../modules/editors) ++
|
||||||
(import ../modules/programs) ++
|
(import ../modules/programs) ++
|
||||||
(import ../modules/programs/configs) ++
|
(import ../modules/programs/configs) ++
|
||||||
@ -92,8 +94,8 @@
|
|||||||
#ms-python.python
|
#ms-python.python
|
||||||
ms-vscode.cpptools
|
ms-vscode.cpptools
|
||||||
dracula-theme.theme-dracula
|
dracula-theme.theme-dracula
|
||||||
catppuccin.catppuccin-vsc
|
#catppuccin.catppuccin-vsc
|
||||||
catppuccin.catppuccin-vsc-icons
|
#catppuccin.catppuccin-vsc-icons
|
||||||
|
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
@ -103,17 +105,56 @@
|
|||||||
];
|
];
|
||||||
file.".config/wall".source = ../modules/themes/wall.jpg;
|
file.".config/wall".source = ../modules/themes/wall.jpg;
|
||||||
file.".config/lockwall".source = ../modules/themes/lockwall.jpg;
|
file.".config/lockwall".source = ../modules/themes/lockwall.jpg;
|
||||||
pointerCursor = { # This will set cursor systemwide so applications can not choose their own
|
# pointerCursor = { # This will set cursor systemwide so applications can not choose their own
|
||||||
name = "Dracula-cursors";
|
# name = "Dracula-cursors";
|
||||||
package = pkgs.dracula-theme;
|
# package = pkgs.dracula-theme;
|
||||||
size = 16;
|
# size = 16;
|
||||||
gtk.enable = true;
|
# gtk.enable = true;
|
||||||
};
|
# };
|
||||||
stateVersion = "23.05";
|
stateVersion = "23.05";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
catppuccin = {
|
||||||
|
enable = true;
|
||||||
|
accent = "lavender";
|
||||||
|
flavor = "mocha";
|
||||||
|
pointerCursor.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk.catppuccin = {
|
||||||
|
enable = true;
|
||||||
|
accent = "lavender";
|
||||||
|
flavor = "mocha";
|
||||||
|
icon = {
|
||||||
|
enable = true;
|
||||||
|
accent = "lavender";
|
||||||
|
flavor = "mocha";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
qt.style.catppuccin = {
|
||||||
|
enable = true;
|
||||||
|
accent = "lavender";
|
||||||
|
flavor = "mocha";
|
||||||
|
apply = true;
|
||||||
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
home-manager.enable = true;
|
home-manager.enable = true;
|
||||||
|
alacritty = {
|
||||||
|
settings.font.size = 11;
|
||||||
|
catppuccin = {
|
||||||
|
enable = true;
|
||||||
|
flavor = "mocha";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
btop = {
|
||||||
|
catppuccin = {
|
||||||
|
enable = true;
|
||||||
|
flavor = "mocha";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
swaylock.catppuccin.enable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -43,10 +43,6 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
|
||||||
alacritty.settings.font.size = 11;
|
|
||||||
};
|
|
||||||
|
|
||||||
services = { # Applets
|
services = { # Applets
|
||||||
blueman-applet.enable = true; # Bluetooth
|
blueman-applet.enable = true; # Bluetooth
|
||||||
network-manager-applet.enable = true; # Network
|
network-manager-applet.enable = true; # Network
|
||||||
|
@ -43,10 +43,6 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
|
||||||
alacritty.settings.font.size = 11;
|
|
||||||
};
|
|
||||||
|
|
||||||
services = { # Applets
|
services = { # Applets
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.alacritty;
|
package = pkgs.alacritty;
|
||||||
settings = {
|
settings = {
|
||||||
|
env.term = "screen-256color";
|
||||||
font = rec { # Font - Laptop has size manually changed at home.nix
|
font = rec { # Font - Laptop has size manually changed at home.nix
|
||||||
#normal.family = "FiraCode Nerd Font";
|
#normal.family = "FiraCode Nerd Font";
|
||||||
normal.family = "Cascadia Code";
|
normal.family = "Cascadia Code";
|
||||||
|
@ -27,6 +27,7 @@ in
|
|||||||
|
|
||||||
services.dunst = {
|
services.dunst = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
catppuccin.enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
global = {
|
global = {
|
||||||
monitor = 0;
|
monitor = 0;
|
||||||
|
@ -72,9 +72,12 @@
|
|||||||
enableACME = true;
|
enableACME = true;
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
};
|
};
|
||||||
"${config.services.onlyoffice.hostname}".listen = [ {
|
"${config.services.onlyoffice.hostname}" = {
|
||||||
addr = "127.0.0.1"; port = 8080;
|
enableACME = true;
|
||||||
} ];
|
forceSSL = true;
|
||||||
|
listen = [ { addr = "127.0.0.1"; port = 8080; } ];
|
||||||
|
locations."/".proxyPass = "127.0.0.1:8000";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -19,22 +19,22 @@
|
|||||||
plugins = with pkgs.tmuxPlugins; [
|
plugins = with pkgs.tmuxPlugins; [
|
||||||
yank
|
yank
|
||||||
sidebar
|
sidebar
|
||||||
{
|
# {
|
||||||
# plugin = dracula;
|
# plugin = dracula;
|
||||||
# extraConfig = "
|
# extraConfig = "
|
||||||
# set -g @dracula-show-powerline true
|
# set -g @dracula-show-powerline true
|
||||||
# set -g @dracula-plugins 'git cpu-usage ram-usage battery time'
|
# set -g @dracula-plugins 'git cpu-usage ram-usage battery time'
|
||||||
# set -g @dracula-border-contrast true
|
# set -g @dracula-border-contrast true
|
||||||
# ";
|
# ";
|
||||||
plugin = catppuccin;
|
# plugin = catppuccin;
|
||||||
extraConfig = "
|
# extraConfig = "
|
||||||
set -g @catppuccin_flavour 'macchiato'
|
# set -g @catppuccin_flavour 'macchiato'
|
||||||
set -g @catppuccin_window_tabs_enabled 'on'
|
# set -g @catppuccin_window_tabs_enabled 'on'
|
||||||
set -g @catppuccin_host 'on'
|
# set -g @catppuccin_host 'on'
|
||||||
set -g @catppuccin_user 'on'
|
# set -g @catppuccin_user 'on'
|
||||||
set -g @catppuccin_date_time '%Y-%m-%d %H:%M'
|
# set -g @catppuccin_date_time '%Y-%m-%d %H:%M'
|
||||||
";
|
# ";
|
||||||
}
|
# }
|
||||||
];
|
];
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
set -g mouse on
|
set -g mouse on
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
catppuccin.enable = true;
|
||||||
checkConfig = false;
|
checkConfig = false;
|
||||||
config = rec {
|
config = rec {
|
||||||
menu = "${pkgs.rofi}/bin/rofi -show combi -show-icons";
|
menu = "${pkgs.rofi}/bin/rofi -show combi -show-icons";
|
||||||
@ -90,9 +91,9 @@
|
|||||||
startup = [
|
startup = [
|
||||||
{ command = "exec ${pkgs.rot8}/bin/rot8 -Y -k"; }
|
{ command = "exec ${pkgs.rot8}/bin/rot8 -Y -k"; }
|
||||||
{ command = "xrdb -load ~/.Xresources"; }
|
{ command = "xrdb -load ~/.Xresources"; }
|
||||||
{ command = "gsettings set org.gnome.desktop.interface gtk-theme Arc"; }
|
# { command = "gsettings set org.gnome.desktop.interface gtk-theme Dracula"; }
|
||||||
{ command = "gsettings set org.gnome.desktop.interface icon-theme ePapirus"; }
|
# { command = "gsettings set org.gnome.desktop.interface icon-theme Dracula"; }
|
||||||
{ command = "gsettings set org.gnome.desktop.interface cursor-theme Adwaita"; }
|
# { command = "gsettings set org.gnome.desktop.interface cursor-theme Adwaita"; }
|
||||||
#{ command = "exec ${pkgs.networkmanagerapplet}/bin/nm-applet --indicator"; }
|
#{ command = "exec ${pkgs.networkmanagerapplet}/bin/nm-applet --indicator"; }
|
||||||
{ command = "${pkgs.thunderbird}/bin/thunderbird"; }
|
{ command = "${pkgs.thunderbird}/bin/thunderbird"; }
|
||||||
{ command = "${pkgs.firefox}/bin/firefox"; }
|
{ command = "${pkgs.firefox}/bin/firefox"; }
|
||||||
@ -246,7 +247,8 @@
|
|||||||
export VDPAU_DRIVER="iHD";
|
export VDPAU_DRIVER="iHD";
|
||||||
export XDG_SESSION_TYPE="wayland";
|
export XDG_SESSION_TYPE="wayland";
|
||||||
export XDG_CURRENT_DESKTOP="sway";
|
export XDG_CURRENT_DESKTOP="sway";
|
||||||
export QT_QPA_PLATFORMTHEME="wayland-egl";
|
#export QT_QPA_PLATFORMTHEME="wayland-egl";
|
||||||
|
export QT_QPA_PLATFORMTHEME="qt6ct";
|
||||||
export GST_VAAPI_ALL_DRIVERS="1";
|
export GST_VAAPI_ALL_DRIVERS="1";
|
||||||
export GTK_THEME="Arc";
|
export GTK_THEME="Arc";
|
||||||
export _JAVA_AWT_WM_NONREPARENTING="1";
|
export _JAVA_AWT_WM_NONREPARENTING="1";
|
||||||
@ -290,7 +292,7 @@
|
|||||||
pkgs.pinentry-rofi
|
pkgs.pinentry-rofi
|
||||||
];
|
];
|
||||||
terminal = "${pkgs.alacritty}/bin/alacritty";
|
terminal = "${pkgs.alacritty}/bin/alacritty";
|
||||||
theme = "arthur";
|
# theme = "arthur";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -310,4 +312,22 @@
|
|||||||
};
|
};
|
||||||
swayosd.enable = true;
|
swayosd.enable = true;
|
||||||
};
|
};
|
||||||
|
# qt = {
|
||||||
|
# enable = true;
|
||||||
|
# style.package = [
|
||||||
|
# pkgs.dracula-theme
|
||||||
|
# pkgs.dracula-icon-theme
|
||||||
|
# pkgs.catppuccin-kvantum
|
||||||
|
# pkgs.catppuccin-kde
|
||||||
|
# pkgs.catppuccin-gtk
|
||||||
|
# pkgs.qt6Packages.qtstyleplugin-kvantum
|
||||||
|
# ];
|
||||||
|
# style.name = "kvantum";
|
||||||
|
# platformTheme.name = "qtct";
|
||||||
|
# };
|
||||||
|
# xdg.configFile = {
|
||||||
|
# "Kvantum/Catppuccin".source = "${pkgs.catppuccin-kvantum}/share/Kvantum/Catppuccin-Frappe-Blue";
|
||||||
|
# "Kvantum/kvantum.kvconfig".text = "[General]\ntheme=Catppuccin-Frappe-Blue";
|
||||||
|
# };
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user