Compare commits

...

9 Commits

Author SHA1 Message Date
6ce116ef71 cleanup 2024-11-22 11:06:56 +01:00
4796ec17c4 XDG-mime fix modularity 2024-11-22 10:30:09 +01:00
66de9b18ca Background fix 2024-11-22 09:51:45 +01:00
11cca30f39 System update & syntax error fix 2024-11-22 09:50:11 +01:00
377659f33f nix-ld 2024-11-22 09:47:45 +01:00
c247386fa5 Cleanup 2024-11-22 09:47:27 +01:00
57677defc0 Modularity for system configuration 2024-11-22 09:46:17 +01:00
ad997ad900 System update 2024-11-21 09:15:51 +01:00
db3ba3a015 System update 2024-11-20 22:02:51 +01:00
25 changed files with 400 additions and 285 deletions

View File

Before

Width:  |  Height:  |  Size: 951 KiB

After

Width:  |  Height:  |  Size: 951 KiB

View File

@ -38,11 +38,11 @@
"fromYaml": "fromYaml" "fromYaml": "fromYaml"
}, },
"locked": { "locked": {
"lastModified": 1731966541, "lastModified": 1732200724,
"narHash": "sha256-AhX8QQBQLRqEWHftFibTmvlmh157134vzBYXW0LOBKo=", "narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
"owner": "SenchoPens", "owner": "SenchoPens",
"repo": "base16.nix", "repo": "base16.nix",
"rev": "d8e769add6333892b44afc107f193074a5072717", "rev": "153d52373b0fb2d343592871009a286ec8837aec",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -108,11 +108,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1732024923, "lastModified": 1732248209,
"narHash": "sha256-cLPsA9gUOWa2R3GI3JTS79JWjuczsEVONhECQXSq2Kw=", "narHash": "sha256-Mv8k0VuGdb6YhhKt+8SIvhMdmI4xZhw/3ycSvlAq19Q=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "e8342147922133c13bab28940e558a778add6539", "rev": "4a8ba00d1be3f3745428ed56efbb32155c548192",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -329,11 +329,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1731978971, "lastModified": 1732242702,
"narHash": "sha256-iwELdS0z0Yr8e3zRIBw07ug451T0rkEfGo3+vA5/Gg0=", "narHash": "sha256-fJ+fGtTRLSMBdaz0q2yi2xlC0gMTo+4cGjcLlwtOGQk=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "67cee430061626ccd73dc6d30eed9db289053608", "rev": "b1003445953474b967464d4d0878955d37498647",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -446,6 +446,26 @@
"type": "github" "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": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1731676054, "lastModified": 1731676054,
@ -496,11 +516,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1731676054, "lastModified": 1732014248,
"narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=", "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add", "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -555,6 +575,7 @@
"firefox-addons": "firefox-addons", "firefox-addons": "firefox-addons",
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland", "hyprland": "hyprland",
"nix-ld": "nix-ld",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"nixpkgs-stable": "nixpkgs-stable_2", "nixpkgs-stable": "nixpkgs-stable_2",
"stylix": "stylix" "stylix": "stylix"
@ -577,11 +598,11 @@
"tinted-tmux": "tinted-tmux" "tinted-tmux": "tinted-tmux"
}, },
"locked": { "locked": {
"lastModified": 1732036949, "lastModified": 1732261424,
"narHash": "sha256-prZV8HDVvBqHiJLkjElJYoZ6zonV7cOABb8Z0lWonJA=", "narHash": "sha256-8uTKUHkaU980J5kRnLYrdwmjZYB88eBGUk1oVgIUHFE=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "4912f4db00bc931c7636d827e829faf01f6bf155", "rev": "b667a340730dd3d0596083aa7c949eef01367c62",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -5,6 +5,9 @@
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05";
nix-ld.url = "github:Mic92/nix-ld";
nix-ld.inputs.nixpkgs.follows = "nixpkgs";
hyprland = { hyprland = {
url = "github:hyprwm/Hyprland"; url = "github:hyprwm/Hyprland";
}; };
@ -36,6 +39,7 @@
self, self,
nixpkgs, nixpkgs,
nixpkgs-stable, nixpkgs-stable,
nix-ld,
... ...
} @ inputs: let } @ inputs: let
system = "x86_64-linux"; system = "x86_64-linux";
@ -63,6 +67,8 @@
modules = [ modules = [
./nixos/configuration.nix ./nixos/configuration.nix
inputs.stylix.nixosModules.stylix inputs.stylix.nixosModules.stylix
nix-ld.nixosModules.nix-ld
{ programs.nix-ld.dev.enable = true; }
]; ];
}; };
}; };

View File

@ -2,15 +2,20 @@
inputs, inputs,
pkgs, pkgs,
pkgs-stable, pkgs-stable,
lib,
... ...
}: { }: {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./system/nvidia.nix ./system/packages.nix
./system/system.nix
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
]; ];
nix.settings.experimental-features = ["nix-command" "flakes"];
# Bootloader.
boot.loader.systemd-boot.enable = true;
home-manager = { home-manager = {
extraSpecialArgs = {inherit inputs pkgs pkgs-stable;}; extraSpecialArgs = {inherit inputs pkgs pkgs-stable;};
backupFileExtension = "backup"; 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 = { environment.sessionVariables = {
WLR_NO_HARDWARE_CURSORS = "1"; WLR_NO_HARDWARE_CURSORS = "1";
NIXOS_OZONE_WL = "1"; NIXOS_OZONE_WL = "1";
EDITOR = "nvim"; EDITOR = "nvim";
FLAKE = "/home/foglar/dotfiles"; 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 = { users.users.foglar = {
isNormalUser = true; isNormalUser = true;
description = "foglar"; description = "foglar";
extraGroups = ["networkmanager" "wheel" "lp" "scanner" "docker"]; extraGroups = ["wheel"];
packages = with pkgs; [
# thunderbird
];
}; };
virtualisation.docker = { xdg.mime.enable = true;
enable = true; xdg.mime.defaultApplications = {
rootless = { "text/html" = "librewolf.desktop";
enable = true; "x-scheme-handler/http" = "librewolf.desktop";
setSocketVariable = true; "x-scheme-handler/https" = "librewolf.desktop";
}; "x-scheme-handler/about" = "librewolf.desktop";
}; "x-scheme-handler/unknown" = "librewolf.desktop";
"text/plain" = "nvim.desktop";
programs.kdeconnect.enable = true; "application/pdf" = "evince";
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
}; };
# Allow unfree packages # Allow unfree packages
@ -256,17 +55,6 @@
# List packages installed in system profile. To search, run: # List packages installed in system profile. To search, run:
# $ nix search wget # $ 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 # Some programs need SUID wrappers, can be configured further or are
# started in user sessions. # started in user sessions.

View File

@ -5,7 +5,7 @@
... ...
}: { }: {
options = { options = {
hyprland.enable = desktop.hyprland.enable =
lib.mkEnableOption "enable Hyprland module"; lib.mkEnableOption "enable Hyprland module";
}; };
@ -16,13 +16,16 @@
./wlogout.nix ./wlogout.nix
]; ];
config = lib.mkIf config.hyprland.enable { config = lib.mkIf config.desktop.hyprland.enable {
waybar.enable = lib.mkDefault true; waybar.enable = lib.mkDefault true;
rofi.enable = lib.mkDefault true; rofi.enable = lib.mkDefault true;
wlogout.enable = lib.mkDefault true; wlogout.enable = lib.mkDefault true;
xdg.portal.enable = true; xdg.portal.enable = true;
#xdg.portal.config = { commom; xdg.portal.config = { common = {
default = ["gtk"];
};
};
xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-hyprland]; xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-hyprland];
services.network-manager-applet.enable = true; services.network-manager-applet.enable = true;

View File

@ -8,7 +8,7 @@
./desktop/desktops.nix ./desktop/desktops.nix
]; ];
hyprland.enable = true; desktop.hyprland.enable = true;
programming.enable = true; programming.enable = true;
games.enable = true; games.enable = true;
@ -28,7 +28,7 @@
s = "kitten ssh"; s = "kitten ssh";
diff = "diff --color"; diff = "diff --color";
cd = "z"; cd = "z";
#arduino-cli = "arduino-ports-enable ; arduino-cli";
respawn = "clear; pfetch"; respawn = "clear; pfetch";
l = "eza -lh --icons=auto"; l = "eza -lh --icons=auto";
mkdir = "mkdir -p"; mkdir = "mkdir -p";
@ -38,7 +38,6 @@
packages = "paru -Qe | fzf | wl-copy"; packages = "paru -Qe | fzf | wl-copy";
cdx = "zoxide query --interactive"; cdx = "zoxide query --interactive";
distrobox-enter = "distrobox-enter --root"; distrobox-enter = "distrobox-enter --root";
distrobox-create = "distrobox-create --root"; distrobox-create = "distrobox-create --root";
}; };
@ -48,10 +47,6 @@
}; };
home.file = { 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/hyprlock.conf".source = ../config/hyprlock.conf;
".config/hypr/mocha.conf".source = ../config/mocha.conf; ".config/hypr/mocha.conf".source = ../config/mocha.conf;
".config/hypr/hypridle.conf".source = ../config/hypridle.conf; ".config/hypr/hypridle.conf".source = ../config/hypridle.conf;
@ -62,12 +57,6 @@
"useTabs": true "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 = { home.sessionVariables = {
@ -75,22 +64,8 @@
FLAKE = "/home/foglar/dotfiles"; FLAKE = "/home/foglar/dotfiles";
XDG_DATA_HOME = "$HOME/.local/share"; XDG_DATA_HOME = "$HOME/.local/share";
XDG_PICTURES_DIR = "$HOME/Pictures/Screenshots/"; 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. # Let Home Manager install and manage itself.
programs.home-manager.enable = true; programs.home-manager.enable = true;
} }

View File

@ -25,7 +25,6 @@
plasma5Packages.kdeconnect-kde plasma5Packages.kdeconnect-kde
qbittorrent qbittorrent
vlc vlc
#tor-browser
openrocket openrocket
spotify spotify
spotube spotube

View File

@ -19,6 +19,7 @@
hashcat hashcat
tcpdump tcpdump
sqlmap sqlmap
tor-browser
]; ];
}; };
} }

View File

@ -25,6 +25,7 @@
userSettings = { userSettings = {
"files.autoSave" = "afterDelay"; "files.autoSave" = "afterDelay";
"explorer.confirmDragAndDrop" = false;
"editor.fontSize" = 16; "editor.fontSize" = 16;
"editor.minimap.side" = "right"; "editor.minimap.side" = "right";
"editor.scrollbar.vertical" = "hidden"; "editor.scrollbar.vertical" = "hidden";
@ -63,10 +64,11 @@
"formatting" = { "formatting" = {
"command" = ["alejandra"]; # or nixfmt or nixpkgs-fmt "command" = ["alejandra"]; # or nixfmt or nixpkgs-fmt
}; };
# "options": { "options" = {
# "nixos": { "nixos" = {
# "expr": "(builtins.getFlake \"~/mysystem/").nixosConfigurations.laptop.options" "expr" = "(builtins.getFlake \"~/dotfiles/\").nixosConfigurations.laptop.options";
# }, };
};
# "home_manager": { # "home_manager": {
# "expr": "(builtins.getFlake \"/PATH/TO/FLAKE\").homeConfigurations..options" # "expr": "(builtins.getFlake \"/PATH/TO/FLAKE\").homeConfigurations..options"
# }, # },

View File

@ -28,7 +28,7 @@
jq jq
conda conda
jetbrains.webstorm jetbrains.webstorm
#jetbrains.pycharm-professional jetbrains.pycharm-professional
dotnet-sdk_8 dotnet-sdk_8
nodejs nodejs
pnpm pnpm

18
nixos/system/packages.nix Normal file
View 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;
}

View 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" ];
};
}

View 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
};
};
}

View 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;
};
};
};
})
];
}

View 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;
};
}

View 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;
};
}

View 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;
};
}

View File

@ -0,0 +1,8 @@
{pkgs, ...}: {
fonts.packages = with pkgs; [
noto-fonts
noto-fonts-emoji
(nerdfonts.override {fonts = ["JetBrainsMono"];})
monaspace
];
}

View 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";
};
}

View 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" ];
}

View 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
View 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;
};
})
];
}

View 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
View 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
];
}