Compare commits
9 Commits
a781c9d1df
...
6ce116ef71
| Author | SHA1 | Date | |
|---|---|---|---|
| 6ce116ef71 | |||
| 4796ec17c4 | |||
| 66de9b18ca | |||
| 11cca30f39 | |||
| 377659f33f | |||
| c247386fa5 | |||
| 57677defc0 | |||
| ad997ad900 | |||
| db3ba3a015 |
|
Before Width: | Height: | Size: 951 KiB After Width: | Height: | Size: 951 KiB |
51
flake.lock
51
flake.lock
@ -38,11 +38,11 @@
|
||||
"fromYaml": "fromYaml"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731966541,
|
||||
"narHash": "sha256-AhX8QQBQLRqEWHftFibTmvlmh157134vzBYXW0LOBKo=",
|
||||
"lastModified": 1732200724,
|
||||
"narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"rev": "d8e769add6333892b44afc107f193074a5072717",
|
||||
"rev": "153d52373b0fb2d343592871009a286ec8837aec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -108,11 +108,11 @@
|
||||
},
|
||||
"locked": {
|
||||
"dir": "pkgs/firefox-addons",
|
||||
"lastModified": 1732024923,
|
||||
"narHash": "sha256-cLPsA9gUOWa2R3GI3JTS79JWjuczsEVONhECQXSq2Kw=",
|
||||
"lastModified": 1732248209,
|
||||
"narHash": "sha256-Mv8k0VuGdb6YhhKt+8SIvhMdmI4xZhw/3ycSvlAq19Q=",
|
||||
"owner": "rycee",
|
||||
"repo": "nur-expressions",
|
||||
"rev": "e8342147922133c13bab28940e558a778add6539",
|
||||
"rev": "4a8ba00d1be3f3745428ed56efbb32155c548192",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
@ -329,11 +329,11 @@
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731978971,
|
||||
"narHash": "sha256-iwELdS0z0Yr8e3zRIBw07ug451T0rkEfGo3+vA5/Gg0=",
|
||||
"lastModified": 1732242702,
|
||||
"narHash": "sha256-fJ+fGtTRLSMBdaz0q2yi2xlC0gMTo+4cGjcLlwtOGQk=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "67cee430061626ccd73dc6d30eed9db289053608",
|
||||
"rev": "b1003445953474b967464d4d0878955d37498647",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -446,6 +446,26 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-ld": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728031945,
|
||||
"narHash": "sha256-NRkLjdMtVfC6dD1gEbYZWFEtbmC2xfD6ft1IP7l76Vw=",
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-ld",
|
||||
"rev": "4524c512e8729ccb5a1b9239d01e1474cbf074a2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-ld",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1731676054,
|
||||
@ -496,11 +516,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1731676054,
|
||||
"narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=",
|
||||
"lastModified": 1732014248,
|
||||
"narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add",
|
||||
"rev": "23e89b7da85c3640bbc2173fe04f4bd114342367",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -555,6 +575,7 @@
|
||||
"firefox-addons": "firefox-addons",
|
||||
"home-manager": "home-manager",
|
||||
"hyprland": "hyprland",
|
||||
"nix-ld": "nix-ld",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-stable": "nixpkgs-stable_2",
|
||||
"stylix": "stylix"
|
||||
@ -577,11 +598,11 @@
|
||||
"tinted-tmux": "tinted-tmux"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732036949,
|
||||
"narHash": "sha256-prZV8HDVvBqHiJLkjElJYoZ6zonV7cOABb8Z0lWonJA=",
|
||||
"lastModified": 1732261424,
|
||||
"narHash": "sha256-8uTKUHkaU980J5kRnLYrdwmjZYB88eBGUk1oVgIUHFE=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "4912f4db00bc931c7636d827e829faf01f6bf155",
|
||||
"rev": "b667a340730dd3d0596083aa7c949eef01367c62",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@ -5,6 +5,9 @@
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||
|
||||
nix-ld.url = "github:Mic92/nix-ld";
|
||||
nix-ld.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
hyprland = {
|
||||
url = "github:hyprwm/Hyprland";
|
||||
};
|
||||
@ -36,6 +39,7 @@
|
||||
self,
|
||||
nixpkgs,
|
||||
nixpkgs-stable,
|
||||
nix-ld,
|
||||
...
|
||||
} @ inputs: let
|
||||
system = "x86_64-linux";
|
||||
@ -63,6 +67,8 @@
|
||||
modules = [
|
||||
./nixos/configuration.nix
|
||||
inputs.stylix.nixosModules.stylix
|
||||
nix-ld.nixosModules.nix-ld
|
||||
{ programs.nix-ld.dev.enable = true; }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@ -2,15 +2,20 @@
|
||||
inputs,
|
||||
pkgs,
|
||||
pkgs-stable,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
./system/nvidia.nix
|
||||
./system/packages.nix
|
||||
./system/system.nix
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
];
|
||||
|
||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
|
||||
home-manager = {
|
||||
extraSpecialArgs = {inherit inputs pkgs pkgs-stable;};
|
||||
backupFileExtension = "backup";
|
||||
@ -19,236 +24,30 @@
|
||||
};
|
||||
};
|
||||
|
||||
stylix = {
|
||||
enable = true;
|
||||
image = ./aurora_borealis.png;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
|
||||
#base16Scheme = "${pkgs.base16-schemes}/share/themes/onedark.yaml";
|
||||
#base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-dark.yaml";
|
||||
polarity = "dark";
|
||||
autoEnable = true;
|
||||
|
||||
# Set the cursor theme.
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Ice";
|
||||
size = 24;
|
||||
};
|
||||
|
||||
fonts = {
|
||||
sizes = {
|
||||
desktop = 8;
|
||||
applications = 10;
|
||||
popups = 10;
|
||||
terminal = 12;
|
||||
};
|
||||
|
||||
monospace = {
|
||||
name = "JetBrainsMono Nerd Font";
|
||||
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||
networking.hostName = "laptop"; # Define your hostname.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
# 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;
|
||||
hardware.bluetooth.enable = true; # enables support for Bluetooth
|
||||
hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
|
||||
services.blueman.enable = true;
|
||||
|
||||
# Printing
|
||||
services.printing.enable = true;
|
||||
services.printing.drivers = with pkgs; [gutenprint hplip splix];
|
||||
hardware.printers = {
|
||||
#ensurePrinters = [
|
||||
# {
|
||||
# name = "HP_psc_1200_series";
|
||||
# location = "Home";
|
||||
# deviceUri = "usb://HP/psc%201200%20series?serial=UA51SGB35WT0&interface=1";
|
||||
# model = "HP_psc_1200_series.ppd";
|
||||
# ppdOptions = {
|
||||
# PageSize = "A4";
|
||||
# };
|
||||
# }
|
||||
#];
|
||||
#ensureDefaultPrinter = "HP_psc_1200_series";
|
||||
};
|
||||
|
||||
# Scanning
|
||||
hardware.sane.enable = true;
|
||||
services.ipp-usb.enable = true;
|
||||
hardware.sane.extraBackends = [pkgs.hplipWithPlugin];
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Prague";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "cs_CZ.UTF-8";
|
||||
LC_IDENTIFICATION = "cs_CZ.UTF-8";
|
||||
LC_MEASUREMENT = "cs_CZ.UTF-8";
|
||||
LC_MONETARY = "cs_CZ.UTF-8";
|
||||
LC_NAME = "cs_CZ.UTF-8";
|
||||
LC_NUMERIC = "cs_CZ.UTF-8";
|
||||
LC_PAPER = "cs_CZ.UTF-8";
|
||||
LC_TELEPHONE = "cs_CZ.UTF-8";
|
||||
LC_TIME = "cs_CZ.UTF-8";
|
||||
};
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-emoji
|
||||
(nerdfonts.override {fonts = ["JetBrainsMono"];})
|
||||
monaspace
|
||||
];
|
||||
|
||||
services.displayManager = {
|
||||
defaultSession = "hyprland";
|
||||
sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
theme = "sddm-astronaut-theme";
|
||||
package = lib.mkDefault pkgs.kdePackages.sddm;
|
||||
extraPackages = [pkgs.sddm-astronaut pkgs.kdePackages.qtvirtualkeyboard];
|
||||
};
|
||||
};
|
||||
|
||||
services.desktopManager.plasma6.enable = true;
|
||||
#services.xserver.desktopManager.gnome.enable = true;
|
||||
#environment.gnome.excludePackages = with pkgs; [
|
||||
# gnome-tour
|
||||
# gnome-connections
|
||||
# epiphany # web browser
|
||||
# geary # email reader. Up to 24.05. Starting from 24.11 the package name is just geary.
|
||||
# #evince # document viewer
|
||||
# gnome-weather
|
||||
# gnome-contacts
|
||||
# gnome-maps
|
||||
# gnome-logs
|
||||
# gnome-music
|
||||
# gnome-system-monitor
|
||||
# gnome-text-editor
|
||||
# yelp
|
||||
# totem
|
||||
# snapshot
|
||||
# seahorse
|
||||
#];
|
||||
|
||||
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
||||
ark
|
||||
plasma-browser-integration
|
||||
konsole
|
||||
oxygen
|
||||
gwenview
|
||||
okular
|
||||
elisa
|
||||
kate
|
||||
krdp
|
||||
khelpcenter
|
||||
];
|
||||
|
||||
# qt = {
|
||||
# enable = true;
|
||||
# platformTheme = "gnome";
|
||||
# style = "adwaita-dark";
|
||||
# };
|
||||
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
|
||||
portalPackage = pkgs.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
|
||||
virtualisation.libvirtd.enable = true;
|
||||
programs.virt-manager.enable = true;
|
||||
|
||||
programs.proxychains = {
|
||||
enable = true;
|
||||
chain.type = "dynamic";
|
||||
proxies = {
|
||||
tor-proxy = {
|
||||
enable = true;
|
||||
type = "socks5";
|
||||
host = "127.0.0.1";
|
||||
port = 9050;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.tor = {
|
||||
enable = true;
|
||||
};
|
||||
services.tor.client.enable = true;
|
||||
|
||||
environment.sessionVariables = {
|
||||
WLR_NO_HARDWARE_CURSORS = "1";
|
||||
NIXOS_OZONE_WL = "1";
|
||||
EDITOR = "nvim";
|
||||
FLAKE = "/home/foglar/dotfiles";
|
||||
|
||||
DEFAULT_BROWSER = "${pkgs.librewolf}/bin/librewolf";
|
||||
};
|
||||
|
||||
services.xserver = {
|
||||
xkb.layout = "us,cz";
|
||||
xkb.options = "grp:win_space_toggle";
|
||||
};
|
||||
|
||||
# Enable sound with pipewire.
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
# If you want to use JACK applications, uncomment this
|
||||
#jack.enable = true;
|
||||
|
||||
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||
# no need to redefine it in your config for now)
|
||||
#media-session.enable = true;
|
||||
};
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.foglar = {
|
||||
isNormalUser = true;
|
||||
description = "foglar";
|
||||
extraGroups = ["networkmanager" "wheel" "lp" "scanner" "docker"];
|
||||
packages = with pkgs; [
|
||||
# thunderbird
|
||||
];
|
||||
extraGroups = ["wheel"];
|
||||
};
|
||||
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
rootless = {
|
||||
enable = true;
|
||||
setSocketVariable = true;
|
||||
};
|
||||
};
|
||||
|
||||
programs.kdeconnect.enable = true;
|
||||
programs.wireshark.enable = true;
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
||||
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
||||
xdg.mime.enable = true;
|
||||
xdg.mime.defaultApplications = {
|
||||
"text/html" = "librewolf.desktop";
|
||||
"x-scheme-handler/http" = "librewolf.desktop";
|
||||
"x-scheme-handler/https" = "librewolf.desktop";
|
||||
"x-scheme-handler/about" = "librewolf.desktop";
|
||||
"x-scheme-handler/unknown" = "librewolf.desktop";
|
||||
"text/plain" = "nvim.desktop";
|
||||
"application/pdf" = "evince";
|
||||
};
|
||||
|
||||
# Allow unfree packages
|
||||
@ -256,17 +55,6 @@
|
||||
|
||||
# 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
|
||||
(sddm-astronaut.override {
|
||||
themeConfig = {
|
||||
ScreenWidth = 1920;
|
||||
ScreenHeight = 1080;
|
||||
PartialBlur = false;
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
hyprland.enable =
|
||||
desktop.hyprland.enable =
|
||||
lib.mkEnableOption "enable Hyprland module";
|
||||
};
|
||||
|
||||
@ -16,14 +16,17 @@
|
||||
./wlogout.nix
|
||||
];
|
||||
|
||||
config = lib.mkIf config.hyprland.enable {
|
||||
config = lib.mkIf config.desktop.hyprland.enable {
|
||||
waybar.enable = lib.mkDefault true;
|
||||
rofi.enable = lib.mkDefault true;
|
||||
wlogout.enable = lib.mkDefault true;
|
||||
|
||||
xdg.portal.enable = true;
|
||||
#xdg.portal.config = { commom;
|
||||
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-hyprland ];
|
||||
xdg.portal.enable = true;
|
||||
xdg.portal.config = { common = {
|
||||
default = ["gtk"];
|
||||
};
|
||||
};
|
||||
xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-hyprland];
|
||||
|
||||
services.network-manager-applet.enable = true;
|
||||
services.dunst.enable = true;
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
./desktop/desktops.nix
|
||||
];
|
||||
|
||||
hyprland.enable = true;
|
||||
desktop.hyprland.enable = true;
|
||||
programming.enable = true;
|
||||
games.enable = true;
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
s = "kitten ssh";
|
||||
diff = "diff --color";
|
||||
cd = "z";
|
||||
#arduino-cli = "arduino-ports-enable ; arduino-cli";
|
||||
|
||||
respawn = "clear; pfetch";
|
||||
l = "eza -lh --icons=auto";
|
||||
mkdir = "mkdir -p";
|
||||
@ -38,7 +38,6 @@
|
||||
packages = "paru -Qe | fzf | wl-copy";
|
||||
cdx = "zoxide query --interactive";
|
||||
|
||||
|
||||
distrobox-enter = "distrobox-enter --root";
|
||||
distrobox-create = "distrobox-create --root";
|
||||
};
|
||||
@ -48,10 +47,6 @@
|
||||
};
|
||||
|
||||
home.file = {
|
||||
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
|
||||
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
|
||||
# # symlink to the Nix store copy.
|
||||
# ".screenrc".source = dotfiles/screenrc;
|
||||
".config/hypr/hyprlock.conf".source = ../config/hyprlock.conf;
|
||||
".config/hypr/mocha.conf".source = ../config/mocha.conf;
|
||||
".config/hypr/hypridle.conf".source = ../config/hypridle.conf;
|
||||
@ -62,12 +57,6 @@
|
||||
"useTabs": true
|
||||
}
|
||||
'';
|
||||
|
||||
# # You can also set the file content immediately.
|
||||
# ".gradle/gradle.properties".text = ''
|
||||
# org.gradle.console=verbose
|
||||
# org.gradle.daemon.idletimeout=3600000
|
||||
# '';
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
@ -75,22 +64,8 @@
|
||||
FLAKE = "/home/foglar/dotfiles";
|
||||
XDG_DATA_HOME = "$HOME/.local/share";
|
||||
XDG_PICTURES_DIR = "$HOME/Pictures/Screenshots/";
|
||||
#FZF_DEFAULT_OPTS = " \
|
||||
# --color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 \
|
||||
# --color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc \
|
||||
# --color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8";
|
||||
};
|
||||
|
||||
#xdg.mimeApps = {
|
||||
# enable = true;
|
||||
# associations.added = {
|
||||
# "application/pdf" = ["org.gnome.Evince.desktop"];
|
||||
# };
|
||||
# defaultApplications = {
|
||||
# "application/pdf" = ["org.gnome.Evince.desktop"];
|
||||
# };
|
||||
#};
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
|
||||
@ -25,7 +25,6 @@
|
||||
plasma5Packages.kdeconnect-kde
|
||||
qbittorrent
|
||||
vlc
|
||||
#tor-browser
|
||||
openrocket
|
||||
spotify
|
||||
spotube
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
hashcat
|
||||
tcpdump
|
||||
sqlmap
|
||||
tor-browser
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@ -25,6 +25,7 @@
|
||||
|
||||
userSettings = {
|
||||
"files.autoSave" = "afterDelay";
|
||||
"explorer.confirmDragAndDrop" = false;
|
||||
"editor.fontSize" = 16;
|
||||
"editor.minimap.side" = "right";
|
||||
"editor.scrollbar.vertical" = "hidden";
|
||||
@ -63,10 +64,11 @@
|
||||
"formatting" = {
|
||||
"command" = ["alejandra"]; # or nixfmt or nixpkgs-fmt
|
||||
};
|
||||
# "options": {
|
||||
# "nixos": {
|
||||
# "expr": "(builtins.getFlake \"~/mysystem/").nixosConfigurations.laptop.options"
|
||||
# },
|
||||
"options" = {
|
||||
"nixos" = {
|
||||
"expr" = "(builtins.getFlake \"~/dotfiles/\").nixosConfigurations.laptop.options";
|
||||
};
|
||||
};
|
||||
# "home_manager": {
|
||||
# "expr": "(builtins.getFlake \"/PATH/TO/FLAKE\").homeConfigurations..options"
|
||||
# },
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
jq
|
||||
conda
|
||||
jetbrains.webstorm
|
||||
#jetbrains.pycharm-professional
|
||||
jetbrains.pycharm-professional
|
||||
dotnet-sdk_8
|
||||
nodejs
|
||||
pnpm
|
||||
|
||||
18
nixos/system/packages.nix
Normal file
18
nixos/system/packages.nix
Normal file
@ -0,0 +1,18 @@
|
||||
{lib, ...}: {
|
||||
imports = [
|
||||
./packages/docker.nix
|
||||
./packages/steam.nix
|
||||
./packages/tor.nix
|
||||
./packages/virtual-machines.nix
|
||||
];
|
||||
|
||||
package = {
|
||||
docker.enable = lib.mkDefault true;
|
||||
steam.enable = lib.mkDefault true;
|
||||
proxychains.enable = lib.mkDefault true;
|
||||
tor.enable = lib.mkDefault true;
|
||||
virt-manager.enable = lib.mkDefault true;
|
||||
};
|
||||
programs.kdeconnect.enable = true;
|
||||
programs.wireshark.enable = true;
|
||||
}
|
||||
21
nixos/system/packages/docker.nix
Normal file
21
nixos/system/packages/docker.nix
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
package.docker.enable = lib.mkEnableOption "Enable Docker";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.package.docker.enable {
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
rootless = {
|
||||
enable = true;
|
||||
setSocketVariable = true;
|
||||
};
|
||||
};
|
||||
|
||||
users.users.foglar.extraGroups = [ "docker" ];
|
||||
};
|
||||
}
|
||||
18
nixos/system/packages/steam.nix
Normal file
18
nixos/system/packages/steam.nix
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
package.steam.enable = lib.mkEnableOption "Enable Steam module";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.package.steam.enable {
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
||||
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
||||
};
|
||||
};
|
||||
}
|
||||
33
nixos/system/packages/tor.nix
Normal file
33
nixos/system/packages/tor.nix
Normal file
@ -0,0 +1,33 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
package.tor.enable = lib.mkEnableOption "Enable Tor";
|
||||
package.proxychains.enable = lib.mkEnableOption "Enable Proxychains";
|
||||
};
|
||||
|
||||
config = lib.mkMerge [
|
||||
(lib.mkIf config.package.tor.enable {
|
||||
services.tor = {
|
||||
enable = true;
|
||||
};
|
||||
services.tor.client.enable = true;
|
||||
})
|
||||
(lib.mkIf config.package.proxychains.enable {
|
||||
programs.proxychains = {
|
||||
enable = true;
|
||||
chain.type = "dynamic";
|
||||
proxies = {
|
||||
tor-proxy = {
|
||||
enable = true;
|
||||
type = "socks5";
|
||||
host = "127.0.0.1";
|
||||
port = 9050;
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
13
nixos/system/packages/virtual-machines.nix
Normal file
13
nixos/system/packages/virtual-machines.nix
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
package.virt-manager.enable = lib.mkEnableOption "Enable virt-manager";
|
||||
};
|
||||
config = lib.mkIf config.package.virt-manager.enable {
|
||||
virtualisation.libvirtd.enable = true;
|
||||
programs.virt-manager.enable = true;
|
||||
};
|
||||
}
|
||||
18
nixos/system/sys/audio.nix
Normal file
18
nixos/system/sys/audio.nix
Normal file
@ -0,0 +1,18 @@
|
||||
{...}:
|
||||
{
|
||||
# Enable sound with pipewire.
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
# If you want to use JACK applications, uncomment this
|
||||
#jack.enable = true;
|
||||
|
||||
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||
# no need to redefine it in your config for now)
|
||||
#media-session.enable = true;
|
||||
};
|
||||
}
|
||||
48
nixos/system/sys/desktops.nix
Normal file
48
nixos/system/sys/desktops.nix
Normal file
@ -0,0 +1,48 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
services.desktopManager.plasma6.enable = true;
|
||||
#services.xserver.desktopManager.gnome.enable = true;
|
||||
|
||||
#environment.gnome.excludePackages = with pkgs; [
|
||||
# gnome-tour
|
||||
# gnome-connections
|
||||
# epiphany # web browser
|
||||
# geary # email reader. Up to 24.05. Starting from 24.11 the package name is just geary.
|
||||
# #evince # document viewer
|
||||
# gnome-weather
|
||||
# gnome-contacts
|
||||
# gnome-maps
|
||||
# gnome-logs
|
||||
# gnome-music
|
||||
# gnome-system-monitor
|
||||
# gnome-text-editor
|
||||
# yelp
|
||||
# totem
|
||||
# snapshot
|
||||
# seahorse
|
||||
#];
|
||||
|
||||
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
||||
ark
|
||||
plasma-browser-integration
|
||||
konsole
|
||||
oxygen
|
||||
gwenview
|
||||
okular
|
||||
elisa
|
||||
kate
|
||||
krdp
|
||||
khelpcenter
|
||||
];
|
||||
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
|
||||
portalPackage = pkgs.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
}
|
||||
8
nixos/system/sys/fonts.nix
Normal file
8
nixos/system/sys/fonts.nix
Normal file
@ -0,0 +1,8 @@
|
||||
{pkgs, ...}: {
|
||||
fonts.packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-emoji
|
||||
(nerdfonts.override {fonts = ["JetBrainsMono"];})
|
||||
monaspace
|
||||
];
|
||||
}
|
||||
23
nixos/system/sys/locales.nix
Normal file
23
nixos/system/sys/locales.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{...}: {
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Prague";
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "cs_CZ.UTF-8";
|
||||
LC_IDENTIFICATION = "cs_CZ.UTF-8";
|
||||
LC_MEASUREMENT = "cs_CZ.UTF-8";
|
||||
LC_MONETARY = "cs_CZ.UTF-8";
|
||||
LC_NAME = "cs_CZ.UTF-8";
|
||||
LC_NUMERIC = "cs_CZ.UTF-8";
|
||||
LC_PAPER = "cs_CZ.UTF-8";
|
||||
LC_TELEPHONE = "cs_CZ.UTF-8";
|
||||
LC_TIME = "cs_CZ.UTF-8";
|
||||
};
|
||||
|
||||
services.xserver = {
|
||||
xkb.layout = "us,cz";
|
||||
xkb.options = "grp:win_space_toggle";
|
||||
};
|
||||
}
|
||||
16
nixos/system/sys/network.nix
Normal file
16
nixos/system/sys/network.nix
Normal file
@ -0,0 +1,16 @@
|
||||
{...}: {
|
||||
networking.hostName = "laptop"; # Define your hostname.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
# 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;
|
||||
hardware.bluetooth.enable = true; # enables support for Bluetooth
|
||||
hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
|
||||
services.blueman.enable = true;
|
||||
|
||||
users.users.foglar.extraGroups = [ "networkmanager" ];
|
||||
}
|
||||
26
nixos/system/sys/printing.nix
Normal file
26
nixos/system/sys/printing.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{pkgs, ...}: {
|
||||
# Printing
|
||||
services.printing.enable = true;
|
||||
services.printing.drivers = with pkgs; [gutenprint hplip splix];
|
||||
hardware.printers = {
|
||||
#ensurePrinters = [
|
||||
# {
|
||||
# name = "HP_psc_1200_series";
|
||||
# location = "Home";
|
||||
# deviceUri = "usb://HP/psc%201200%20series?serial=UA51SGB35WT0&interface=1";
|
||||
# model = "HP_psc_1200_series.ppd";
|
||||
# ppdOptions = {
|
||||
# PageSize = "A4";
|
||||
# };
|
||||
# }
|
||||
#];
|
||||
#ensureDefaultPrinter = "HP_psc_1200_series";
|
||||
};
|
||||
|
||||
# Scanning
|
||||
hardware.sane.enable = true;
|
||||
services.ipp-usb.enable = true;
|
||||
hardware.sane.extraBackends = [pkgs.hplipWithPlugin];
|
||||
|
||||
users.users.foglar.extraGroups = ["lp" "scanner"];
|
||||
}
|
||||
28
nixos/system/sys/sddm.nix
Normal file
28
nixos/system/sys/sddm.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
||||
services.displayManager = {
|
||||
defaultSession = "hyprland";
|
||||
sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
theme = "sddm-astronaut-theme";
|
||||
package = lib.mkDefault pkgs.kdePackages.sddm;
|
||||
extraPackages = [pkgs.sddm-astronaut pkgs.kdePackages.qtvirtualkeyboard];
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
(sddm-astronaut.override {
|
||||
themeConfig = {
|
||||
ScreenWidth = 1920;
|
||||
ScreenHeight = 1080;
|
||||
PartialBlur = false;
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
36
nixos/system/sys/style.nix
Normal file
36
nixos/system/sys/style.nix
Normal file
@ -0,0 +1,36 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
stylix = {
|
||||
enable = true;
|
||||
image = ../../../config/backgrounds/aurora_borealis.png;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
|
||||
#base16Scheme = "${pkgs.base16-schemes}/share/themes/onedark.yaml";
|
||||
#base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-dark.yaml";
|
||||
polarity = "dark";
|
||||
autoEnable = true;
|
||||
|
||||
# Set the cursor theme.
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Ice";
|
||||
size = 24;
|
||||
};
|
||||
|
||||
fonts = {
|
||||
sizes = {
|
||||
desktop = 8;
|
||||
applications = 10;
|
||||
popups = 10;
|
||||
terminal = 12;
|
||||
};
|
||||
|
||||
monospace = {
|
||||
name = "JetBrainsMono Nerd Font";
|
||||
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
14
nixos/system/system.nix
Normal file
14
nixos/system/system.nix
Normal file
@ -0,0 +1,14 @@
|
||||
{...}:
|
||||
{
|
||||
imports = [
|
||||
./sys/audio.nix
|
||||
./sys/desktops.nix
|
||||
./sys/fonts.nix
|
||||
./sys/locales.nix
|
||||
./sys/network.nix
|
||||
./sys/nvidia.nix
|
||||
./sys/printing.nix
|
||||
./sys/sddm.nix
|
||||
./sys/style.nix
|
||||
];
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user