This commit is contained in:
MichaelFisher1997 2024-12-15 15:02:21 +00:00
parent 7e5af56dc0
commit 084f7be6f0
10 changed files with 146 additions and 67 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
redot/
custom-packages/

View File

@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
imports =
@ -15,6 +15,7 @@
./networking.nix
#./i3.nix
];
# Bootloader.
boot.loader.grub.enable = true;
@ -22,6 +23,9 @@
boot.loader.grub.useOSProber = true;
boot.initrd.kernelModules = [ "amdgpu" ];
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelParams = [
"cgroup_enable=cpuset,cpu,cpuacct,blkio,devices,freezer,net_cls,perf_event,net_prio,hugetlb,pids"
];
boot.supportedFilesystems = [ "ntfs" ];
# boot.supportedFilesystems = [ "zfs" ];
# boot.zfs.forceImportRoot = false;
@ -50,60 +54,46 @@
LC_TIME = "en_GB.UTF-8";
};
# Enable the X11 windowing system.
# services.xserver.enable = true;
# services.xserver = {
# enable = true;
# xkb.layout = "gb";
# xkb.variant = "";
# videoDrivers = ["amdgpu"];
# displayManager.gdm.enable = true;
# desktopManager.gnome.enable = true;
# windowManager.i3 = {
# enable = true;
# package = pkgs.i3-gaps;
# };
# };
# XServer Configuration
services.xserver = {
enable = true;
xkb.layout = "gb";
xkb.variant = "";
videoDrivers = ["amdgpu"];
services = {
# Enable X11 and configure Wayland support
xserver = {
enable = true;
xkb.layout = "gb";
xkb.variant = "";
videoDrivers = ["amdgpu"];
# Desktop Managers Configuration
desktopManager = {
gnome.enable = true;
};
# Enable GDM as the display manager
displayManager.gdm.enable = true;
# Window Managers Configuration
windowManager = {
i3 = {
enable = true;
package = pkgs.i3-gaps; # Optional: use i3-gaps if you prefer the version with gaps
extraPackages = with pkgs; [
i3status
i3lock
rofi
lxappearance
];
# Desktop Managers Configuration
desktopManager = {
gnome.enable = true; # GNOME
plasma6.enable = true; # Use plasma5 for KDE6 as well
};
};
# Display Manager Configuration
displayManager = {
gdm = {
enable = false;
};
lightdm = {
enable = true;
# Window Managers Configuration
windowManager = {
i3 = {
enable = true;
package = pkgs.i3-gaps; # Optional: use i3-gaps for gaps support
extraPackages = with pkgs; [
i3lock
rofi
lxappearance
];
};
# Note: No need to enable Hyprland here, as it's done in hyprland.nix
};
};
};
# Enable kde6
#services.displayManager.sddm.enable = false;
#services.displayManager.sddm.wayland.enable = false;
#services.desktopManager.plasma6.enable = true;
# XDG Portals Configuration for Wayland
xdg.portal = {
enable = flase;
extraPortals = [
pkgs.xdg-desktop-portal
];
};
# Configure console keymap
console.keyMap = "uk";
@ -157,7 +147,9 @@
# List packages installed in system profile. To search, run:
# $ nix search wget
#nixpkgs.overlays = [
# (import ./godot4-overlay.nix)
#];
#hardware.opengl.driSupport = true; # This is already enabled by default
hardware.bluetooth.enable = true; # enables support for Bluetooth
@ -187,6 +179,7 @@
programs.steam.gamescopeSession.enable = true;
programs.gamemode.enable = true;
programs.ssh.askPassword = lib.mkForce "/nix/store/qjl45ra2yaqn88h6s9f7b79zpja9dy8b-seahorse-43.0/libexec/seahorse/ssh-askpass";
# # List services that you want to enable:
# environment.sessionVariables = {
@ -211,7 +204,7 @@
# 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 = "24.05"; # Did you read the comment?
system.stateVersion = "24.11"; # Did you read the comment?
system.autoUpgrade.enable = true;
system.autoUpgrade.allowReboot = false;

View File

@ -1,8 +1,41 @@
{ pkgs, ... }:
#let
# # When using easyCerts=true the IP Address must resolve to the master on creation.
# # So use simply 127.0.0.1 in that case. Otherwise you will have errors like this https://github.com/NixOS/nixpkgs/issues/59364
# kubeMasterIP = "10.1.1.2";
# kubeMasterHostname = "api.kube";
# kubeMasterAPIServerPort = 6443;
#in
{
virtualisation.docker.enable = true;
virtualisation.docker.rootless = {
enable = true;
setSocketVariable = true;
};
}
# # resolve master hostname
# networking.extraHosts = "${kubeMasterIP} ${kubeMasterHostname}";
#
# # packages for administration tasks
# environment.systemPackages = with pkgs; [
# kompose
# kubectl
# kubernetes
# ];
#
# services.kubernetes = {
# roles = ["master" "node"];
# masterAddress = kubeMasterHostname;
# apiserverAddress = "https://${kubeMasterHostname}:${toString kubeMasterAPIServerPort}";
# easyCerts = true;
# apiserver = {
# securePort = kubeMasterAPIServerPort;
# advertiseAddress = kubeMasterIP;
# };
#
# # use coredns
# addons.dns.enable = true;
#
# # needed if you use swap
# kubelet.extraOpts = "--fail-swap-on=false";
# };
}

25
flake.nix Normal file
View File

@ -0,0 +1,25 @@
{
inputs = {
nixpkgs.follows = "nixos-cosmic/nixpkgs-stable"; # NOTE: change "nixpkgs" to "nixpkgs-stable" to use stable NixOS release
nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic";
};
outputs = { self, nixpkgs, nixos-cosmic }: {
nixosConfigurations = {
# NOTE: change "host" to your system's hostname
host = nixpkgs.lib.nixosSystem {
modules = [
{
nix.settings = {
substituters = [ "https://cosmic.cachix.org/" ];
trusted-public-keys = [ "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" ];
};
}
nixos-cosmic.nixosModules.default
./configuration.nix
];
};
};
};
}

View File

@ -24,7 +24,7 @@
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
#networking.useDHCP = lib.mkDefault true;
# networking.interfaces.docker0.useDHCP = lib.mkDefault true;
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
# networking.interfaces.tailscale0.useDHCP = lib.mkDefault true;

View File

@ -12,6 +12,7 @@
blueman
rofi-wayland
waybar
polybar
wttrbar
hackgen-nf-font
playerctl
@ -34,6 +35,7 @@
catppuccin-kvantum
dolphin
nwg-drawer
hyprpaper
];
programs.thunar.enable = true;
@ -41,11 +43,4 @@
thunar-archive-plugin
thunar-volman
];
# xdg.portal = {
# enable = true;
# wlr.enable = true;
# extraPortals = with pkgs; [
# xdg-desktop-portal-gtk
# ];
# };
}

View File

@ -1,11 +1,13 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
networking.hostName = "hypr-nix";
networking = {
hostName = "hypr-nix";
useDHCP = lib.mkDefault true;
interfaces = {
enp0s31f6.useDHCP = true;
};
};
services.tailscale.enable = true;
services.tailscale.enable = true;
}

1
nixos-cosmic Submodule

@ -0,0 +1 @@
Subproject commit 3279f5f6b35be38302d5f4de8333490174a14326

View File

@ -24,13 +24,12 @@ in
brave
simplescreenrecorder
webcord
vscode
unstable.vscode
tor-browser
monero-gui
htop
btop
ranger
tmux
lsd
nfs-utils
tldr
@ -58,6 +57,7 @@ in
libcanberra-gtk3
docker
docker-compose
kubectl
pamixer
onlyoffice-bin
svt-av1
@ -88,6 +88,7 @@ in
wine
wine64
appstream-glib
xorg.xprop
#peazip
_7zz
unrar
@ -105,13 +106,12 @@ in
davinci-resolve-studio
obs-studio
lunarvim
qbittorrent
vlc
python3
gparted
parted
amdgpu_top
unstable.zed-editor
#unstable.zed-editor
unstable.hyprshot
guacamole-client
mono
@ -134,6 +134,34 @@ in
vulkan-headers
wayland-protocols
minecraft
arandr
maim
xclip
xdotool
nitrogen
polybarFull
pywal
calc
networkmanager_dmenu
eww
picom
ffmpeg_4
ffmpeg_4-full
ffmpeg_4-headless
vesktop
minikube
terraform
fd
fzf
bat
thefuck
tmux
kdePackages.filelight
remmina
zellij
alacritty
lolcat
protontricks
];
}

2
result
View File

@ -1 +1 @@
/nix/store/0i3hvfxxm34xkdy9pzjf0yp4j5d92mnq-nixos-system-hypr-nix-24.05.4469.6e99f2a27d60
/nix/store/4vlpsmid3byi5r6jp0sb7n1lqjhpb895-redot-redot-4.3-beta.2