mirror of
https://github.com/larstvei/nix-config.git
synced 2025-11-05 07:50:12 +00:00
Compare commits
No commits in common. "70a4b3195c93b5684f786f1d3f341358a518cb53" and "129292f28580349a5f11d6bf3b055b5cd600fd21" have entirely different histories.
70a4b3195c
...
129292f285
@ -202,11 +202,11 @@
|
|||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757604536,
|
"lastModified": 1757371422,
|
||||||
"narHash": "sha256-q0zKPGRi5oW59IpYkxmjyRRLtqwsDaDFbb+oOcFpg2s=",
|
"narHash": "sha256-4EEIRJE52cACFG2ik/+pU5vh8CKShwKLSSTaivGouGM=",
|
||||||
"owner": "larstvei",
|
"owner": "larstvei",
|
||||||
"repo": "nanostatus",
|
"repo": "nanostatus",
|
||||||
"rev": "9338759e13edeca8d8dc14a3b3b8485d5c2fa22e",
|
"rev": "af0dc80af18569becbf40c77ac7380c2efc6bef6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
10
flake.nix
10
flake.nix
@ -45,7 +45,7 @@
|
|||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
home-manager.darwinModules.default
|
home-manager.darwinModules.default
|
||||||
./machines/macbook
|
./hosts/macbook/configuration.nix
|
||||||
nix-rosetta-builder.darwinModules.default
|
nix-rosetta-builder.darwinModules.default
|
||||||
{ nix-rosetta-builder.onDemand = true; }
|
{ nix-rosetta-builder.onDemand = true; }
|
||||||
];
|
];
|
||||||
@ -54,10 +54,14 @@
|
|||||||
|
|
||||||
nixosConfigurations.thinkpad = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.thinkpad = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = { inherit emacs-larstvei nanostatus zen-browser; };
|
specialArgs = {
|
||||||
|
inherit nanostatus;
|
||||||
|
inherit emacs-larstvei;
|
||||||
|
inherit zen-browser;
|
||||||
|
};
|
||||||
modules = [
|
modules = [
|
||||||
home-manager.nixosModules.default
|
home-manager.nixosModules.default
|
||||||
./machines/thinkpad
|
./hosts/thinkpad/configuration.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../languages
|
./languages
|
||||||
../tools
|
./tools
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
@ -6,7 +6,6 @@
|
|||||||
pkgs.brightnessctl
|
pkgs.brightnessctl
|
||||||
pkgs.grimblast
|
pkgs.grimblast
|
||||||
pkgs.pamixer
|
pkgs.pamixer
|
||||||
pkgs.wl-clipboard
|
|
||||||
pkgs.wtype
|
pkgs.wtype
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -18,6 +18,15 @@ let
|
|||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
extraPortals = [
|
||||||
|
pkgs.xdg-desktop-portal-hyprland
|
||||||
|
pkgs.xdg-desktop-portal-gtk
|
||||||
|
];
|
||||||
|
config.hyprland."org.freedesktop.impl.portal.Settings" = "darkman";
|
||||||
|
};
|
||||||
|
|
||||||
services.darkman = {
|
services.darkman = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.portal = true;
|
settings.portal = true;
|
||||||
@ -1,4 +1,29 @@
|
|||||||
|
{ pkgs, emacs-larstvei, ... }:
|
||||||
|
let
|
||||||
|
v = import ./variables.nix;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
../../system
|
||||||
|
../../system/darwin
|
||||||
|
];
|
||||||
|
|
||||||
|
system.primaryUser = v.username;
|
||||||
|
|
||||||
|
networking.hostName = v.hostName;
|
||||||
|
|
||||||
|
users.users.${v.username} = {
|
||||||
|
home = v.userHome;
|
||||||
|
shell = pkgs.fish;
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
extraSpecialArgs = { inherit emacs-larstvei; };
|
||||||
|
users.${v.username}.imports = [ ../../home ];
|
||||||
|
};
|
||||||
|
|
||||||
homebrew = {
|
homebrew = {
|
||||||
enable = true;
|
enable = true;
|
||||||
onActivation = {
|
onActivation = {
|
||||||
5
hosts/macbook/variables.nix
Normal file
5
hosts/macbook/variables.nix
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
username = "larstvei";
|
||||||
|
userHome = "/Users/larstvei";
|
||||||
|
hostName = "larstvei-macbookpro";
|
||||||
|
}
|
||||||
94
hosts/thinkpad/configuration.nix
Normal file
94
hosts/thinkpad/configuration.nix
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
nanostatus,
|
||||||
|
emacs-larstvei,
|
||||||
|
zen-browser,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
v = import ./variables.nix;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../../system
|
||||||
|
../../system/nixos
|
||||||
|
./keyboard.nix
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
extraSpecialArgs = {
|
||||||
|
inherit nanostatus;
|
||||||
|
inherit emacs-larstvei;
|
||||||
|
inherit zen-browser;
|
||||||
|
};
|
||||||
|
users.${v.username}.imports = [
|
||||||
|
../../home
|
||||||
|
../../home/desktop
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.greetd = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
default_session = {
|
||||||
|
command = "hyprland";
|
||||||
|
user = v.username;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.${v.username} = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Lars Tveito";
|
||||||
|
home = v.userHome;
|
||||||
|
shell = pkgs.fish;
|
||||||
|
extraGroups = [
|
||||||
|
"networkmanager"
|
||||||
|
"wheel"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.hostName = v.hostName;
|
||||||
|
|
||||||
|
console.keyMap = "us";
|
||||||
|
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
# Enable networking
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "Europe/Oslo";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
# Enable bluetooth.
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
services.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# This value determines the NixOS release from which the default
|
||||||
|
# settings for stateful data, like file locations and database versions
|
||||||
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
# this value at the release version of the first install of this system.
|
||||||
|
# Before changing this value read the documentation for this option
|
||||||
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
|
system.stateVersion = "25.05"; # Did you read the comment?
|
||||||
|
}
|
||||||
5
hosts/thinkpad/variables.nix
Normal file
5
hosts/thinkpad/variables.nix
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
username = "larstvei";
|
||||||
|
userHome = "/home/larstvei";
|
||||||
|
hostName = "larstvei-think";
|
||||||
|
}
|
||||||
@ -1,23 +0,0 @@
|
|||||||
{ pkgs, emacs-larstvei, ... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
../../modules/base
|
|
||||||
../../modules/darwin
|
|
||||||
];
|
|
||||||
|
|
||||||
system.primaryUser = "larstvei";
|
|
||||||
|
|
||||||
networking.hostName = "larstvei-macbookpro";
|
|
||||||
|
|
||||||
users.users.larstvei = {
|
|
||||||
home = "/Users/larstvei";
|
|
||||||
shell = pkgs.fish;
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager = {
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
useUserPackages = true;
|
|
||||||
extraSpecialArgs = { inherit emacs-larstvei; };
|
|
||||||
users.larstvei.imports = [ ../../modules/home ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,60 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
nanostatus,
|
|
||||||
emacs-larstvei,
|
|
||||||
zen-browser,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./keyboard
|
|
||||||
./hardware
|
|
||||||
../../modules/base
|
|
||||||
../../modules/nixos
|
|
||||||
];
|
|
||||||
|
|
||||||
home-manager = {
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
useUserPackages = true;
|
|
||||||
extraSpecialArgs = { inherit nanostatus emacs-larstvei zen-browser; };
|
|
||||||
users.larstvei.imports = [
|
|
||||||
../../modules/home
|
|
||||||
../../modules/desktop
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.hostName = "larstvei-think";
|
|
||||||
|
|
||||||
users.users.larstvei = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Lars Tveito";
|
|
||||||
home = "/home/larstvei";
|
|
||||||
shell = pkgs.fish;
|
|
||||||
extraGroups = [
|
|
||||||
"networkmanager"
|
|
||||||
"wheel"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
console.keyMap = "us";
|
|
||||||
|
|
||||||
services.greetd = {
|
|
||||||
enable = true;
|
|
||||||
settings.default_session = {
|
|
||||||
command = "hyprland";
|
|
||||||
user = "larstvei";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Bootloader.
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
|
||||||
# settings for stateful data, like file locations and database versions
|
|
||||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
|
||||||
# this value at the release version of the first install of this system.
|
|
||||||
# Before changing this value read the documentation for this option
|
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
|
||||||
system.stateVersion = "25.05"; # Did you read the comment?
|
|
||||||
}
|
|
||||||
@ -1,54 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
../fonts
|
|
||||||
];
|
|
||||||
|
|
||||||
fonts = {
|
|
||||||
fontconfig = {
|
|
||||||
enable = true;
|
|
||||||
defaultFonts = {
|
|
||||||
serif = [ "Source Serif 4" ];
|
|
||||||
sansSerif = [ "Source Sans 3" ];
|
|
||||||
monospace = [ "Source Code Pro" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
programs._1password.enable = true;
|
|
||||||
programs._1password-gui.enable = true;
|
|
||||||
|
|
||||||
programs.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
withUWSM = true;
|
|
||||||
package = pkgs.hyprland;
|
|
||||||
portalPackage = pkgs.xdg-desktop-portal-hyprland;
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.portal = {
|
|
||||||
enable = true;
|
|
||||||
extraPortals = [
|
|
||||||
pkgs.xdg-desktop-portal-hyprland
|
|
||||||
pkgs.xdg-desktop-portal-gtk
|
|
||||||
];
|
|
||||||
config.hyprland."org.freedesktop.impl.portal.Settings" = "darkman";
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
hardware.bluetooth.enable = true;
|
|
||||||
services.printing.enable = true;
|
|
||||||
|
|
||||||
# Enable sound with pipewire.
|
|
||||||
services.pulseaudio.enable = false;
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,11 +1,15 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
../fonts
|
../../home/fonts
|
||||||
../homebrew
|
|
||||||
];
|
];
|
||||||
|
|
||||||
nix.linux-builder.enable = true;
|
nix.linux-builder.enable = true;
|
||||||
|
|
||||||
|
programs.fish.enable = true;
|
||||||
|
environment.shells = [ pkgs.fish ];
|
||||||
|
|
||||||
system = {
|
system = {
|
||||||
stateVersion = 4;
|
stateVersion = 4;
|
||||||
|
|
||||||
@ -1,11 +1,5 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
programs.fish.enable = true;
|
|
||||||
environment.shells = [ pkgs.fish ];
|
|
||||||
|
|
||||||
time.timeZone = "Europe/Oslo";
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
package = pkgs.nix;
|
package = pkgs.nix;
|
||||||
|
|
||||||
33
system/nixos/default.nix
Normal file
33
system/nixos/default.nix
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
../../home/fonts
|
||||||
|
];
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
fontconfig = {
|
||||||
|
enable = true;
|
||||||
|
defaultFonts = {
|
||||||
|
serif = [ "Source Serif 4" ];
|
||||||
|
sansSerif = [ "Source Sans 3" ];
|
||||||
|
monospace = [ "Source Code Pro" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.fish.enable = true;
|
||||||
|
environment.shells = [ pkgs.fish ];
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
programs._1password.enable = true;
|
||||||
|
programs._1password-gui.enable = true;
|
||||||
|
|
||||||
|
programs.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
withUWSM = true;
|
||||||
|
package = pkgs.hyprland;
|
||||||
|
portalPackage = pkgs.xdg-desktop-portal-hyprland;
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user