3 Commits

Author SHA1 Message Date
4861ba8d56 -repl-flakes, fix:homeConfiguration module 2024-11-25 09:42:56 +01:00
6a0334cd38 +disko 2024-09-17 14:28:40 +02:00
aa7dcee696 video6 2024-09-10 13:59:56 +02:00
13 changed files with 160 additions and 26 deletions

38
flake.lock generated
View File

@ -1,5 +1,41 @@
{ {
"nodes": { "nodes": {
"disko": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1726524467,
"narHash": "sha256-xkPPPvfHhHK7BNX5ZrQ9N6AIEixCmFzRZHduDf0zv30=",
"owner": "nix-community",
"repo": "disko",
"rev": "22ee467a54a3ab7fa9d637ccad5330c6c087e9dc",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "disko",
"type": "github"
}
},
"dotfiles": {
"flake": false,
"locked": {
"lastModified": 1725956275,
"narHash": "sha256-4tHKP+PLpJKnFfOT6MY3p/NDBr/3NDyWljB8/iELVZs=",
"ref": "refs/heads/master",
"rev": "b1393f4b54b8e908b770450ccc49400713d8e457",
"revCount": 1,
"type": "git",
"url": "https://code.m3tam3re.com/m3tam3re/dotfiles-flake-demo.git"
},
"original": {
"type": "git",
"url": "https://code.m3tam3re.com/m3tam3re/dotfiles-flake-demo.git"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -54,6 +90,8 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"disko": "disko",
"dotfiles": "dotfiles",
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"

View File

@ -17,10 +17,22 @@
}; };
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05";
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
dotfiles = {
url = "git+https://code.m3tam3re.com/m3tam3re/dotfiles-flake-demo.git";
flake = false;
};
}; };
outputs = { outputs = {
self, self,
disko,
dotfiles,
home-manager, home-manager,
nixpkgs, nixpkgs,
... ...
@ -41,14 +53,17 @@
nixosConfigurations = { nixosConfigurations = {
m3-kratos-vm = nixpkgs.lib.nixosSystem { m3-kratos-vm = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs outputs;}; specialArgs = {inherit inputs outputs;};
modules = [./hosts/m3-kratos]; modules = [
./hosts/m3-kratos
inputs.disko.nixosModules.disko
];
}; };
}; };
homeConfigurations = { homeConfigurations = {
"m3tam3re@m3-kratos-vm" = home-manager.lib.homeManagerConfiguration { "m3tam3re@m3-kratos-vm" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages."x86_64-linux"; pkgs = nixpkgs.legacyPackages."x86_64-linux";
extraSpecialArgs = {inherit inputs outputs;}; extraSpecialArgs = {inherit inputs outputs;};
modules = [./home/m3tam3re/m3tam3re.nix]; modules = [./home/m3tam3re/m3-kratos.nix];
}; };
}; };
}; };

View File

@ -1,4 +1,10 @@
{ config, lib, outputs, pkgs, ... }: { {
config,
lib,
outputs,
pkgs,
...
}: {
nixpkgs = { nixpkgs = {
# You can add overlays here # You can add overlays here
overlays = [ overlays = [
@ -29,7 +35,7 @@
nix = { nix = {
package = lib.mkDefault pkgs.nix; package = lib.mkDefault pkgs.nix;
settings = { settings = {
experimental-features = [ "nix-command" "flakes" "repl-flake" ]; experimental-features = ["nix-command" "flakes"];
warn-dirty = false; warn-dirty = false;
}; };
}; };

View File

@ -1,5 +1,6 @@
{pkgs, ...}: { {pkgs, ...}: {
imports = [ imports = [
./fonts.nix
./hyprland.nix ./hyprland.nix
./wayland.nix ./wayland.nix
]; ];

View File

@ -0,0 +1,23 @@
{
config,
lib,
pkgs,
...
}:
with lib; let
cfg = config.features.desktop.fonts;
in {
options.features.desktop.fonts.enable =
mkEnableOption "install additional fonts for desktop apps";
config = mkIf cfg.enable {
home.packages = with pkgs; [
fira-code
fira-code-symbols
fira-code-nerdfont
font-manager
font-awesome_5
noto-fonts
];
};
}

View File

@ -0,0 +1,8 @@
{
home.file.".config/bat/config".text = ''
--theme="Dracula"
# Show line numbers, Git modifications and file header (but no grid)
--style="numbers,changes,header"
'';
}

View File

@ -0,0 +1,10 @@
{inputs, ...}: {
imports = [
./bat.nix
];
home.file.".config/nvim" = {
source = "${inputs.dotfiles}/nvim";
recursive = true;
};
}

View File

@ -1,6 +1,7 @@
{ {
imports = [ imports = [
../common ../common
./dotfiles
../features/cli ../features/cli
../features/desktop ../features/desktop
./home.nix ./home.nix
@ -13,6 +14,7 @@
neofetch.enable = true; neofetch.enable = true;
}; };
desktop = { desktop = {
fonts.enable = true;
hyprland.enable = true; hyprland.enable = true;
wayland.enable = true; wayland.enable = true;
}; };

View File

@ -1 +0,0 @@
../../../home/m3tam3re

View File

@ -26,5 +26,5 @@
packages = [inputs.home-manager.packages.${pkgs.system}.default]; packages = [inputs.home-manager.packages.${pkgs.system}.default];
}; };
home-manager.users.m3tam3re = home-manager.users.m3tam3re =
import m3tam3re/${config.networking.hostName}.nix; import ../../../home/m3tam3re/${config.networking.hostName}.nix;
} }

View File

@ -4,13 +4,13 @@
{pkgs, ...}: { {pkgs, ...}: {
imports = [ imports = [
# Include the results of the hardware scan. # Include the results of the hardware scan.
./disko-config.nix
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
# Bootloader. # Bootloader.
boot.loader.grub.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.grub.device = "/dev/vda"; boot.loader.efi.canTouchEfiVariables = true;
boot.loader.grub.useOSProber = true;
networking.hostName = "m3-kratos"; # Define your hostname. networking.hostName = "m3-kratos"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.

View File

@ -0,0 +1,36 @@
{
disko.devices = {
disk = {
nixos = {
type = "disk";
device = "/dev/vda";
content = {
type = "gpt";
partitions = {
boot = {
size = "1M";
type = "EF02"; # for grub MBR
};
ESP = {
size = "512M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
root = {
size = "100%";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/";
};
};
};
};
};
};
};
}

View File

@ -1,11 +1,15 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
imports = config,
[ (modulesPath + "/profiles/qemu-guest.nix") lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
]; ];
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk"]; boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk"];
@ -13,13 +17,6 @@
boot.kernelModules = ["kvm-intel"]; boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = []; boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/b3fbba01-1206-44d9-9b15-72e6313b4f72";
fsType = "ext4";
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # 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 # (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 # still possible to use this option, but it's recommended to use it in conjunction
@ -29,4 +26,3 @@
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
} }