Compare commits
3
Commits
df5a8a0460
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b02ef5e00 | ||
|
|
d5992c1dd3 | ||
|
|
ff84a4daf8 |
No files matched your search
@@ -0,0 +1 @@
|
|||||||
|
hardware-configuration.nix
|
||||||
@@ -0,0 +1,163 @@
|
|||||||
|
# Edit this configuration file to define what should be installed on
|
||||||
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ # Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# flakes
|
||||||
|
nix.settings.experimental-features = "nix-command flakes";
|
||||||
|
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
networking.hostName = "nixos"; # Define your hostname.
|
||||||
|
|
||||||
|
# Configure network proxy if necessary
|
||||||
|
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||||
|
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||||
|
|
||||||
|
# Enable networking
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
||||||
|
# autologin
|
||||||
|
services.getty.autologinUser = "snurm";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
i18n.extraLocales = [ "ja_JP.UTF-8/UTF-8" ];
|
||||||
|
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "de_DE.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "de_DE.UTF-8";
|
||||||
|
LC_MEASUREMENT = "de_DE.UTF-8";
|
||||||
|
LC_MONETARY = "de_DE.UTF-8";
|
||||||
|
LC_NAME = "de_DE.UTF-8";
|
||||||
|
LC_NUMERIC = "de_DE.UTF-8";
|
||||||
|
LC_PAPER = "de_DE.UTF-8";
|
||||||
|
LC_TELEPHONE = "de_DE.UTF-8";
|
||||||
|
LC_TIME = "de_DE.UTF-8";
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
noto-fonts-cjk-sans
|
||||||
|
noto-fonts-color-emoji
|
||||||
|
nerd-fonts.fira-code
|
||||||
|
nerd-fonts.jetbrains-mono
|
||||||
|
font-awesome
|
||||||
|
];
|
||||||
|
fonts.enableDefaultPackages = true;
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
services.xserver.xkb = {
|
||||||
|
layout = "de";
|
||||||
|
variant = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configure console keymap
|
||||||
|
console.keyMap = "de";
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
users.users.snurm = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "snurm";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
|
packages = with pkgs; [];
|
||||||
|
};
|
||||||
|
users.defaultUserShell = pkgs.zsh;
|
||||||
|
|
||||||
|
# Allow unfree packages
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
# List packages installed in system profile. To search, run:
|
||||||
|
# $ nix search wget
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||||
|
# wget
|
||||||
|
spotify
|
||||||
|
jq
|
||||||
|
wl-clipboard
|
||||||
|
];
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
wireplumber.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.hyprland.enable = true;
|
||||||
|
programs.uwsm = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
viAlias = true;
|
||||||
|
vimAlias = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
configure = {
|
||||||
|
customLuaRC = ''
|
||||||
|
-- options
|
||||||
|
vim.o.shiftwidth = 4
|
||||||
|
vim.o.tabstop = 4
|
||||||
|
vim.o.scrolloff = 16
|
||||||
|
vim.o.relativenumber = true
|
||||||
|
vim.o.number = true
|
||||||
|
vim.opt.clipboard = "unnamedplus"
|
||||||
|
|
||||||
|
-- keymap
|
||||||
|
local key_opts = { silent = true, noremap = true, }
|
||||||
|
vim.keymap.set({'n','v','i'}, 'fj', '<Esc>', key_opts)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
withRuby = false;
|
||||||
|
withPython3 = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.steam = {
|
||||||
|
enable = true;
|
||||||
|
extraCompatPackages = with pkgs; [
|
||||||
|
proton-ge-bin
|
||||||
|
];
|
||||||
|
};
|
||||||
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
# started in user sessions.
|
||||||
|
# programs.mtr.enable = true;
|
||||||
|
# programs.gnupg.agent = {
|
||||||
|
# enable = true;
|
||||||
|
# enableSSHSupport = true;
|
||||||
|
# };
|
||||||
|
|
||||||
|
# List services that you want to enable:
|
||||||
|
|
||||||
|
# Enable the OpenSSH daemon.
|
||||||
|
# services.openssh.enable = true;
|
||||||
|
|
||||||
|
# Open ports in the firewall.
|
||||||
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
|
# Or disable the firewall altogether.
|
||||||
|
# networking.firewall.enable = false;
|
||||||
|
|
||||||
|
# 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.11"; # Did you read the comment?
|
||||||
|
|
||||||
|
}
|
||||||
Generated
+486
-161
@@ -1,78 +1,91 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"flake-file": {
|
"aquamarine": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"hyprwayland-scanner": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprwayland-scanner"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785282747,
|
"lastModified": 1776876344,
|
||||||
"narHash": "sha256-ZwdMXUu0Udb4yzI65+psyJeUF+wexByNEvTUSx1xjVs=",
|
"narHash": "sha256-Ubqb/agkuMJK+k19gjQgHux/eOYRc1sRGoOZOho8+VY=",
|
||||||
"owner": "vic",
|
"owner": "hyprwm",
|
||||||
"repo": "flake-file",
|
"repo": "aquamarine",
|
||||||
"rev": "56c46842d70754345c4a4581b8cbebe87b8fc067",
|
"rev": "648a13d0ee1e03a843b3e145b8ece15393058701",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "vic",
|
"owner": "hyprwm",
|
||||||
"repo": "flake-file",
|
"repo": "aquamarine",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts": {
|
"catppuccin": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785627969,
|
"lastModified": 1777024856,
|
||||||
"narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=",
|
"narHash": "sha256-OQ+yIcRMXo4UaHyX+W5DCgBvJ5dZo/3kFGWPJiuR6x8=",
|
||||||
"owner": "hercules-ci",
|
"owner": "catppuccin",
|
||||||
"repo": "flake-parts",
|
"repo": "nix",
|
||||||
"rev": "427bf4bd9435fdf21321c8cc628c24efc14c0f7a",
|
"rev": "f41cc1cf13647e482b7317396f749840ef715e16",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hercules-ci",
|
"owner": "catppuccin",
|
||||||
"repo": "flake-parts",
|
"repo": "nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts_2": {
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1767039857,
|
||||||
|
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gitignore": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs": [
|
||||||
"nixvim",
|
"hyprland",
|
||||||
|
"pre-commit-hooks",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785627969,
|
"lastModified": 1709087332,
|
||||||
"narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=",
|
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "gitignore.nix",
|
||||||
"rev": "427bf4bd9435fdf21321c8cc628c24efc14c0f7a",
|
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "gitignore.nix",
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"helium-browser": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"nixpkgs-darwin": "nixpkgs-darwin",
|
|
||||||
"utils": "utils"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1788065178,
|
|
||||||
"narHash": "sha256-ADzuZ/MqrdJOMucTux5j0QMxo0YnCHLxuZAYlK/wxPE=",
|
|
||||||
"owner": "schembriaiden",
|
|
||||||
"repo": "helium-browser-nix-flake",
|
|
||||||
"rev": "f1250fd4dcd8f22cb3d8aa1e8e00f56cc947e795",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "schembriaiden",
|
|
||||||
"repo": "helium-browser-nix-flake",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -83,178 +96,490 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785119570,
|
"lastModified": 1776964438,
|
||||||
"narHash": "sha256-Rgs2xKnGLFWQscxUaXX07oyZeuMDOHEbqDOsgliLFGM=",
|
"narHash": "sha256-AF0cby9Xuijr5qaFpYKbm1mExV956Hk233bel6QxpFw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "d4fd24667c8cbef124bb70a20380cab75ec8474d",
|
"rev": "e09259dd2e147d35ef889784b51e89b0a10ffe15",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-26.05",
|
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"import-tree": {
|
"hyprcursor": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprlang": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprlang"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1784254960,
|
"lastModified": 1776511930,
|
||||||
"narHash": "sha256-iI88R3wHz8wTKQb5orvpc51L/Xr64AJyxid/0MKa/b8=",
|
"narHash": "sha256-fCpwFiTW0rT7oKJqr3cqHMnkwypSwQKpbtUEtxdkgrM=",
|
||||||
"owner": "vic",
|
"owner": "hyprwm",
|
||||||
"repo": "import-tree",
|
"repo": "hyprcursor",
|
||||||
"rev": "4ebb10ae17d5f1ad366e7aef5b92cb8eecf24f69",
|
"rev": "39435900785d0c560c6ae8777d29f28617d031ef",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "vic",
|
"owner": "hyprwm",
|
||||||
"repo": "import-tree",
|
"repo": "hyprcursor",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprgraphics": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1776426399,
|
||||||
|
"narHash": "sha256-RUESLKNikIeEq9ymGJ6nmcDXiSFQpUW1IhJ245nL3xM=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprgraphics",
|
||||||
|
"rev": "68d064434787cf1ed4a2fe257c03c5f52f33cf84",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprgraphics",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland": {
|
||||||
|
"inputs": {
|
||||||
|
"aquamarine": "aquamarine",
|
||||||
|
"hyprcursor": "hyprcursor",
|
||||||
|
"hyprgraphics": "hyprgraphics",
|
||||||
|
"hyprland-guiutils": "hyprland-guiutils",
|
||||||
|
"hyprland-protocols": "hyprland-protocols",
|
||||||
|
"hyprlang": "hyprlang",
|
||||||
|
"hyprutils": "hyprutils",
|
||||||
|
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||||
|
"hyprwire": "hyprwire",
|
||||||
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"pre-commit-hooks": "pre-commit-hooks",
|
||||||
|
"systems": "systems",
|
||||||
|
"xdph": "xdph"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1777466683,
|
||||||
|
"narHash": "sha256-DJHTGp1orBssX5YBzJYcx+FDwUa7hjh4uknslKLnBQE=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "Hyprland",
|
||||||
|
"rev": "7179a38c5feea9ba5e2d38373b5e34041c0d9f25",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "Hyprland",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland-guiutils": {
|
||||||
|
"inputs": {
|
||||||
|
"aquamarine": [
|
||||||
|
"hyprland",
|
||||||
|
"aquamarine"
|
||||||
|
],
|
||||||
|
"hyprgraphics": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprgraphics"
|
||||||
|
],
|
||||||
|
"hyprlang": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprlang"
|
||||||
|
],
|
||||||
|
"hyprtoolkit": "hyprtoolkit",
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"hyprwayland-scanner": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprwayland-scanner"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1776426575,
|
||||||
|
"narHash": "sha256-KI6nIfVihn/DPaeB5Et46Xg3dkNHrrEtUd5LBBVomB0=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-guiutils",
|
||||||
|
"rev": "a968d211048e3ed538e47b84cb3649299578f19d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-guiutils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland-protocols": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772460177,
|
||||||
|
"narHash": "sha256-/6G/MsPvtn7bc4Y32pserBT/Z4SUUdBd4XYJpOEKVR4=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-protocols",
|
||||||
|
"rev": "1cb6db5fd6bb8aee419f4457402fa18293ace917",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-protocols",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprlang": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1776426736,
|
||||||
|
"narHash": "sha256-rl7i4aY+9p8LysJp7o8uRWahCkpFznCgGHXszlTw7b0=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprlang",
|
||||||
|
"rev": "7833ff33b2e82d3406337b5dcf0d1cec595d83e9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprlang",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprtoolkit": {
|
||||||
|
"inputs": {
|
||||||
|
"aquamarine": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-guiutils",
|
||||||
|
"aquamarine"
|
||||||
|
],
|
||||||
|
"hyprgraphics": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-guiutils",
|
||||||
|
"hyprgraphics"
|
||||||
|
],
|
||||||
|
"hyprlang": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-guiutils",
|
||||||
|
"hyprlang"
|
||||||
|
],
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-guiutils",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"hyprwayland-scanner": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-guiutils",
|
||||||
|
"hyprwayland-scanner"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-guiutils",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-guiutils",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772462885,
|
||||||
|
"narHash": "sha256-5pHXrQK9zasMnIo6yME6EOXmWGFMSnCITcfKshhKJ9I=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprtoolkit",
|
||||||
|
"rev": "9af245a69fa6b286b88ddfc340afd288e00a6998",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprtoolkit",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprutils": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1777148223,
|
||||||
|
"narHash": "sha256-PTf7kRFFzCW6rIYxLH2fWfVJmj86FSYe3k6L8B+IM9o=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprutils",
|
||||||
|
"rev": "fa3992be2dfebe4ab06d753c6ca59bea298e798f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprutils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprwayland-scanner": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1777148232,
|
||||||
|
"narHash": "sha256-Uv0WZLhu89SafuSOmYDA7akrPt4wBRmsa1ucasO5aXg=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprwayland-scanner",
|
||||||
|
"rev": "fec9cf1abcc1011e46f0a0986f46bf93c6bf8b92",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprwayland-scanner",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprwire": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1776728575,
|
||||||
|
"narHash": "sha256-z9eGphrArEBpl1O/GCH0wlY6z4K9vA6yWh2gAS6qytU=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprwire",
|
||||||
|
"rev": "f3a80888783702a39691b684d099e16b83ed4702",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprwire",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785491804,
|
"lastModified": 1776548001,
|
||||||
"narHash": "sha256-p00vplVOyfKGlhju0+eGGPAxyYYKaY0lpyuoHLFIx2Y=",
|
"narHash": "sha256-ZSK0NL4a1BwVbbTBoSnWgbJy9HeZFXLYQizjb2DPF24=",
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "5b4f72e1705a63aace42900610c4db82cb4af0ec",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-26.05",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-darwin": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1787940818,
|
|
||||||
"narHash": "sha256-vFzVv78WlyEbTyV5BbrnicnV159wC0YPOcBe3QagyBI=",
|
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "f6107e546a5012172d93e79f1f7950da02ad798f",
|
"rev": "b12141ef619e0a9c1c84dc8c684040326f27cdcc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixpkgs-26.05-darwin",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-lib": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1785031560,
|
|
||||||
"narHash": "sha256-OmshNvn2vupOFpYinLUu+1Dnpu4n7Q5N3ggGVNHpkUI=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixpkgs.lib",
|
|
||||||
"rev": "0e79af5e3d4dcfcd676ab5ba3f95d2e3352e078c",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixpkgs.lib",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-unstable": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1785571196,
|
|
||||||
"narHash": "sha256-KoTsyMQqnXQZq8deCEnu4QkyldkwH/bpMMhUcfMdGIw=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "148bab9c1c3c53136ecb44a6ea356a0ed5b39b06",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixvim": {
|
"nixpkgs_2": {
|
||||||
"inputs": {
|
|
||||||
"flake-parts": "flake-parts_2",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": "systems_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1787536726,
|
"lastModified": 1776877367,
|
||||||
"narHash": "sha256-aBh5Yk9tX8ZV4k10BJr2fvTq0/+iWGegaCMUOU7YKas=",
|
"narHash": "sha256-EHq1/OX139R1RvBzOJ0aMRT3xnWyqtHBRUBuO1gFzjI=",
|
||||||
"owner": "nix-community",
|
"owner": "NixOS",
|
||||||
"repo": "nixvim",
|
"repo": "nixpkgs",
|
||||||
"rev": "e2c3f9f36326d07340626847543c557e2b95fb50",
|
"rev": "0726a0ecb6d4e08f6adced58726b95db924cef57",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-26.05",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixvim",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1776548001,
|
||||||
|
"narHash": "sha256-ZSK0NL4a1BwVbbTBoSnWgbJy9HeZFXLYQizjb2DPF24=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "b12141ef619e0a9c1c84dc8c684040326f27cdcc",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pre-commit-hooks": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"gitignore": "gitignore",
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1776796298,
|
||||||
|
"narHash": "sha256-PcRvlWayisPSjd0UcRQbhG8Oqw78AcPE6x872cPRHN8=",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "git-hooks.nix",
|
||||||
|
"rev": "3cfd774b0a530725a077e17354fbdb87ea1c4aad",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "git-hooks.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"quickshell": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1777089709,
|
||||||
|
"narHash": "sha256-bZoy6qxL6Dbptt6PABvuhGKbyjuoyI7SQ1tzxM9g/QM=",
|
||||||
|
"ref": "refs/heads/master",
|
||||||
|
"rev": "11a71d233a566caba4ddffdca2e41d1fa79e45b1",
|
||||||
|
"revCount": 808,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-file": "flake-file",
|
"catppuccin": "catppuccin",
|
||||||
"flake-parts": "flake-parts",
|
|
||||||
"helium-browser": "helium-browser",
|
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"import-tree": "import-tree",
|
"hyprland": "hyprland",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"quickshell": "quickshell"
|
||||||
"nixvim": "nixvim"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1689347949,
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default",
|
"repo": "default-linux",
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default",
|
"repo": "default-linux",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_2": {
|
"xdph": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"utils": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"hyprland-protocols": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-protocols"
|
||||||
|
],
|
||||||
|
"hyprlang": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprlang"
|
||||||
|
],
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"hyprwayland-scanner": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprwayland-scanner"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731533236,
|
"lastModified": 1777035886,
|
||||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
"narHash": "sha256-m1TNuBoSXUBSKhD9UVMkU90M0wFTPTfvIOOltO8IM8A=",
|
||||||
"owner": "numtide",
|
"owner": "hyprwm",
|
||||||
"repo": "flake-utils",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
"rev": "ecfcdcc781f48821d83e1e2a0e30d7beca0eeb5e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "numtide",
|
"owner": "hyprwm",
|
||||||
"repo": "flake-utils",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,26 +1,45 @@
|
|||||||
{
|
{
|
||||||
description = "A simple NixOS flake";
|
description = "le config";
|
||||||
|
|
||||||
outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } (inputs.import-tree ./modules);
|
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# NixOS official package source, using the nixos-26.05 branch here
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
|
|
||||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
||||||
helium-browser = {
|
|
||||||
url = "github:schembriaiden/helium-browser-nix-flake";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-26.05";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nixvim = {
|
catppuccin.url = "github:catppuccin/nix";
|
||||||
url = "github:nix-community/nixvim/nixos-26.05";
|
quickshell = {
|
||||||
|
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
hyprland.url = "github:hyprwm/Hyprland";
|
||||||
flake-file.url = "github:vic/flake-file";
|
};
|
||||||
import-tree.url = "github:vic/import-tree";
|
|
||||||
|
outputs = inputs@{ nixpkgs, home-manager, catppuccin, hyprland, ... }: {
|
||||||
|
nixosConfigurations = {
|
||||||
|
nixos = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
./configuration.nix
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
catppuccin.nixosModules.catppuccin
|
||||||
|
{
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||||
|
home-manager.users.snurm = {
|
||||||
|
imports = [
|
||||||
|
./home.nix
|
||||||
|
catppuccin.homeModules.catppuccin
|
||||||
|
];
|
||||||
|
};
|
||||||
|
home-manager.backupFileExtension = "backup";
|
||||||
|
catppuccin.enable = true;
|
||||||
|
catppuccin.flavor = "frappe";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -8,24 +8,24 @@
|
|||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/80073df0-54bd-438e-bcbc-795d3d886385";
|
{ device = "/dev/disk/by-uuid/d1ef9448-b414-48a0-8310-30a37a0124a0";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" =
|
||||||
{ device = "/dev/disk/by-uuid/2F17-7ACA";
|
{ device = "/dev/disk/by-uuid/8388-D695";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices =
|
||||||
[ { device = "/dev/disk/by-uuid/7810e79b-360b-48e1-a527-92ebeb4f628c"; }
|
[ { device = "/dev/disk/by-uuid/908c24d4-853d-49dc-9bd6-4e034772cdad"; }
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
|||||||
@@ -0,0 +1,246 @@
|
|||||||
|
{ inputs, config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.username = "snurm";
|
||||||
|
home.homeDirectory = "/home/snurm";
|
||||||
|
home.stateVersion = "25.11";
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
home.sessionVariables = {
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
SUDO_EDITOR = "nvim";
|
||||||
|
GTK_IM_MODULE = "fcitx";
|
||||||
|
QT_IM_MODULE = "fcitx";
|
||||||
|
SDL_IM_MODULE = "fcitx";
|
||||||
|
};
|
||||||
|
xdg.autostart = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
hyprshutdown
|
||||||
|
grim
|
||||||
|
slurp
|
||||||
|
];
|
||||||
|
i18n.inputMethod = {
|
||||||
|
enable = true;
|
||||||
|
type = "fcitx5";
|
||||||
|
fcitx5.waylandFrontend = true;
|
||||||
|
fcitx5.addons = with pkgs; [
|
||||||
|
fcitx5-mozc
|
||||||
|
fcitx5-gtk
|
||||||
|
];
|
||||||
|
#fcitx5.settings.inputMethod = {
|
||||||
|
# GroupOrder."0" = "Default";
|
||||||
|
# "Groups/0" = {
|
||||||
|
# Name = "Default";
|
||||||
|
# "Default Layout" = "de";
|
||||||
|
# DefaultIM = "mozc";
|
||||||
|
# };
|
||||||
|
# "Groups/0/Items/0".Name = "keyboard-de";
|
||||||
|
# "Groups/0/Items/0".Layout = "";
|
||||||
|
# "Groups/0/Items/1".Name = "mozc";
|
||||||
|
# "Groups/0/Items/1".Layout = "de";
|
||||||
|
#};
|
||||||
|
|
||||||
|
#fcitx5.ignoreUserConfig = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts.fontconfig = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = false;
|
||||||
|
systemd.enable = false;
|
||||||
|
#package = inputs.hyprland.packages.${nixpkgs.legacyPackages.x86_64-linux.stdenv.hostPlatform.system}.hyprland;
|
||||||
|
#portalPackage = inputs.hyprland.packages.${nixpkgs.legacyPackages.x86_64-linux.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||||
|
settings = {
|
||||||
|
"$mainMod" = "SUPER";
|
||||||
|
"$menu" = "wofi --show drun";
|
||||||
|
"$terminal" = "kitty";
|
||||||
|
input = {
|
||||||
|
"kb_layout" = "de";
|
||||||
|
"follow_mouse" = "1";
|
||||||
|
};
|
||||||
|
monitor = [
|
||||||
|
"DP-2, highres@highrr, auto, auto"
|
||||||
|
"DP-3, highres@highrr, auto-left, auto"
|
||||||
|
"HDMI-A-1, highres@highrr, auto-right, auto"
|
||||||
|
];
|
||||||
|
general = {
|
||||||
|
"border_size" = "2";
|
||||||
|
"gaps_in" = "5";
|
||||||
|
"gaps_out" = "5";
|
||||||
|
};
|
||||||
|
bind = [
|
||||||
|
"$mainMod, Q, exec, $terminal"
|
||||||
|
"$mainMod, D, exec, $menu"
|
||||||
|
"$mainMod, C, killactive"
|
||||||
|
"$mainMod, F, fullscreen"
|
||||||
|
"$mainMod, S, exec, grim -g \"$(slurp -d)\" - | wl-copy"
|
||||||
|
"$mainMod, M, exec, hyprshutdown -t 'Shutting Down...' --post-cmd 'shutdown -P 0'"
|
||||||
|
"$mainMod, H, movefocus, l"
|
||||||
|
"$mainMod, L, movefocus, r"
|
||||||
|
"$mainMod, K, movefocus, u"
|
||||||
|
"$mainMod, J, movefocus, d"
|
||||||
|
"$mainMod SHIFT, H, movewindow, l"
|
||||||
|
"$mainMod SHIFT, L, movewindow, r"
|
||||||
|
"$mainMod SHIFT, K, movewindow, u"
|
||||||
|
"$mainMod SHIFT, J, movewindow, d"
|
||||||
|
]
|
||||||
|
++ (
|
||||||
|
builtins.concatLists (builtins.genList (i:
|
||||||
|
let ws = i + 1;
|
||||||
|
in [
|
||||||
|
"$mainMod, code:1${toString i}, workspace, ${toString ws}"
|
||||||
|
"$mainMod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
|
||||||
|
]
|
||||||
|
)
|
||||||
|
10)
|
||||||
|
);
|
||||||
|
bindm = [
|
||||||
|
"$mainMod, mouse:272, movewindow"
|
||||||
|
"$mainMod, mouse:273, resizewindow"
|
||||||
|
];
|
||||||
|
bindl = [
|
||||||
|
",XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
|
||||||
|
",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||||
|
",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||||
|
",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
|
||||||
|
",XF86AudioNext, exec, playerctl next"
|
||||||
|
",XF86AudioPause, exec, playerctl play-pause"
|
||||||
|
",XF86AudioPlay, exec, playerctl play-pause"
|
||||||
|
",XF86AudioPrev, exec, playerctl previous"
|
||||||
|
|
||||||
|
];
|
||||||
|
exec-once = [
|
||||||
|
"hyprpaper"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
programs.zed-editor = {
|
||||||
|
enable = true;
|
||||||
|
userSettings = {
|
||||||
|
features = {
|
||||||
|
copilot = false;
|
||||||
|
};
|
||||||
|
telemetry = {
|
||||||
|
metrics = false;
|
||||||
|
};
|
||||||
|
vim_mode = true;
|
||||||
|
ui_font_size = 16;
|
||||||
|
buffer_font_size = 16;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
languagePacks = [
|
||||||
|
"en-US"
|
||||||
|
"ja"
|
||||||
|
];
|
||||||
|
# TODO add extensions/settings/bookmarks
|
||||||
|
};
|
||||||
|
programs.zathura = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
programs.btop = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
programs.keepassxc = {
|
||||||
|
enable = true;
|
||||||
|
autostart = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.mangohud = {
|
||||||
|
enable = true;
|
||||||
|
enableSessionWide = true;
|
||||||
|
};
|
||||||
|
programs.vesktop = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
discordBranch = "stable";
|
||||||
|
arRPC = true;
|
||||||
|
minimizeToTray = true;
|
||||||
|
hardwareVideoAcceleration = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
programs.anki = {
|
||||||
|
enable = true;
|
||||||
|
theme = "light";
|
||||||
|
addons = [
|
||||||
|
pkgs.ankiAddons.anki-connect
|
||||||
|
pkgs.ankiAddons.review-heatmap
|
||||||
|
pkgs.ankiAddons.adjust-sound-volume
|
||||||
|
];
|
||||||
|
};
|
||||||
|
programs.quickshell = {
|
||||||
|
enable = true;
|
||||||
|
systemd.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
shellAliases = {
|
||||||
|
cl = "clear";
|
||||||
|
rb = "sudo nixos-rebuild switch --flake /etc/nixos/";
|
||||||
|
};
|
||||||
|
profileExtra = ''
|
||||||
|
if uwsm check may-start && uwsm select; then
|
||||||
|
exec uwsm start default
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
settings.user = {
|
||||||
|
name = "snurm";
|
||||||
|
email = "user@example.com";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.kitty = {
|
||||||
|
enable = true;
|
||||||
|
font = {
|
||||||
|
name = "JetBrains Mono";
|
||||||
|
size = 10;
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
confirm_os_window_close = 0;
|
||||||
|
enable_auto_bell = false;
|
||||||
|
mouse_hide_wait = "-1.0";
|
||||||
|
background_opacity = "0.5";
|
||||||
|
background_blur = 5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
programs.wofi = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
services.playerctld = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.hyprpaper = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
splash = false;
|
||||||
|
wallpaper = [
|
||||||
|
{
|
||||||
|
monitor = "DP-2";
|
||||||
|
path = "${config.home.homeDirectory}/Pictures/Wallpaper/dawn.jpg";
|
||||||
|
fit_mode = "cover";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
monitor = "DP-3";
|
||||||
|
path = "${config.home.homeDirectory}/Pictures/Wallpaper/dawn.jpg";
|
||||||
|
fit_mode = "cover";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
monitor = "HDMI-A-1";
|
||||||
|
path = "${config.home.homeDirectory}/Pictures/Wallpaper/dawn.jpg";
|
||||||
|
fit_mode = "cover";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
{ self, ... }: {
|
|
||||||
config.flake.factory.user = username: isAdmin: {
|
|
||||||
nixos."${username}" =
|
|
||||||
{
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
users.users."${username}" = {
|
|
||||||
isNormalUser = true;
|
|
||||||
home = "/home/${username}";
|
|
||||||
extraGroups = lib.optionals isAdmin [ "wheel" ];
|
|
||||||
shell = pkgs.zsh;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
# required for zsh completion
|
|
||||||
environment.pathsToLink = [ "/share/zsh" ];
|
|
||||||
|
|
||||||
home-manager.users."${username}" = {
|
|
||||||
imports = [
|
|
||||||
self.modules.homeManager."${username}"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
homeManager."${username}" = {
|
|
||||||
home.username = "${username}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
{ inputs, ... }: {
|
|
||||||
flake.modules.nixos.nixos-desktop = {
|
|
||||||
imports =
|
|
||||||
with inputs.self.modules.nixos;
|
|
||||||
with inputs.self.factory;
|
|
||||||
[
|
|
||||||
system-desktop
|
|
||||||
i18n-de
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
flake.modules.nixos.nixos-desktop = {
|
|
||||||
fileSystems."/" =
|
|
||||||
{ device = "/dev/disk/by-uuid/80073df0-54bd-438e-bcbc-795d3d886385";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
|
||||||
{ device = "/dev/disk/by-uuid/2F17-7ACA";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [
|
|
||||||
{ device = "/dev/disk/by-uuid/7810e79b-360b-48e1-a527-92ebeb4f628c"; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
{ inputs, ... }: {
|
|
||||||
flake.nixosConfigurations = inputs.self.lib.mkNixos "x86_64-linux" "nixos-desktop";
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
{ inputs, ... }: {
|
|
||||||
flake.modules.nixos.nixos-desktop = { lib, ... }: {
|
|
||||||
boot.initrd.availableKernelModules = [
|
|
||||||
"nvme"
|
|
||||||
"xhci_pci"
|
|
||||||
"ahci"
|
|
||||||
"usbhid"
|
|
||||||
"usb_storage"
|
|
||||||
"sd_mod"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = "x86_64-linux";
|
|
||||||
hardware.enableRedistributableFirmware = true;
|
|
||||||
hardware.cpu.amd.updateMicrocode = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
{ inputs, ... }: {
|
|
||||||
flake.modules.nixos.nixos-desktop = {
|
|
||||||
imports =
|
|
||||||
with inputs.self.modules.nixos;
|
|
||||||
with inputs.self.factory;
|
|
||||||
[
|
|
||||||
system-desktop
|
|
||||||
systemd-boot
|
|
||||||
i18n-de
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
{ inputs, ... }: {
|
|
||||||
flake.modules.nixos.nixos-desktop = { config, ... } : {
|
|
||||||
imports = with inputs.self.modules.nixos; [
|
|
||||||
snurm
|
|
||||||
];
|
|
||||||
|
|
||||||
home-manager.users.snurm = { config, ... }: {
|
|
||||||
imports =
|
|
||||||
with inputs.self.modules.homeManager;
|
|
||||||
with inputs.self.factory;
|
|
||||||
[
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
{ inputs, ... }: {
|
|
||||||
imports = [
|
|
||||||
inputs.flake-parts.flakeModules.modules
|
|
||||||
inputs.flake-file.flakeModules.default
|
|
||||||
];
|
|
||||||
|
|
||||||
flake-file.inputs = {
|
|
||||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
|
||||||
flake-file.url = "github:vic/flake-file";
|
|
||||||
import-tree.url = "github:vic/import-tree";
|
|
||||||
};
|
|
||||||
|
|
||||||
flake-file.outputs = ''
|
|
||||||
inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } (inputs.import-tree ./modules)
|
|
||||||
'';
|
|
||||||
|
|
||||||
systems = [
|
|
||||||
# f Darwin >:(
|
|
||||||
"aarch64-linux"
|
|
||||||
"x86_64-linux"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
{ inputs, lib, ... }:
|
|
||||||
{
|
|
||||||
# Helper functions
|
|
||||||
|
|
||||||
options.flake.lib = lib.mkOption {
|
|
||||||
type = lib.types.attrsOf lib.types.unspecified;
|
|
||||||
default = { };
|
|
||||||
};
|
|
||||||
|
|
||||||
config.flake.lib = {
|
|
||||||
mkNixos = system: name: {
|
|
||||||
${name} = inputs.nixpkgs.lib.nixosSystem {
|
|
||||||
modules = [
|
|
||||||
inputs.self.modules.nixos.${name}
|
|
||||||
{ nixpkgs.hostPlatform = lib.mkDefault system; }
|
|
||||||
{ nixpkgs.config.allowUnfree = true; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
mkHomeManager = system: name: {
|
|
||||||
${name} = inputs.home-manager.lib.homeManagerConfiguration {
|
|
||||||
pkgs = inputs.nixpkgs.legacyPackages.${system};
|
|
||||||
modules = [
|
|
||||||
inputs.self.modules.homeManager.${name}
|
|
||||||
{ nixpkgs.config.allowUnfree = true; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
{
|
|
||||||
inputs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
# Add home-manager input
|
|
||||||
flake-file.inputs = {
|
|
||||||
home-manager.url = "github:nix-community/home-manager/release-26.05";
|
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
imports = [ inputs.home-manager.flakeModules.home-manager ];
|
|
||||||
|
|
||||||
flake.modules.nixos.home-manager = {
|
|
||||||
imports = [
|
|
||||||
inputs.home-manager.nixosModules.home-manager
|
|
||||||
];
|
|
||||||
|
|
||||||
home-manager = {
|
|
||||||
verbose = true;
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
backupFileExtension = "backup";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{ inputs, ... }: {
|
|
||||||
flake-file.inputs = {
|
|
||||||
helium-browser = {
|
|
||||||
url = "github:schembriaiden/helium-browser-nix-flake";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
flake.modules.nixos.browser = { pkgs, ... }: {
|
|
||||||
environment.systemPackages = [
|
|
||||||
inputs.helium-browser.packages.${pkgs.stdenv.hostPlatform.system}.default
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
flake.modules.homeManager.btop = { pkgs, ... }: {
|
|
||||||
programs.btop = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
vim_keys = true;
|
|
||||||
proc_tree = true;
|
|
||||||
proc_aggregate = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
flake.modules.nixos.git = { pkgs, ... }: {
|
|
||||||
environment.systemPackages = [ pkgs.git ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,365 +0,0 @@
|
|||||||
-- This is an example Hyprland Lua config file.
|
|
||||||
-- Refer to the wiki for more information.
|
|
||||||
-- https://wiki.hypr.land/Configuring/Start/
|
|
||||||
|
|
||||||
-- Please note not all available settings / options are set here.
|
|
||||||
-- For a full list, see the wiki
|
|
||||||
|
|
||||||
-- You can (and should!!) split this configuration into multiple files
|
|
||||||
-- Create your files separately and then require them like this:
|
|
||||||
-- require("myColors")
|
|
||||||
|
|
||||||
|
|
||||||
------------------
|
|
||||||
---- MONITORS ----
|
|
||||||
------------------
|
|
||||||
|
|
||||||
-- See https://wiki.hypr.land/Configuring/Basics/Monitors/
|
|
||||||
hl.monitor({
|
|
||||||
output = "DP-2",
|
|
||||||
mode = "highres",
|
|
||||||
position = "auto",
|
|
||||||
scale = "auto",
|
|
||||||
})
|
|
||||||
hl.monitor({
|
|
||||||
output = "DP-3",
|
|
||||||
mode = "highres",
|
|
||||||
position = "auto-left",
|
|
||||||
scale = "auto",
|
|
||||||
})
|
|
||||||
hl.monitor({
|
|
||||||
output = "HDMI-A-1",
|
|
||||||
mode = "highres",
|
|
||||||
position = "auto-right",
|
|
||||||
scale = "auto",
|
|
||||||
})
|
|
||||||
hl.monitor({
|
|
||||||
output = "",
|
|
||||||
mode = "preferred",
|
|
||||||
position = "auto",
|
|
||||||
scale = "auto",
|
|
||||||
})
|
|
||||||
---------------------
|
|
||||||
---- MY PROGRAMS ----
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
-- Set programs that you use
|
|
||||||
local terminal = "kitty"
|
|
||||||
local fileManager = "dolphin"
|
|
||||||
local menu = "wofi --show drun"
|
|
||||||
local screenshot = "grim -g \"$(slurp)\" - | wl-copy"
|
|
||||||
|
|
||||||
-------------------
|
|
||||||
---- AUTOSTART ----
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
-- See https://wiki.hypr.land/Configuring/Basics/Autostart/
|
|
||||||
|
|
||||||
-- Autostart necessary processes (like notifications daemons, status bars, etc.)
|
|
||||||
-- Or execute your favorite apps at launch like this:
|
|
||||||
--
|
|
||||||
-- hl.on("hyprland.start", function ()
|
|
||||||
-- hl.exec_cmd(terminal)
|
|
||||||
-- hl.exec_cmd("nm-applet")
|
|
||||||
-- hl.exec_cmd("waybar & hyprpaper & firefox")
|
|
||||||
-- end)
|
|
||||||
|
|
||||||
|
|
||||||
-------------------------------
|
|
||||||
---- ENVIRONMENT VARIABLES ----
|
|
||||||
-------------------------------
|
|
||||||
|
|
||||||
-- See https://wiki.hypr.land/Configuring/Advanced-and-Cool/Environment-variables/
|
|
||||||
|
|
||||||
hl.env("XCURSOR_SIZE", "24")
|
|
||||||
hl.env("HYPRCURSOR_SIZE", "24")
|
|
||||||
|
|
||||||
|
|
||||||
-----------------------
|
|
||||||
----- PERMISSIONS -----
|
|
||||||
-----------------------
|
|
||||||
|
|
||||||
-- See https://wiki.hypr.land/Configuring/Advanced-and-Cool/Permissions/
|
|
||||||
-- Please note permission changes here require a Hyprland restart and are not applied on-the-fly
|
|
||||||
-- for security reasons
|
|
||||||
|
|
||||||
-- hl.config({
|
|
||||||
-- ecosystem = {
|
|
||||||
-- enforce_permissions = true,
|
|
||||||
-- },
|
|
||||||
-- })
|
|
||||||
|
|
||||||
-- hl.permission("/usr/(bin|local/bin)/grim", "screencopy", "allow")
|
|
||||||
-- hl.permission("/usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland", "screencopy", "allow")
|
|
||||||
-- hl.permission("/usr/(bin|local/bin)/hyprpm", "plugin", "allow")
|
|
||||||
|
|
||||||
|
|
||||||
-----------------------
|
|
||||||
---- LOOK AND FEEL ----
|
|
||||||
-----------------------
|
|
||||||
|
|
||||||
-- Refer to https://wiki.hypr.land/Configuring/Basics/Variables/
|
|
||||||
hl.config({
|
|
||||||
general = {
|
|
||||||
gaps_in = 5,
|
|
||||||
gaps_out = 0,
|
|
||||||
|
|
||||||
border_size = 2,
|
|
||||||
|
|
||||||
col = {
|
|
||||||
active_border = { colors = {"rgba(33ccffee)", "rgba(00ff99ee)"}, angle = 45 },
|
|
||||||
inactive_border = "rgba(595959aa)",
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Set to true to enable resizing windows by clicking and dragging on borders and gaps
|
|
||||||
resize_on_border = false,
|
|
||||||
|
|
||||||
-- Please see https://wiki.hypr.land/Configuring/Advanced-and-Cool/Tearing/ before you turn this on
|
|
||||||
allow_tearing = false,
|
|
||||||
|
|
||||||
layout = "dwindle",
|
|
||||||
},
|
|
||||||
|
|
||||||
decoration = {
|
|
||||||
rounding = 0,
|
|
||||||
rounding_power = 0,
|
|
||||||
|
|
||||||
-- Change transparency of focused and unfocused windows
|
|
||||||
active_opacity = 1.0,
|
|
||||||
inactive_opacity = 1.0,
|
|
||||||
|
|
||||||
shadow = {
|
|
||||||
enabled = true,
|
|
||||||
range = 4,
|
|
||||||
render_power = 3,
|
|
||||||
color = 0xee1a1a1a,
|
|
||||||
},
|
|
||||||
|
|
||||||
blur = {
|
|
||||||
enabled = false,
|
|
||||||
size = 3,
|
|
||||||
passes = 1,
|
|
||||||
vibrancy = 0.1696,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
animations = {
|
|
||||||
enabled = true,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Default curves and animations, see https://wiki.hypr.land/Configuring/Advanced-and-Cool/Animations/
|
|
||||||
hl.curve("easeOutQuint", { type = "bezier", points = { {0.23, 1}, {0.32, 1} } })
|
|
||||||
hl.curve("easeInOutCubic", { type = "bezier", points = { {0.65, 0.05}, {0.36, 1} } })
|
|
||||||
hl.curve("linear", { type = "bezier", points = { {0, 0}, {1, 1} } })
|
|
||||||
hl.curve("almostLinear", { type = "bezier", points = { {0.5, 0.5}, {0.75, 1} } })
|
|
||||||
hl.curve("quick", { type = "bezier", points = { {0.15, 0}, {0.1, 1} } })
|
|
||||||
|
|
||||||
-- Default springs
|
|
||||||
hl.curve("easy", { type = "spring", mass = 1, stiffness = 238.1191, dampening = 24.21279333 })
|
|
||||||
|
|
||||||
hl.animation({ leaf = "global", enabled = true, speed = 10, bezier = "default" })
|
|
||||||
hl.animation({ leaf = "border", enabled = true, speed = 5.39, bezier = "easeOutQuint" })
|
|
||||||
hl.animation({ leaf = "windows", enabled = true, speed = 4.79, spring = "easy" })
|
|
||||||
hl.animation({ leaf = "windowsIn", enabled = true, speed = 4.1, spring = "easy", style = "popin 87%" })
|
|
||||||
hl.animation({ leaf = "windowsOut", enabled = true, speed = 1.49, bezier = "linear", style = "popin 87%" })
|
|
||||||
hl.animation({ leaf = "fadeIn", enabled = true, speed = 1.73, bezier = "almostLinear" })
|
|
||||||
hl.animation({ leaf = "fadeOut", enabled = true, speed = 1.46, bezier = "almostLinear" })
|
|
||||||
hl.animation({ leaf = "fade", enabled = true, speed = 3.03, bezier = "quick" })
|
|
||||||
hl.animation({ leaf = "layers", enabled = true, speed = 3.81, bezier = "easeOutQuint" })
|
|
||||||
hl.animation({ leaf = "layersIn", enabled = true, speed = 4, bezier = "easeOutQuint", style = "fade" })
|
|
||||||
hl.animation({ leaf = "layersOut", enabled = true, speed = 1.5, bezier = "linear", style = "fade" })
|
|
||||||
hl.animation({ leaf = "fadeLayersIn", enabled = true, speed = 1.79, bezier = "almostLinear" })
|
|
||||||
hl.animation({ leaf = "fadeLayersOut", enabled = true, speed = 1.39, bezier = "almostLinear" })
|
|
||||||
hl.animation({ leaf = "workspaces", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
|
|
||||||
hl.animation({ leaf = "workspacesIn", enabled = true, speed = 1.21, bezier = "almostLinear", style = "fade" })
|
|
||||||
hl.animation({ leaf = "workspacesOut", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
|
|
||||||
hl.animation({ leaf = "zoomFactor", enabled = true, speed = 7, bezier = "quick" })
|
|
||||||
|
|
||||||
-- Ref https://wiki.hypr.land/Configuring/Basics/Workspace-Rules/
|
|
||||||
-- "Smart gaps" / "No gaps when only"
|
|
||||||
-- uncomment all if you wish to use that.
|
|
||||||
-- hl.workspace_rule({ workspace = "w[tv1]", gaps_out = 0, gaps_in = 0 })
|
|
||||||
-- hl.workspace_rule({ workspace = "f[1]", gaps_out = 0, gaps_in = 0 })
|
|
||||||
-- hl.window_rule({
|
|
||||||
-- name = "no-gaps-wtv1",
|
|
||||||
-- match = { float = false, workspace = "w[tv1]" },
|
|
||||||
-- border_size = 0,
|
|
||||||
-- rounding = 0,
|
|
||||||
-- })
|
|
||||||
-- hl.window_rule({
|
|
||||||
-- name = "no-gaps-f1",
|
|
||||||
-- match = { float = false, workspace = "f[1]" },
|
|
||||||
-- border_size = 0,
|
|
||||||
-- rounding = 0,
|
|
||||||
-- })
|
|
||||||
|
|
||||||
-- See https://wiki.hypr.land/Configuring/Layouts/Dwindle-Layout/ for more
|
|
||||||
hl.config({
|
|
||||||
dwindle = {
|
|
||||||
preserve_split = true, -- You probably want this
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
-- See https://wiki.hypr.land/Configuring/Layouts/Master-Layout/ for more
|
|
||||||
hl.config({
|
|
||||||
master = {
|
|
||||||
new_status = "master",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
-- See https://wiki.hypr.land/Configuring/Layouts/Scrolling-Layout/ for more
|
|
||||||
hl.config({
|
|
||||||
scrolling = {
|
|
||||||
fullscreen_on_one_column = true,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
----------------
|
|
||||||
---- MISC ----
|
|
||||||
----------------
|
|
||||||
|
|
||||||
hl.config({
|
|
||||||
misc = {
|
|
||||||
force_default_wallpaper = -1, -- Set to 0 or 1 to disable the anime mascot wallpapers
|
|
||||||
disable_hyprland_logo = false, -- If true disables the random hyprland logo / anime girl background. :(
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
---------------
|
|
||||||
---- INPUT ----
|
|
||||||
---------------
|
|
||||||
hl.config({
|
|
||||||
input = {
|
|
||||||
kb_layout = "de,jp",
|
|
||||||
kb_variant = "",
|
|
||||||
kb_model = "",
|
|
||||||
kb_options = "grp:alt_shift_toggle",
|
|
||||||
kb_rules = "",
|
|
||||||
repeat_delay = 400,
|
|
||||||
repeat_rate = 35,
|
|
||||||
follow_mouse = 1,
|
|
||||||
sensitivity = -0.5, -- -1.0 - 1.0, 0 means no modification.
|
|
||||||
|
|
||||||
touchpad = {
|
|
||||||
natural_scroll = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
-- Example per-device config
|
|
||||||
-- See https://wiki.hypr.land/Configuring/Advanced-and-Cool/Devices/ for more
|
|
||||||
hl.device({
|
|
||||||
name = "epic-mouse-v1",
|
|
||||||
sensitivity = -1.0,
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
---------------------
|
|
||||||
---- KEYBINDINGS ----
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
local mainMod = "SUPER" -- Sets "Windows" key as main modifier
|
|
||||||
|
|
||||||
-- Example binds, see https://wiki.hypr.land/Configuring/Basics/Binds/ for more
|
|
||||||
hl.bind(mainMod .. " + Q", hl.dsp.exec_cmd(terminal))
|
|
||||||
local closeWindowBind = hl.bind(mainMod .. " + C", hl.dsp.window.close())
|
|
||||||
-- closeWindowBind:set_enabled(false)
|
|
||||||
hl.bind(mainMod .. " + M", hl.dsp.exec_cmd("command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch 'hl.dsp.exit()'"))
|
|
||||||
hl.bind(mainMod .. " + E", hl.dsp.exec_cmd(fileManager))
|
|
||||||
hl.bind(mainMod .. " + V", hl.dsp.window.float({ action = "toggle" }))
|
|
||||||
hl.bind(mainMod .. " + D", hl.dsp.exec_cmd(menu))
|
|
||||||
hl.bind(mainMod .. " + SHIFT + S", hl.dsp.exec_cmd(screenshot))
|
|
||||||
|
|
||||||
-- Move focus with mainMod + vim keys
|
|
||||||
hl.bind(mainMod .. " + H", hl.dsp.focus({ direction = "left" }))
|
|
||||||
hl.bind(mainMod .. " + L", hl.dsp.focus({ direction = "right" }))
|
|
||||||
hl.bind(mainMod .. " + K", hl.dsp.focus({ direction = "up" }))
|
|
||||||
hl.bind(mainMod .. " + J", hl.dsp.focus({ direction = "down" }))
|
|
||||||
|
|
||||||
-- Move windows with mainMod + SHIFT + vim keys
|
|
||||||
hl.bind(mainMod .. " + SHIFT + H", hl.dsp.window.move({ direction = "left" }))
|
|
||||||
hl.bind(mainMod .. " + SHIFT + L", hl.dsp.window.move({ direction = "right" }))
|
|
||||||
hl.bind(mainMod .. " + SHIFT + K", hl.dsp.window.move({ direction = "up" }))
|
|
||||||
hl.bind(mainMod .. " + SHIFT + J", hl.dsp.window.move({ direction = "down" }))
|
|
||||||
|
|
||||||
-- Switch workspaces with mainMod + [0-9]
|
|
||||||
-- Move active window to a workspace with mainMod + SHIFT + [0-9]
|
|
||||||
for i = 1, 10 do
|
|
||||||
local key = i % 10 -- 10 maps to key 0
|
|
||||||
hl.bind(mainMod .. " + " .. key, hl.dsp.focus({ workspace = i}))
|
|
||||||
hl.bind(mainMod .. " + SHIFT + " .. key, hl.dsp.window.move({ workspace = i }))
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Scroll through existing workspaces with mainMod + scroll
|
|
||||||
hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" }))
|
|
||||||
hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" }))
|
|
||||||
|
|
||||||
-- Move/resize windows with mainMod + LMB/RMB and dragging
|
|
||||||
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
|
|
||||||
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
|
|
||||||
|
|
||||||
-- Laptop multimedia keys for volume and LCD brightness
|
|
||||||
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), { locked = true, repeating = true })
|
|
||||||
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { locked = true, repeating = true })
|
|
||||||
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { locked = true, repeating = true })
|
|
||||||
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"), { locked = true, repeating = true })
|
|
||||||
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%+"), { locked = true, repeating = true })
|
|
||||||
hl.bind("XF86MonBrightnessDown",hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%-"), { locked = true, repeating = true })
|
|
||||||
|
|
||||||
-- Requires playerctl
|
|
||||||
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { locked = true })
|
|
||||||
hl.bind("XF86AudioPause", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
|
|
||||||
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
|
|
||||||
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { locked = true })
|
|
||||||
|
|
||||||
|
|
||||||
--------------------------------
|
|
||||||
---- WINDOWS AND WORKSPACES ----
|
|
||||||
--------------------------------
|
|
||||||
|
|
||||||
-- See https://wiki.hypr.land/Configuring/Basics/Window-Rules/
|
|
||||||
-- and https://wiki.hypr.land/Configuring/Basics/Workspace-Rules/
|
|
||||||
|
|
||||||
-- Example window rules that are useful
|
|
||||||
|
|
||||||
local suppressMaximizeRule = hl.window_rule({
|
|
||||||
-- Ignore maximize requests from all apps. You'll probably like this.
|
|
||||||
name = "suppress-maximize-events",
|
|
||||||
match = { class = ".*" },
|
|
||||||
|
|
||||||
suppress_event = "maximize",
|
|
||||||
})
|
|
||||||
-- suppressMaximizeRule:set_enabled(false)
|
|
||||||
|
|
||||||
hl.window_rule({
|
|
||||||
-- Fix some dragging issues with XWayland
|
|
||||||
name = "fix-xwayland-drags",
|
|
||||||
match = {
|
|
||||||
class = "^$",
|
|
||||||
title = "^$",
|
|
||||||
xwayland = true,
|
|
||||||
float = true,
|
|
||||||
fullscreen = false,
|
|
||||||
pin = false,
|
|
||||||
},
|
|
||||||
|
|
||||||
no_focus = true,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Layer rules also return a handle.
|
|
||||||
-- local overlayLayerRule = hl.layer_rule({
|
|
||||||
-- name = "no-anim-overlay",
|
|
||||||
-- match = { namespace = "^my-overlay$" },
|
|
||||||
-- no_anim = true,
|
|
||||||
-- })
|
|
||||||
-- overlayLayerRule:set_enabled(false)
|
|
||||||
|
|
||||||
-- Hyprland-run windowrule
|
|
||||||
hl.window_rule({
|
|
||||||
name = "move-hyprland-run",
|
|
||||||
match = { class = "hyprland-run" },
|
|
||||||
|
|
||||||
move = "20 monitor_h-120",
|
|
||||||
float = true,
|
|
||||||
})
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
{ inputs, ... }: {
|
|
||||||
flake.modules.nixos.hyprland = { pkgs, ... }: {
|
|
||||||
programs.hyprland.enable = true;
|
|
||||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
|
||||||
|
|
||||||
home-manager.sharedModules = [
|
|
||||||
inputs.self.modules.homeManager.hyprland
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
flake.modules.homeManager.hyprland = { pkgs, ... }: {
|
|
||||||
wayland.windowManager.hyprland.enable = true;
|
|
||||||
services.hyprpolkitagent.enable = true;
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
hyprpicker
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
flake.modules.homeManager.hyprland = {
|
|
||||||
wayland.windowManager.hyprland.configType = "lua";
|
|
||||||
wayland.windowManager.hyprland.extraConfig = builtins.readFile ./config.lua;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
flake.modules.homeManager.kitty = {
|
|
||||||
programs.kitty = {
|
|
||||||
settings = {
|
|
||||||
confirm_os_window_close = 0;
|
|
||||||
enable_auto_bell = false;
|
|
||||||
mouse_hide_wait = "-1.0";
|
|
||||||
background_opacity = "0.5";
|
|
||||||
background_blur = 5;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
flake.modules.homeManager.kitty = {
|
|
||||||
programs.kitty = {
|
|
||||||
enable = true;
|
|
||||||
enableGitIntegration = true;
|
|
||||||
font = {
|
|
||||||
name = "JetBrains Mono";
|
|
||||||
size = 10;
|
|
||||||
};
|
|
||||||
shellIntegration.enableZshIntegration = true;
|
|
||||||
settings = {
|
|
||||||
confirm_os_window_close = 0;
|
|
||||||
enable_auto_bell = false;
|
|
||||||
mouse_hide_wait = "-1.0";
|
|
||||||
background_opacity = "0.5";
|
|
||||||
background_blur = 5;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{ inputs, ... }: {
|
|
||||||
flake-file.inputs = {
|
|
||||||
nixvim.url = "github:nix-community/nixvim/nixos-26.05";
|
|
||||||
nixvim.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
flake.modules.homeManager.nixvim = {
|
|
||||||
imports = [
|
|
||||||
inputs.nixvim.homeModules.nixvim
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.nixvim = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.sessionVariables.EDITOR = "nvim";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
{ inputs, ... }:
|
|
||||||
{
|
|
||||||
flake.modules.nixos.zsh = {
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
|
|
||||||
environment.pathsToLink = [ "/share/zsh" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
flake.modules.homeManager.zsh = { pkgs, ... }: {
|
|
||||||
imports = with inputs.self.modules.homeManager; [
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.zsh = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
autocd = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
autosuggestion.enable = true;
|
|
||||||
syntaxHighlighting.enable = true;
|
|
||||||
|
|
||||||
oh-my-zsh = {
|
|
||||||
enable = true;
|
|
||||||
plugins = [
|
|
||||||
"git"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||||
|
quickshell = {
|
||||||
|
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
outputs = {};
|
||||||
|
}
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
flake.modules.nixos.pipewire = {
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
wireplumber.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
flake.modules.nixos.amd-gpu = { pkgs, ... }: {
|
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
{
|
|
||||||
flake.modules.nixos.i18n-de = {
|
|
||||||
time.timeZone = "Europe/Berlin";
|
|
||||||
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
i18n.extraLocales = [ "ja_JP.UTF-8/UTF-8" ];
|
|
||||||
|
|
||||||
i18n.extraLocaleSettings = {
|
|
||||||
LC_ADDRESS = "de_DE.UTF-8";
|
|
||||||
LC_IDENTIFICATION = "de_DE.UTF-8";
|
|
||||||
LC_MEASUREMENT = "de_DE.UTF-8";
|
|
||||||
LC_MONETARY = "de_DE.UTF-8";
|
|
||||||
LC_NAME = "de_DE.UTF-8";
|
|
||||||
LC_NUMERIC = "de_DE.UTF-8";
|
|
||||||
LC_PAPER = "de_DE.UTF-8";
|
|
||||||
LC_TELEPHONE = "de_DE.UTF-8";
|
|
||||||
LC_TIME = "de_DE.UTF-8";
|
|
||||||
};
|
|
||||||
console.keyMap = "de";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
flake.modules.nixos.linux-latest = { pkgs, ... }: {
|
|
||||||
# boot.kernelPackages.pkgs.linuxPackages_latest;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
flake.modules.nixos.systemd-boot = {
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{ inputs, ... }: {
|
|
||||||
flake.modules.homeManager.system-base = { config, ... }: {
|
|
||||||
imports = with inputs.self.modules.homeManager; [
|
|
||||||
];
|
|
||||||
|
|
||||||
home.homeDirectory = "/home/${config.home.username}";
|
|
||||||
home.stateVersion = "26.05";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
{ inputs, ... }: {
|
|
||||||
flake-file.inputs = {
|
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
|
|
||||||
nixpkgs-unstable.url = "github:nixos/nixpkgs-unstable";
|
|
||||||
};
|
|
||||||
|
|
||||||
flake.modules.nixos.system-base = { pkgs, ... }: {
|
|
||||||
imports = with inputs.self.modules.nixos; [
|
|
||||||
home-manager
|
|
||||||
zsh
|
|
||||||
linux-latest
|
|
||||||
];
|
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
|
||||||
(final: _prev: {
|
|
||||||
unstable = import inputs.nixpkgs-unstable {
|
|
||||||
inherit (final) config;
|
|
||||||
system = pkgs.stdenv.hostPlatform.system;
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
nix.settings = {
|
|
||||||
substituters = [
|
|
||||||
# high priority since it's almost always used
|
|
||||||
"https://cache.nixos.org?priority=10"
|
|
||||||
"https://install.determinate.systems"
|
|
||||||
"https://nix-community.cachix.org"
|
|
||||||
];
|
|
||||||
|
|
||||||
trusted-public-keys = [
|
|
||||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
|
||||||
"cache.flakehub.com-3:hJuILl5sVK4iKm86JzgdXW12Y2Hwd5G07qKtHTOcDCM"
|
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
||||||
];
|
|
||||||
|
|
||||||
experimental-features = [
|
|
||||||
"nix-command"
|
|
||||||
"flakes"
|
|
||||||
];
|
|
||||||
|
|
||||||
download-buffer-size = 1024 * 1024 * 1024;
|
|
||||||
|
|
||||||
trusted-users = [
|
|
||||||
"root"
|
|
||||||
"@wheel"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
system.stateVersion = "26.05";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
{ inputs, ... }: {
|
|
||||||
flake.modules.nixos.system-desktop = {
|
|
||||||
imports = with inputs.self.modules.nixos; [
|
|
||||||
system-base
|
|
||||||
hyprland
|
|
||||||
pipewire
|
|
||||||
browser
|
|
||||||
];
|
|
||||||
|
|
||||||
home-manager.sharedModules = [
|
|
||||||
inputs.self.modules.homeManager.system-desktop
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
flake.modules.homeManager.system-desktop = {
|
|
||||||
imports =
|
|
||||||
with inputs.self.modules.homeManager;
|
|
||||||
[
|
|
||||||
system-base
|
|
||||||
|
|
||||||
kitty
|
|
||||||
|
|
||||||
zsh
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
flake.modules.homeManager.snurm-git = {
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
user = {
|
|
||||||
email = "user@example.com";
|
|
||||||
name = "snurm";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
inputs,
|
|
||||||
self,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
flake.homeConfiguration = inputs.self.lib.mkHomeManager "x86_64-linux" "snurm";
|
|
||||||
|
|
||||||
flake.modules = lib.mkMerge [
|
|
||||||
(self.factory.user "snurm" true)
|
|
||||||
{
|
|
||||||
nixos.snurm = {
|
|
||||||
imports =
|
|
||||||
with self.modules.nixos;
|
|
||||||
with self.factory;
|
|
||||||
[
|
|
||||||
|
|
||||||
];
|
|
||||||
|
|
||||||
users.users.snurm.extraGroups = [
|
|
||||||
"networkmanager"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
homeManager.snurm = { pkgs, ... }: {
|
|
||||||
imports = with self.modules.homeManager; [
|
|
||||||
snurm-git
|
|
||||||
btop
|
|
||||||
nixvim
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
Reference in new issue
Block a user