Initialized flake and home-manager with flake

This commit is contained in:
Martin Berg Alstad 2024-12-27 18:47:23 +01:00
parent 80f33c8fbd
commit 9836f989ca
Signed by: martials
GPG Key ID: A3824877B269F2E2
7 changed files with 176 additions and 3 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
hardware-configuration.nix

View File

@ -8,7 +8,6 @@
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
<home-manager/nixos>
];
# Bootloader.
@ -94,8 +93,10 @@
docker
rustup
nodejs
pnpm
fastfetch
freetube
nixd
];
home-manager = {
@ -128,8 +129,10 @@
userName = "Martin Berg Alstad";
userEmail = "git@martials.no";
};
kitty.enable = true;
neovim = {
neovim = {
enable = true;
vimAlias = true;
};
@ -138,6 +141,10 @@
#wayland.windowManager.hyprland.enable = true;
};
nix = {
settings.experimental-features = [ "nix-command" "flakes" ];
};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
@ -170,6 +177,9 @@
kdeconnect = {
enable = true;
};
# Required for nvim with flakes
# nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
steam = {
enable = true;

48
flake.lock generated Normal file
View File

@ -0,0 +1,48 @@
{
"nodes": {
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1735053786,
"narHash": "sha256-Gm+0DcbUS338vvkwyYWms5jsWlx8z8MeQBzcnIDuIkw=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "35b98d20ca8f4ca1f6a2c30b8a2c8bb305a36d84",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1734649271,
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

32
flake.nix Normal file
View File

@ -0,0 +1,32 @@
{
description = "NixOS configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs@{ nixpkgs, home-manager, ... }:
let
system = "x86_64-linux";
in
{
nixosConfigurations = {
nixos = nixpkgs.lib.nixosSystem {
system = system;
modules = [
./configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.martin = import ./home.nix;
}
];
};
};
};
}

View File

@ -0,0 +1,41 @@
# 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")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/5e3f0f97-4bb4-4a53-ace2-9ed19ff9e8ea";
fsType = "btrfs";
options = [ "subvol=@" ];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/D188-48A9";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = [ ];
# 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;
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
# networking.interfaces.enp0s20f0u8.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp6s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

41
home.nix Normal file
View File

@ -0,0 +1,41 @@
{ config, pkgs, ... }:
{
# Home Manager needs a bit of information about you and the
# paths it should manage.
home = {
username = "martin";
homeDirectory = "/home/martin";
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
stateVersion = "24.11";
};
# Let Home Manager install and manage itself.
programs = {
git = {
enable = true;
userName = "Martin Berg Alstad";
userEmail = "git@martials.no";
};
home-manager.enable = true;
kitty.enable = true;
neovim = {
enable = true;
vimAlias = true;
viAlias = true;
};
};
services = {
gpg-agent = {
enable = true;
pinentryPackage = pkgs.pinentry-curses;
};
};
}

1
result Symbolic link
View File

@ -0,0 +1 @@
/nix/store/1q8w6gl1ll0mwfkqc3c2yx005s6wwfrl-hello-2.12.1