Compare commits
8 Commits
7896f93ec0
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 2011068784 | |||
| fb8e597a43 | |||
| 4c525f9335 | |||
| d834b0be80 | |||
| 848323bb4a | |||
| ce420d867c | |||
| 962a0ad527 | |||
| 23501b5dcf |
@@ -1,14 +1,14 @@
|
||||
# Edit this configuration file to define what should be installed on your system. Help is available in the configuration.nix(5) man page, on https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
<home-manager/nixos>
|
||||
];
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
|
||||
programs.hyprland.enable = true;
|
||||
programs.steam = {
|
||||
@@ -70,117 +70,89 @@
|
||||
backupFileExtension = "not-nix"; # Add this line
|
||||
users.jeremy = { pkgs, ... }: {
|
||||
home.stateVersion = "25.11";
|
||||
# wayland.windowManager.hyprland = { # Configure hyprland
|
||||
# enable = true;
|
||||
# settings = {
|
||||
# general = {
|
||||
# gaps_in = 0;
|
||||
# gaps_out = 0;
|
||||
# border_size = 2;
|
||||
# };
|
||||
# decoration = {
|
||||
# rounding = 10;
|
||||
# # active_opacity = 0.9;
|
||||
# # inactive_opacity = 0.8;
|
||||
# # blur = {
|
||||
# # enabled = true;
|
||||
# # size = 10;
|
||||
# # passes = 3;
|
||||
# # vibrancy = 1;
|
||||
# # new_optimizations = true;
|
||||
# # ignore_opacity = true;
|
||||
# # noise = 0;
|
||||
# # brightness = 0.9;
|
||||
# # };
|
||||
# };
|
||||
# misc = {
|
||||
# key_press_enables_dpms = true;
|
||||
# mouse_move_enables_dpms = true;
|
||||
# };
|
||||
# "$mainMod" = "SUPER";
|
||||
# bind = [
|
||||
# "$mainMod, C, exec, alacritty"
|
||||
# "$mainMod, Q, killactive,"
|
||||
# "$mainMod, grave, exec, rofi -show drun"
|
||||
# "$mainMod, F, fullscreen"
|
||||
# "$mainMod, V, togglefloating,"
|
||||
# ",F4, exec, rofi -show combi -combi-modes 'drun,filebrowser'"
|
||||
# "$mainMod, A, togglesplit"
|
||||
# ", PRINT, exec, hyprshot -zm region -o ~/pics/screenshots/"
|
||||
# "SHIFT, PRINT, exec, hyprshot -zm window -o ~/pics/screenshots/"
|
||||
# "SUPER, PRINT, exec, hyprshot -zm output -o ~/pics/screenshots/"
|
||||
# "$mainMod, N, exec, codium ~/etc/nixos/configuration.nix"
|
||||
# "$mainMod, L, exec, sleep 1s; hyprctl dispatch dpms off" # screen off
|
||||
|
||||
# # Move between windows
|
||||
# "$mainMod, h, movefocus, l"
|
||||
# "$mainMod, j, movefocus, d"
|
||||
# "$mainMod, k, movefocus, u"
|
||||
# "$mainMod, l, movefocus, r"
|
||||
|
||||
# # Switch workspaces with mainMod + [0-9]
|
||||
# "$mainMod, 1, workspace, 1"
|
||||
# "$mainMod, 2, workspace, 2"
|
||||
# "$mainMod, 3, workspace, 3"
|
||||
# "$mainMod, 4, workspace, 4"
|
||||
# "$mainMod, 5, workspace, 5"
|
||||
# "$mainMod, 6, workspace, 6"
|
||||
# "$mainMod, 7, workspace, 7"
|
||||
# "$mainMod, 8, workspace, 8"
|
||||
# "$mainMod, 9, workspace, 9"
|
||||
# "$mainMod, 0, workspace, 10"
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 24;
|
||||
margin-top = 0;
|
||||
margin-left = 0;
|
||||
margin-right = 0;
|
||||
spacing = 4;
|
||||
|
||||
# # Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
# "$mainMod SHIFT, 1, movetoworkspace, 1"
|
||||
# "$mainMod SHIFT, 2, movetoworkspace, 2"
|
||||
# "$mainMod SHIFT, 3, movetoworkspace, 3"
|
||||
# "$mainMod SHIFT, 4, movetoworkspace, 4"
|
||||
# "$mainMod SHIFT, 5, movetoworkspace, 5"
|
||||
# "$mainMod SHIFT, 6, movetoworkspace, 6"
|
||||
# "$mainMod SHIFT, 7, movetoworkspace, 7"
|
||||
# "$mainMod SHIFT, 8, movetoworkspace, 8"
|
||||
# "$mainMod SHIFT, 9, movetoworkspace, 9"
|
||||
# "$mainMod SHIFT, 0, movetoworkspace, 10"
|
||||
# ];
|
||||
# bindm = [
|
||||
# "$mainMod, mouse:272, movewindow"
|
||||
# "$mainMod, mouse:273, resizewindow"
|
||||
# ];
|
||||
# binde = [
|
||||
# ", XF86AudioRaiseVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0 && wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+"
|
||||
# ", XF86AudioLowerVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0 && wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%-"
|
||||
# ];
|
||||
# bindl = [
|
||||
# ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||
# ];
|
||||
# monitor = [
|
||||
# "DP-2, 2560x1440@170, 0x0, 1"
|
||||
# "HDMI-A-1, 2560x1440@144, 2560x0, 1"
|
||||
# ];
|
||||
# windowrulev2 = [
|
||||
# "tile, initialClass:^(Godot)$, initialTitle: ^(Godot)$"
|
||||
# "float, class:^(Godot)$, title:^(?!(.*Godot)).*$"
|
||||
# "float, initialTitle:^(Godot)$, class:^(?!(Godot)).*$"
|
||||
# ];
|
||||
# exec-once = [
|
||||
# "swaybg -i ~/.wallpaper -m fill"
|
||||
# "nextcloud --background"
|
||||
# ];
|
||||
# };
|
||||
# };
|
||||
modules-left = [ "niri/workspaces" "niri/window" ];
|
||||
modules-center = [];
|
||||
modules-right = [ "cpu" "memory" "tray" "battery" "pulseaudio" "clock" ];
|
||||
|
||||
# wayland.windowManager.sway = {
|
||||
# enable = true;
|
||||
# config = rec {
|
||||
# modifier = "Mod4";
|
||||
# # Use kitty as default terminal
|
||||
# terminal = "kitty";
|
||||
# startup = [
|
||||
# # Launch Firefox on start
|
||||
# {command = "firefox";}
|
||||
# ];
|
||||
# };
|
||||
# };
|
||||
"niri/workspaces" = {
|
||||
format = "{index}";
|
||||
active-only = true;
|
||||
};
|
||||
|
||||
"clock" = {
|
||||
format = "{:%H:%M | %a %d}";
|
||||
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||
};
|
||||
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}%";
|
||||
format-muted = "";
|
||||
format-icons = {
|
||||
default = [ "" "" "" ];
|
||||
};
|
||||
on-click = "pavucontrol";
|
||||
};
|
||||
|
||||
"cpu" = { format = " {usage}%"; };
|
||||
"memory" = { format = " {percentage}%"; };
|
||||
|
||||
"battery" = {
|
||||
states = { critical = 15; };
|
||||
format = "{icon} {capacity}%";
|
||||
format-icons = [ "" "" "" "" "" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
style = ''
|
||||
* {
|
||||
font-family: "JetBrainsMono Nerd Font";
|
||||
font-size: 15px;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: #000;
|
||||
color: #cdd6f4;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 8px;
|
||||
color: #bac2de;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
color: #7fc8ff;
|
||||
background: rgba(127, 200, 255, 0.1);
|
||||
border-bottom: 2px solid #7fc8ff;
|
||||
}
|
||||
|
||||
#clock, #cpu, #memory, #pulseaudio, #battery {
|
||||
padding: 0 10px;
|
||||
margin: 4px 2px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
font-weight: bold;
|
||||
color: #89b4fa;
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
programs.neovim = { # Configure nvim
|
||||
enable = true;
|
||||
@@ -213,58 +185,6 @@
|
||||
}
|
||||
];
|
||||
};
|
||||
# programs.rofi = { # Rofi config
|
||||
# enable = true;
|
||||
# theme = "dmenu";
|
||||
# font = "sans-serif";
|
||||
# package = pkgs.rofi;
|
||||
# modes = [
|
||||
# "drun"
|
||||
# "run"
|
||||
# "window"
|
||||
# "ssh"
|
||||
# ];
|
||||
# extraConfig = {
|
||||
# show-icons = true;
|
||||
# display-drun = "";
|
||||
# drun-display-format = "{name}";
|
||||
# };
|
||||
# };
|
||||
# programs.waybar.enable = true;
|
||||
# programs.waybar.settings.main = {
|
||||
# layer = "top";
|
||||
# position = "top";
|
||||
# reload_style_on_change = true;
|
||||
# modules-left = [];
|
||||
# modules-center = ["hyprland/workspaces"];
|
||||
# modules-right = [
|
||||
# "tray"
|
||||
# "bluetooth"
|
||||
# "network"
|
||||
# "clock"
|
||||
# ];
|
||||
# };
|
||||
# home.pointerCursor =
|
||||
# let
|
||||
# getFrom = url: hash: name: {
|
||||
# gtk.enable = true;
|
||||
# x11.enable = true;
|
||||
# name = name;
|
||||
# size = 48;
|
||||
# package =
|
||||
# pkgs.runCommand "moveUp" {} ''
|
||||
# mkdir -p $out/share/icons
|
||||
# ln -s ${pkgs.fetchzip {
|
||||
# url = url;
|
||||
# hash = hash;
|
||||
# }} $out/share/icons/${name}
|
||||
# '';
|
||||
# };
|
||||
# in
|
||||
# getFrom
|
||||
# "https://github.com/ful1e5/fuchsia-cursor/releases/download/v2.0.0/Fuchsia-Pop.tar.gz"
|
||||
# "sha256-BvVE9qupMjw7JRqFUj1J0a4ys6kc9fOLBPx2bGaapTk="
|
||||
# "Fuchsia-Pop";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -280,7 +200,8 @@
|
||||
packages = with pkgs; [
|
||||
prismlauncher # minecraft launcher
|
||||
discord-canary
|
||||
godot # 4.5.1 for now
|
||||
# godot # 4.5.1 for now
|
||||
inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.godot_4
|
||||
nextcloud-client
|
||||
steam
|
||||
signal-desktop
|
||||
@@ -293,8 +214,6 @@
|
||||
gcc
|
||||
xauth
|
||||
burpsuite
|
||||
ollama
|
||||
ollama-rocm
|
||||
python3
|
||||
direnv # develop projects in custom environments
|
||||
# hyprshot # screenshots
|
||||
@@ -308,6 +227,7 @@
|
||||
qbittorrent # arrr
|
||||
mpv # arrr
|
||||
wireshark
|
||||
obs-studio
|
||||
];
|
||||
};
|
||||
|
||||
@@ -334,21 +254,11 @@
|
||||
|
||||
xwayland-satellite # xwayland support
|
||||
fuzzel # menu
|
||||
|
||||
# grim # screenshot functionality
|
||||
# slurp # screenshot functionality
|
||||
# wl-clipboard # wl-copy and wl-paste for copy/paste from stdin / stdout
|
||||
# mako # notification system developed by swaywm maintainer
|
||||
];
|
||||
|
||||
fonts.packages = [ pkgs.nerd-fonts.jetbrains-mono ];
|
||||
|
||||
programs.niri.enable = true;
|
||||
# programs.sway = {
|
||||
# enable = true;
|
||||
# wrapperFeatures.gtk = true;
|
||||
# };
|
||||
# services.gnome.gnome-keyring.enable = true;
|
||||
|
||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||
|
||||
environment.sessionVariables = {
|
||||
@@ -360,26 +270,23 @@
|
||||
powerOnBoot = true;
|
||||
};
|
||||
|
||||
# networking.networkmanager = {
|
||||
# enable = true;
|
||||
# plugins = with pkgs; [
|
||||
# networkmanager-openvpn # for htb
|
||||
# ];
|
||||
# };
|
||||
|
||||
services.ollama = {
|
||||
enable = false;
|
||||
enable = true;
|
||||
package = pkgs.ollama;
|
||||
acceleration = "rocm";
|
||||
environmentVariables = {
|
||||
# Force Ollama to only see the dedicated GPU
|
||||
HIP_VISIBLE_DEVICES = "0";
|
||||
# Optional: Force the GPU architecture if discovery still fails
|
||||
HSA_OVERRIDE_GFX_VERSION = "10.3.0";
|
||||
};
|
||||
host = "0.0.0.0";
|
||||
};
|
||||
services.pipewire.enable = true;
|
||||
services.pipewire.pulse.enable = true;
|
||||
|
||||
services.pulseaudio.enable = false; # Use Pipewire
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = false;
|
||||
};
|
||||
|
||||
|
||||
|
||||
security.rtkit.enable = true; # Enable RealtimeKit for audio purposes
|
||||
services.hardware.openrgb = { # Enable OpenRGB
|
||||
enable = true;
|
||||
@@ -426,16 +333,29 @@
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [2121];
|
||||
|
||||
# MatLab
|
||||
nixpkgs.overlays = let
|
||||
nix-matlab = import (builtins.fetchTarball "https://gitlab.com/doronbehar/nix-matlab/-/archive/master/nix-matlab-master.tar.gz");
|
||||
in [
|
||||
nix-matlab.overlay
|
||||
(
|
||||
final: prev: {
|
||||
# Your own overlays...
|
||||
}
|
||||
)
|
||||
# Binaries auto linked
|
||||
programs.nix-ld.enable = true;
|
||||
programs.nix-ld.libraries = with pkgs; [
|
||||
stdenv.cc.cc
|
||||
zlib
|
||||
fuse3
|
||||
icu
|
||||
nss
|
||||
openssl
|
||||
curl
|
||||
expat
|
||||
wayland
|
||||
libxkbcommon
|
||||
libGL
|
||||
gtk3
|
||||
glib
|
||||
pango
|
||||
harfbuzz
|
||||
cairo
|
||||
gdk-pixbuf
|
||||
webkitgtk_4_1
|
||||
libsoup_3
|
||||
gobject-introspection
|
||||
];
|
||||
|
||||
|
||||
|
||||
66
flake.lock
generated
Normal file
66
flake.lock
generated
Normal file
@@ -0,0 +1,66 @@
|
||||
{
|
||||
"nodes": {
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1775425411,
|
||||
"narHash": "sha256-KY6HsebJHEe5nHOWP7ur09mb0drGxYSzE3rQxy62rJo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "0d02ec1d0a05f88ef9e74b516842900c41f0f2fe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-25.11",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1776067740,
|
||||
"narHash": "sha256-B35lpsqnSZwn1Lmz06BpwF7atPgFmUgw1l8KAV3zpVQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "7e495b747b51f95ae15e74377c5ce1fe69c1765f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-25.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1775710090,
|
||||
"narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4c1018dae018162ec878d42fec712642d214fdfa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
33
flake.nix
Normal file
33
flake.nix
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
description = "Default NixOS Flake Configuration";
|
||||
|
||||
inputs = {
|
||||
# The primary source for packages
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-25.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
# Optional: Unstable branch for things like Ollama or Hyprland
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, ... }@inputs: {
|
||||
nixosConfigurations."alien" = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
./configuration.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
(final: prev: {
|
||||
ollama = nixpkgs-unstable.legacyPackages.${prev.system}.ollama;
|
||||
})
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user