mirror of
https://github.com/MichaelFisher1997/nixos.git
synced 2025-04-27 15:23:10 +00:00
save
This commit is contained in:
parent
7e5af56dc0
commit
084f7be6f0
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
redot/
|
||||||
|
custom-packages/
|
@ -2,7 +2,7 @@
|
|||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
@ -16,12 +16,16 @@
|
|||||||
#./i3.nix
|
#./i3.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot.loader.grub.enable = true;
|
boot.loader.grub.enable = true;
|
||||||
boot.loader.grub.device = "/dev/nvme0n1";
|
boot.loader.grub.device = "/dev/nvme0n1";
|
||||||
boot.loader.grub.useOSProber = true;
|
boot.loader.grub.useOSProber = true;
|
||||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
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 = [ "ntfs" ];
|
||||||
# boot.supportedFilesystems = [ "zfs" ];
|
# boot.supportedFilesystems = [ "zfs" ];
|
||||||
# boot.zfs.forceImportRoot = false;
|
# boot.zfs.forceImportRoot = false;
|
||||||
@ -50,60 +54,46 @@
|
|||||||
LC_TIME = "en_GB.UTF-8";
|
LC_TIME = "en_GB.UTF-8";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable the X11 windowing system.
|
services = {
|
||||||
# services.xserver.enable = true;
|
# Enable X11 and configure Wayland support
|
||||||
# services.xserver = {
|
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;
|
enable = true;
|
||||||
xkb.layout = "gb";
|
xkb.layout = "gb";
|
||||||
xkb.variant = "";
|
xkb.variant = "";
|
||||||
videoDrivers = ["amdgpu"];
|
videoDrivers = ["amdgpu"];
|
||||||
|
|
||||||
|
# Enable GDM as the display manager
|
||||||
|
displayManager.gdm.enable = true;
|
||||||
|
|
||||||
# Desktop Managers Configuration
|
# Desktop Managers Configuration
|
||||||
desktopManager = {
|
desktopManager = {
|
||||||
gnome.enable = true;
|
gnome.enable = true; # GNOME
|
||||||
|
plasma6.enable = true; # Use plasma5 for KDE6 as well
|
||||||
};
|
};
|
||||||
|
|
||||||
# Window Managers Configuration
|
# Window Managers Configuration
|
||||||
windowManager = {
|
windowManager = {
|
||||||
i3 = {
|
i3 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.i3-gaps; # Optional: use i3-gaps if you prefer the version with gaps
|
package = pkgs.i3-gaps; # Optional: use i3-gaps for gaps support
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
i3status
|
|
||||||
i3lock
|
i3lock
|
||||||
rofi
|
rofi
|
||||||
lxappearance
|
lxappearance
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
# Note: No need to enable Hyprland here, as it's done in hyprland.nix
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Display Manager Configuration
|
# XDG Portals Configuration for Wayland
|
||||||
displayManager = {
|
xdg.portal = {
|
||||||
gdm = {
|
enable = flase;
|
||||||
enable = false;
|
extraPortals = [
|
||||||
|
pkgs.xdg-desktop-portal
|
||||||
|
];
|
||||||
};
|
};
|
||||||
lightdm = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
# Enable kde6
|
|
||||||
#services.displayManager.sddm.enable = false;
|
|
||||||
#services.displayManager.sddm.wayland.enable = false;
|
|
||||||
#services.desktopManager.plasma6.enable = true;
|
|
||||||
|
|
||||||
# Configure console keymap
|
# Configure console keymap
|
||||||
console.keyMap = "uk";
|
console.keyMap = "uk";
|
||||||
@ -157,7 +147,9 @@
|
|||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
|
#nixpkgs.overlays = [
|
||||||
|
# (import ./godot4-overlay.nix)
|
||||||
|
#];
|
||||||
|
|
||||||
#hardware.opengl.driSupport = true; # This is already enabled by default
|
#hardware.opengl.driSupport = true; # This is already enabled by default
|
||||||
hardware.bluetooth.enable = true; # enables support for Bluetooth
|
hardware.bluetooth.enable = true; # enables support for Bluetooth
|
||||||
@ -187,6 +179,7 @@
|
|||||||
programs.steam.gamescopeSession.enable = true;
|
programs.steam.gamescopeSession.enable = true;
|
||||||
|
|
||||||
programs.gamemode.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:
|
# # List services that you want to enable:
|
||||||
# environment.sessionVariables = {
|
# environment.sessionVariables = {
|
||||||
@ -211,7 +204,7 @@
|
|||||||
# this value at the release version of the first install of this system.
|
# this value at the release version of the first install of this system.
|
||||||
# Before changing this value read the documentation for this option
|
# Before changing this value read the documentation for this option
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
# (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.enable = true;
|
||||||
system.autoUpgrade.allowReboot = false;
|
system.autoUpgrade.allowReboot = false;
|
||||||
|
|
||||||
|
33
docker.nix
33
docker.nix
@ -1,8 +1,41 @@
|
|||||||
{ pkgs, ... }:
|
{ 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.enable = true;
|
||||||
virtualisation.docker.rootless = {
|
virtualisation.docker.rootless = {
|
||||||
enable = true;
|
enable = true;
|
||||||
setSocketVariable = 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
25
flake.nix
Normal 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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -24,7 +24,7 @@
|
|||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (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
|
# 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`.
|
# 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.docker0.useDHCP = lib.mkDefault true;
|
||||||
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
|
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
|
||||||
# networking.interfaces.tailscale0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.tailscale0.useDHCP = lib.mkDefault true;
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
blueman
|
blueman
|
||||||
rofi-wayland
|
rofi-wayland
|
||||||
waybar
|
waybar
|
||||||
|
polybar
|
||||||
wttrbar
|
wttrbar
|
||||||
hackgen-nf-font
|
hackgen-nf-font
|
||||||
playerctl
|
playerctl
|
||||||
@ -34,6 +35,7 @@
|
|||||||
catppuccin-kvantum
|
catppuccin-kvantum
|
||||||
dolphin
|
dolphin
|
||||||
nwg-drawer
|
nwg-drawer
|
||||||
|
hyprpaper
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.thunar.enable = true;
|
programs.thunar.enable = true;
|
||||||
@ -41,11 +43,4 @@
|
|||||||
thunar-archive-plugin
|
thunar-archive-plugin
|
||||||
thunar-volman
|
thunar-volman
|
||||||
];
|
];
|
||||||
# xdg.portal = {
|
|
||||||
# enable = true;
|
|
||||||
# wlr.enable = true;
|
|
||||||
# extraPortals = with pkgs; [
|
|
||||||
# xdg-desktop-portal-gtk
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
{ config, pkgs, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
{
|
{
|
||||||
networking.hostName = "hypr-nix";
|
|
||||||
networking = {
|
networking = {
|
||||||
|
hostName = "hypr-nix";
|
||||||
|
useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
interfaces = {
|
interfaces = {
|
||||||
enp0s31f6.useDHCP = true;
|
enp0s31f6.useDHCP = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
services.tailscale.enable = true;
|
|
||||||
|
|
||||||
|
services.tailscale.enable = true;
|
||||||
}
|
}
|
||||||
|
1
nixos-cosmic
Submodule
1
nixos-cosmic
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 3279f5f6b35be38302d5f4de8333490174a14326
|
36
packages.nix
36
packages.nix
@ -24,13 +24,12 @@ in
|
|||||||
brave
|
brave
|
||||||
simplescreenrecorder
|
simplescreenrecorder
|
||||||
webcord
|
webcord
|
||||||
vscode
|
unstable.vscode
|
||||||
tor-browser
|
tor-browser
|
||||||
monero-gui
|
monero-gui
|
||||||
htop
|
htop
|
||||||
btop
|
btop
|
||||||
ranger
|
ranger
|
||||||
tmux
|
|
||||||
lsd
|
lsd
|
||||||
nfs-utils
|
nfs-utils
|
||||||
tldr
|
tldr
|
||||||
@ -58,6 +57,7 @@ in
|
|||||||
libcanberra-gtk3
|
libcanberra-gtk3
|
||||||
docker
|
docker
|
||||||
docker-compose
|
docker-compose
|
||||||
|
kubectl
|
||||||
pamixer
|
pamixer
|
||||||
onlyoffice-bin
|
onlyoffice-bin
|
||||||
svt-av1
|
svt-av1
|
||||||
@ -88,6 +88,7 @@ in
|
|||||||
wine
|
wine
|
||||||
wine64
|
wine64
|
||||||
appstream-glib
|
appstream-glib
|
||||||
|
xorg.xprop
|
||||||
#peazip
|
#peazip
|
||||||
_7zz
|
_7zz
|
||||||
unrar
|
unrar
|
||||||
@ -105,13 +106,12 @@ in
|
|||||||
davinci-resolve-studio
|
davinci-resolve-studio
|
||||||
obs-studio
|
obs-studio
|
||||||
lunarvim
|
lunarvim
|
||||||
qbittorrent
|
|
||||||
vlc
|
vlc
|
||||||
python3
|
python3
|
||||||
gparted
|
gparted
|
||||||
parted
|
parted
|
||||||
amdgpu_top
|
amdgpu_top
|
||||||
unstable.zed-editor
|
#unstable.zed-editor
|
||||||
unstable.hyprshot
|
unstable.hyprshot
|
||||||
guacamole-client
|
guacamole-client
|
||||||
mono
|
mono
|
||||||
@ -134,6 +134,34 @@ in
|
|||||||
vulkan-headers
|
vulkan-headers
|
||||||
wayland-protocols
|
wayland-protocols
|
||||||
minecraft
|
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
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user