Compare commits
25 Commits
a5511710a3
...
dd96ede0c8
Author | SHA1 | Date | |
---|---|---|---|
dd96ede0c8 | |||
25bc410fdd | |||
ac70365221 | |||
1c46f39e6d | |||
e0dc5888d8 | |||
dbde974faa | |||
cb534abacd | |||
92d8a0e76e | |||
09e4a7cb46 | |||
48c3a93156 | |||
232cec6c0e | |||
745f103304 | |||
a0b5f5b5c4 | |||
8db057bc42 | |||
f27298fa9f | |||
e6a3d4b7db | |||
cd200e0d1b | |||
4c45aa0005 | |||
bf73460fe7 | |||
3b839f957f | |||
abc25ef6ae | |||
fd6a01a1df | |||
57f260920f | |||
fac2369ac9 | |||
3a75c8c938 |
34
flake.lock
34
flake.lock
@ -7,31 +7,32 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709756385,
|
"lastModified": 1710888565,
|
||||||
"narHash": "sha256-EwAsCWfjLnq6Rzh9c95ThPhTTOQkY/R9ZROPUfhtHmE=",
|
"narHash": "sha256-s9Hi4RHhc6yut4EcYD50sZWRDKsugBJHSbON8KFwoTw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "ad9254cd9af9165000ecd6ef9c23c2b8ceda01c7",
|
"rev": "f33900124c23c4eca5831b9b5eb32ea5894375ce",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
|
"ref": "release-23.11",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709479366,
|
"lastModified": 1712168706,
|
||||||
"narHash": "sha256-n6F0n8UV6lnTZbYPl1A9q1BS0p4hduAv1mGAP17CVd0=",
|
"narHash": "sha256-XP24tOobf6GGElMd0ux90FEBalUtw6NkBSVh/RlA6ik=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b8697e57f10292a6165a20f03d2f42920dfaf973",
|
"rev": "1487bdea619e4a7a53a4590c475deabb5a9d1bfb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-23.11",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@ -56,7 +57,8 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"sops-nix": "sops-nix"
|
"sops-nix": "sops-nix",
|
||||||
|
"unstable": "unstable"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sops-nix": {
|
"sops-nix": {
|
||||||
@ -79,6 +81,22 @@
|
|||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"unstable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1712163089,
|
||||||
|
"narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "fd281bd6b7d3e32ddfa399853946f782553163b5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
23
flake.nix
23
flake.nix
@ -2,10 +2,12 @@
|
|||||||
description = "Nixos config flake";
|
description = "Nixos config flake";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
|
||||||
|
|
||||||
|
unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager/release-23.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -23,10 +25,23 @@
|
|||||||
...
|
...
|
||||||
} @ inputs: let
|
} @ inputs: let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
unstable = final: prev: {
|
||||||
|
unstable = import inputs.unstable {
|
||||||
|
system = final.system;
|
||||||
|
config = final.config;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
overlays = [unstable];
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
in {
|
in {
|
||||||
nixosConfigurations."MaxNixosLaptop" = nixpkgs.lib.nixosSystem {
|
nixosConfigurations."MaxNixosLaptop" = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {inherit inputs;};
|
specialArgs = {
|
||||||
|
inherit inputs;
|
||||||
|
inherit pkgs;
|
||||||
|
};
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/MaxNixosLaptop/configuration.nix
|
./hosts/MaxNixosLaptop/configuration.nix
|
||||||
|
@ -21,6 +21,20 @@
|
|||||||
inputs.home-manager.nixosModules.default
|
inputs.home-manager.nixosModules.default
|
||||||
];
|
];
|
||||||
|
|
||||||
|
hardware.opengl = {
|
||||||
|
enable = true;
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
libvdpau-va-gl
|
||||||
|
libvdpau
|
||||||
|
libva
|
||||||
|
rocmPackages.clr.icd
|
||||||
|
amdvlk
|
||||||
|
driversi686Linux.amdvlk
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware.spacenavd.enable = true;
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
@ -69,13 +83,10 @@
|
|||||||
users.users.max = {
|
users.users.max = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Max Känner";
|
description = "Max Känner";
|
||||||
extraGroups = ["networkmanager" "wheel"];
|
extraGroups = ["networkmanager" "wheel" "libvirtd"];
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Allow unfree packages
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
extraSpecialArgs = {inherit inputs;};
|
extraSpecialArgs = {inherit inputs;};
|
||||||
users = {
|
users = {
|
||||||
@ -89,11 +100,37 @@
|
|||||||
neovim
|
neovim
|
||||||
wget
|
wget
|
||||||
fprintd
|
fprintd
|
||||||
|
qemu
|
||||||
|
quickemu
|
||||||
home-manager
|
home-manager
|
||||||
|
(let
|
||||||
|
base = pkgs.appimageTools.defaultFhsEnvArgs;
|
||||||
|
in
|
||||||
|
pkgs.buildFHSUserEnv (base
|
||||||
|
// {
|
||||||
|
name = "fhs";
|
||||||
|
targetPkgs = pkgs: (
|
||||||
|
# pkgs.buildFHSUserEnv provides only a minimal FHS environment,
|
||||||
|
# lacking many basic packages needed by most software.
|
||||||
|
# Therefore, we need to add them manually.
|
||||||
|
#
|
||||||
|
# pkgs.appimageTools provides basic packages required by most software.
|
||||||
|
(base.targetPkgs pkgs)
|
||||||
|
++ [
|
||||||
|
pkg-config
|
||||||
|
ncurses
|
||||||
|
# Feel free to add more packages here if needed.
|
||||||
|
]
|
||||||
|
);
|
||||||
|
profile = "export FHS=1";
|
||||||
|
runScript = "bash";
|
||||||
|
extraOutputsToInstall = ["dev"];
|
||||||
|
}))
|
||||||
];
|
];
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
nerdfonts
|
nerdfonts
|
||||||
|
montserrat
|
||||||
];
|
];
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
@ -119,6 +156,24 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
defaultNetwork.settings.dns_enabled = true;
|
defaultNetwork.settings.dns_enabled = true;
|
||||||
};
|
};
|
||||||
|
libvirtd = {
|
||||||
|
enable = true;
|
||||||
|
qemu = {
|
||||||
|
package = pkgs.qemu_kvm;
|
||||||
|
runAsRoot = true;
|
||||||
|
swtpm.enable = true;
|
||||||
|
ovmf = {
|
||||||
|
enable = true;
|
||||||
|
packages = [
|
||||||
|
(pkgs.unstable.OVMF.override {
|
||||||
|
secureBoot = true;
|
||||||
|
tpmSupport = true;
|
||||||
|
})
|
||||||
|
.fd
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# List services that you want to enable:
|
# List services that you want to enable:
|
||||||
@ -132,9 +187,30 @@
|
|||||||
};
|
};
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
|
|
||||||
services.udev.extraRules = ''
|
services.udisks2.enable = true;
|
||||||
|
|
||||||
|
services.udev = {
|
||||||
|
enable = true;
|
||||||
|
packages = with pkgs; [
|
||||||
|
picoprobe-udev-rules
|
||||||
|
teensy-udev-rules
|
||||||
|
qmk-udev-rules
|
||||||
|
game-devices-udev-rules
|
||||||
|
android-udev-rules
|
||||||
|
];
|
||||||
|
extraRules = ''
|
||||||
ACTION=="add", KERNEL=="event[0-9]*", DEVPATH="/devices/platform/AMDI0010:02/i2c-2/i2c-ELAN2513:00/0018:04F3:2D9C.0001/input/input[0-9]*/event[0-9]*", SYMLINK+="touchscreen0"
|
ACTION=="add", KERNEL=="event[0-9]*", DEVPATH="/devices/platform/AMDI0010:02/i2c-2/i2c-ELAN2513:00/0018:04F3:2D9C.0001/input/input[0-9]*/event[0-9]*", SYMLINK+="touchscreen0"
|
||||||
'';
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
services.flatpak.enable = true;
|
||||||
|
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
jack.enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
# Enable the OpenSSH daemon.
|
||||||
# services.openssh.enable = true;
|
# services.openssh.enable = true;
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
config,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
inputs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
@ -27,8 +26,6 @@
|
|||||||
home.username = "max";
|
home.username = "max";
|
||||||
home.homeDirectory = "/home/max";
|
home.homeDirectory = "/home/max";
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
# This value determines the Home Manager release that your configuration is
|
# This value determines the Home Manager release that your configuration is
|
||||||
# compatible with. This helps avoid breakage when a new Home Manager release
|
# compatible with. This helps avoid breakage when a new Home Manager release
|
||||||
# introduces backwards incompatible changes.
|
# introduces backwards incompatible changes.
|
||||||
@ -46,7 +43,6 @@
|
|||||||
firefox
|
firefox
|
||||||
thunderbird
|
thunderbird
|
||||||
xournalpp
|
xournalpp
|
||||||
kicad
|
|
||||||
prismlauncher
|
prismlauncher
|
||||||
steam
|
steam
|
||||||
blender
|
blender
|
||||||
@ -55,22 +51,21 @@
|
|||||||
youtube-dl
|
youtube-dl
|
||||||
dconf
|
dconf
|
||||||
distrobox
|
distrobox
|
||||||
gyroflow
|
|
||||||
libqalculate
|
libqalculate
|
||||||
sops
|
sops
|
||||||
pwvucontrol
|
pwvucontrol
|
||||||
qpwgraph
|
qpwgraph
|
||||||
(pkgs.discord.override {
|
discord
|
||||||
withOpenASAR = true;
|
|
||||||
withVencord = true;
|
|
||||||
})
|
|
||||||
vesktop
|
|
||||||
libreoffice-fresh
|
libreoffice-fresh
|
||||||
mate.caja
|
mate.caja
|
||||||
kdePackages.okular
|
libsForQt5.okular
|
||||||
mpv
|
mpv
|
||||||
gimp
|
gimp
|
||||||
freecad
|
freecad
|
||||||
|
flatpak
|
||||||
|
wine
|
||||||
|
unstable.gyroflow
|
||||||
|
prusa-slicer
|
||||||
];
|
];
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
@ -81,6 +76,12 @@
|
|||||||
|
|
||||||
services.nextcloud-client.enable = true;
|
services.nextcloud-client.enable = true;
|
||||||
|
|
||||||
|
services.udiskie = {
|
||||||
|
enable = true;
|
||||||
|
automount = true;
|
||||||
|
notify = true;
|
||||||
|
};
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
@ -99,6 +99,9 @@ in {
|
|||||||
HDMI-A-1 = {
|
HDMI-A-1 = {
|
||||||
bg = "'${bg4k}' fit";
|
bg = "'${bg4k}' fit";
|
||||||
};
|
};
|
||||||
|
DP-3 = {
|
||||||
|
bg = "'${bg1080}' fit";
|
||||||
|
};
|
||||||
DP-4 = {
|
DP-4 = {
|
||||||
bg = "'${bg1080}' fit";
|
bg = "'${bg1080}' fit";
|
||||||
};
|
};
|
||||||
@ -208,11 +211,11 @@ in {
|
|||||||
workspaceOutputAssign = [
|
workspaceOutputAssign = [
|
||||||
{
|
{
|
||||||
workspace = "main";
|
workspace = "main";
|
||||||
output = ["DP-4" "DP-6" "HDMI-A-1" "eDP-1"];
|
output = ["DP-3" "DP-4" "DP-6" "HDMI-A-1" "eDP-1"];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
workspace = "term";
|
workspace = "term";
|
||||||
output = ["DP-5" "DP-7" "eDP-1"];
|
output = ["DP-5" "DP-4" "DP-7" "eDP-1"];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
workspace = "msg";
|
workspace = "msg";
|
||||||
@ -224,7 +227,7 @@ in {
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
workspace = "5";
|
workspace = "5";
|
||||||
output = ["DP-4" "DP-6" "HDMI-A-1" "eDP-1"];
|
output = ["DP-3" "DP-4" "DP-6" "HDMI-A-1" "eDP-1"];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -463,6 +466,30 @@ in {
|
|||||||
"${pkgs.sway}/bin/swaymsg workspace 5, move workspace to DP-6"
|
"${pkgs.sway}/bin/swaymsg workspace 5, move workspace to DP-6"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
dock_luhbots4 = {
|
||||||
|
outputs = [
|
||||||
|
{
|
||||||
|
criteria = "eDP-1";
|
||||||
|
position = "1080,1080";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "Dell Inc. DELL P2422HE 4BXL9M3";
|
||||||
|
position = "1080,0";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "NEC Corporation E243WMi 75309334NB";
|
||||||
|
transform = "90";
|
||||||
|
position = "0,0";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
exec = [
|
||||||
|
"${pkgs.sway}/bin/swaymsg workspace 1, move workspace to DP-3"
|
||||||
|
"${pkgs.sway}/bin/swaymsg workspace 2, move workspace to DP-4"
|
||||||
|
"${pkgs.sway}/bin/swaymsg workspace 3, move workspace to eDP-1"
|
||||||
|
"${pkgs.sway}/bin/swaymsg workspace 4, move workspace to eDP-1"
|
||||||
|
"${pkgs.sway}/bin/swaymsg workspace 5, move workspace to DP-3"
|
||||||
|
];
|
||||||
|
};
|
||||||
laptop_hannspree = {
|
laptop_hannspree = {
|
||||||
outputs = [
|
outputs = [
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user