Compare commits
	
		
			10 Commits
		
	
	
		
			91ac5ce96f
			...
			ed16a63e50
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| ed16a63e50 | |||
| 5eb076d8d4 | |||
| 4d82957b22 | |||
| 962fd972bc | |||
| 25d09f63be | |||
| 5db0283ba6 | |||
| 4a0eb3c054 | |||
| 10765db295 | |||
| 6cedc8c144 | |||
| 8cb1dbd21e | 
@@ -9,7 +9,7 @@
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = { self, nixpkgs, ... }@inputs: 
 | 
			
		||||
  outputs = { self, nixpkgs, ... }@inputs:
 | 
			
		||||
    let
 | 
			
		||||
      system = "x86_64-linux";
 | 
			
		||||
      user = "torjus";
 | 
			
		||||
@@ -17,9 +17,7 @@
 | 
			
		||||
      nixosConfigurations.prismo = nixpkgs.lib.nixosSystem {
 | 
			
		||||
        system = "x86_64-linux";
 | 
			
		||||
        specialArgs = { inherit inputs self user; };
 | 
			
		||||
        modules = [
 | 
			
		||||
          ./hosts/prismo
 | 
			
		||||
        ];
 | 
			
		||||
        modules = [ ./hosts/prismo ];
 | 
			
		||||
      };
 | 
			
		||||
  };
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
{ inputs, self, user, ...}: {
 | 
			
		||||
{ inputs, self, user, ... }: {
 | 
			
		||||
  imports = [ inputs.home-manager.nixosModules.home-manager ];
 | 
			
		||||
  home-manager = {
 | 
			
		||||
    useUserPackages = true;
 | 
			
		||||
    useGlobalPkgs= true;
 | 
			
		||||
    useGlobalPkgs = true;
 | 
			
		||||
    extraSpecialArgs = { inherit inputs user; };
 | 
			
		||||
    users.${user} = {
 | 
			
		||||
      imports = [
 | 
			
		||||
@@ -11,9 +11,11 @@
 | 
			
		||||
        ./programs/tmux
 | 
			
		||||
        ./zsh
 | 
			
		||||
        ./packages
 | 
			
		||||
        ./hyprland
 | 
			
		||||
      ];
 | 
			
		||||
      firefox.enable = true;
 | 
			
		||||
      tmux.enable = true;
 | 
			
		||||
      hyprland.enable = true;
 | 
			
		||||
      home = {
 | 
			
		||||
        username = "${user}";
 | 
			
		||||
        homeDirectory = "/home/${user}";
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,33 @@
 | 
			
		||||
{ pkgs, ...}: {
 | 
			
		||||
{ pkgs, ... }: {
 | 
			
		||||
  programs = {
 | 
			
		||||
    neovim = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      defaultEditor = true;
 | 
			
		||||
      vimAlias = true;
 | 
			
		||||
      plugins = with pkgs.vimPlugins; [
 | 
			
		||||
        vim-fugitive
 | 
			
		||||
        undotree
 | 
			
		||||
        telescope-nvim
 | 
			
		||||
        lsp-zero-nvim
 | 
			
		||||
        (nvim-treesitter.withPlugins (p: [
 | 
			
		||||
          p.tree-sitter-nix
 | 
			
		||||
          p.tree-sitter-go
 | 
			
		||||
          p.tree-sitter-vim
 | 
			
		||||
          p.tree-sitter-bash
 | 
			
		||||
          p.tree-sitter-json
 | 
			
		||||
          p.tree-sitter-python
 | 
			
		||||
        ]))
 | 
			
		||||
      ];
 | 
			
		||||
      extraLuaConfig = ''
 | 
			
		||||
        ${builtins.readFile ./options.lua}
 | 
			
		||||
      '';
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
    # nix stuff
 | 
			
		||||
    nixfmt
 | 
			
		||||
    nil
 | 
			
		||||
    statix
 | 
			
		||||
  ];
 | 
			
		||||
  home.sessionVariables.EDITOR = "nvim";
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										11
									
								
								home/editor/neovim/options.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								home/editor/neovim/options.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
vim.g.mapleader = ' '
 | 
			
		||||
vim.g.maplocalleader = ' '
 | 
			
		||||
 | 
			
		||||
vim.opt.cursorline = true
 | 
			
		||||
vim.opt.scrolloff = 15
 | 
			
		||||
vim.opt.wrap = true
 | 
			
		||||
vim.o.number = true
 | 
			
		||||
vim.o.relativenumber = true
 | 
			
		||||
 | 
			
		||||
vim.o.tabstop = 4
 | 
			
		||||
vim.o.shiftwidth = 4
 | 
			
		||||
							
								
								
									
										1
									
								
								home/hyprland/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								home/hyprland/default.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
{ imports = [ ./hyprland.nix ./waybar.nix ]; }
 | 
			
		||||
							
								
								
									
										90
									
								
								home/hyprland/hyprland.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								home/hyprland/hyprland.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,90 @@
 | 
			
		||||
{ inputs, pkgs, lib, ... }: {
 | 
			
		||||
  options.hyprland.enable = lib.mkEnableOption "Hyprland";
 | 
			
		||||
  config = {
 | 
			
		||||
    home.packages = with pkgs; [ swww wl-clipboard cliphist ];
 | 
			
		||||
 | 
			
		||||
    wayland.windowManager.hyprland = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      settings = {
 | 
			
		||||
        "$mainMod" = "SUPER";
 | 
			
		||||
        "$term" = "alacritty";
 | 
			
		||||
 | 
			
		||||
        monitor = [ "eDP-1,1920x1080@60,0x0,1" ];
 | 
			
		||||
        input = {
 | 
			
		||||
          kb_layout = "no";
 | 
			
		||||
          follow_mouse = 1;
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        decoration = {
 | 
			
		||||
          rounding = 0;
 | 
			
		||||
          drop_shadow = true;
 | 
			
		||||
          shadow_range = 4;
 | 
			
		||||
          shadow_render_power = 3;
 | 
			
		||||
          blur = {
 | 
			
		||||
            enabled = true;
 | 
			
		||||
            size = 3;
 | 
			
		||||
            passes = 1;
 | 
			
		||||
            xray = true;
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        general = {
 | 
			
		||||
          gaps_in = 4;
 | 
			
		||||
          gaps_out = 10;
 | 
			
		||||
          border_size = 2;
 | 
			
		||||
          layout = "dwindle";
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        animations = {
 | 
			
		||||
          enabled = true;
 | 
			
		||||
          bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
 | 
			
		||||
          animation = [
 | 
			
		||||
            "windows, 1, 7, myBezier"
 | 
			
		||||
            "windowsOut, 1, 7, default, popin 80%"
 | 
			
		||||
            "border, 1, 10, default"
 | 
			
		||||
            "borderangle, 1, 8, default"
 | 
			
		||||
            "fade, 1, 7, default"
 | 
			
		||||
            "workspaces, 1, 6, default"
 | 
			
		||||
          ];
 | 
			
		||||
        };
 | 
			
		||||
        dwindle = {
 | 
			
		||||
          pseudotile = true;
 | 
			
		||||
          preserve_split = true;
 | 
			
		||||
        };
 | 
			
		||||
        master.new_is_master = true;
 | 
			
		||||
        misc.force_default_wallpaper = -1;
 | 
			
		||||
 | 
			
		||||
        bind = [
 | 
			
		||||
          # term
 | 
			
		||||
          "$mainMod,Return,exec,$term"
 | 
			
		||||
          # rofi
 | 
			
		||||
          "$mainMod,D,exec,rofi -show drun"
 | 
			
		||||
          # hyprland
 | 
			
		||||
          "$mainMod,Q,killactive,"
 | 
			
		||||
          "CTRLALT,Delete,exit,"
 | 
			
		||||
          "$mainMod,Space,togglefloating,"
 | 
			
		||||
          "$mainMod,F,fullscreen,"
 | 
			
		||||
 | 
			
		||||
          # focus
 | 
			
		||||
          "$mainMod,l,movefocus,l"
 | 
			
		||||
          "$mainMod,h,movefocus,r"
 | 
			
		||||
          "$mainMod,k,movefocus,u"
 | 
			
		||||
          "$mainMod,j,movefocus,d"
 | 
			
		||||
 | 
			
		||||
          # move
 | 
			
		||||
          "$mainMod,h,movewindow,l"
 | 
			
		||||
          "$mainMod,l,movewindow,r"
 | 
			
		||||
          "$mainMod,k,movewindow,u"
 | 
			
		||||
          "$mainMod,j,movewindow,d"
 | 
			
		||||
        ] ++ (builtins.concatLists (builtins.genList (x:
 | 
			
		||||
          let
 | 
			
		||||
            ws = let c = (x + 1) / 10; in builtins.toString (x + 1 - (c * 10));
 | 
			
		||||
          in [
 | 
			
		||||
            "$mainMod, ${ws}, workspace, ${toString (x + 1)}"
 | 
			
		||||
            "ALT, ${ws}, workspace, ${toString (x + 1)}"
 | 
			
		||||
          ]) 10));
 | 
			
		||||
        exec-once = [ "waybar &" ];
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										185
									
								
								home/hyprland/waybar.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										185
									
								
								home/hyprland/waybar.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,185 @@
 | 
			
		||||
{ pkgs, ... }: {
 | 
			
		||||
  programs.waybar = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    systemd = {
 | 
			
		||||
      enable = false; # disable it,autostart it in hyprland conf
 | 
			
		||||
      target = "graphical-session.target";
 | 
			
		||||
    };
 | 
			
		||||
    style = ''
 | 
			
		||||
      * {
 | 
			
		||||
        font-family: "Fira Code", "Font Awesome 6 Free";
 | 
			
		||||
        font-size: 14px;
 | 
			
		||||
        font-weight: bold;
 | 
			
		||||
        border-radius: 0px;
 | 
			
		||||
        transition-property: background-color;
 | 
			
		||||
        transition-duration: 0.5s;
 | 
			
		||||
      }
 | 
			
		||||
      @keyframes blink_red {
 | 
			
		||||
        to {
 | 
			
		||||
          background-color: rgb(242, 143, 173);
 | 
			
		||||
          color: rgb(26, 24, 38);
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      .warning,
 | 
			
		||||
      .critical,
 | 
			
		||||
      .urgent {
 | 
			
		||||
        animation-name: blink_red;
 | 
			
		||||
        animation-duration: 1s;
 | 
			
		||||
        animation-timing-function: linear;
 | 
			
		||||
        animation-iteration-count: infinite;
 | 
			
		||||
        animation-direction: alternate;
 | 
			
		||||
      }
 | 
			
		||||
      window#waybar {
 | 
			
		||||
        background-color: transparent;
 | 
			
		||||
      }
 | 
			
		||||
      window > box {
 | 
			
		||||
        margin-left: 0px;
 | 
			
		||||
        margin-right: 0px;
 | 
			
		||||
        margin-top: 0px;
 | 
			
		||||
        border-bottom: 2px solid @color1;
 | 
			
		||||
        background-color: @background;
 | 
			
		||||
      }
 | 
			
		||||
      #workspaces {
 | 
			
		||||
        padding-left: 0px;
 | 
			
		||||
        padding-right: 4px;
 | 
			
		||||
      }
 | 
			
		||||
      #workspaces button {
 | 
			
		||||
        padding-top: 5px;
 | 
			
		||||
        padding-bottom: 5px;
 | 
			
		||||
        padding-left: 6px;
 | 
			
		||||
        padding-right: 6px;
 | 
			
		||||
        color: @color1;
 | 
			
		||||
      }
 | 
			
		||||
      #workspaces button.active {
 | 
			
		||||
        background-color: @color1;
 | 
			
		||||
        color: rgb(26, 24, 38);
 | 
			
		||||
      }
 | 
			
		||||
      #workspaces button.urgent {
 | 
			
		||||
        color: rgb(26, 24, 38);
 | 
			
		||||
      }
 | 
			
		||||
      #workspaces button:hover {
 | 
			
		||||
        background-color: #b38dac;
 | 
			
		||||
        color: rgb(26, 24, 38);
 | 
			
		||||
      }
 | 
			
		||||
      tooltip {
 | 
			
		||||
        background: #3b4253;
 | 
			
		||||
      }
 | 
			
		||||
      tooltip label {
 | 
			
		||||
        color: #e4e8ef;
 | 
			
		||||
      }
 | 
			
		||||
      #custom-launcher {
 | 
			
		||||
        font-size: 20px;
 | 
			
		||||
        padding-left: 8px;
 | 
			
		||||
        padding-right: 6px;
 | 
			
		||||
        color: #7ebae4;
 | 
			
		||||
      }
 | 
			
		||||
      #mode,
 | 
			
		||||
      #clock,
 | 
			
		||||
      #memory,
 | 
			
		||||
      #temperature,
 | 
			
		||||
      #cpu,
 | 
			
		||||
      #mpd,
 | 
			
		||||
      #custom-wall,
 | 
			
		||||
      #temperature,
 | 
			
		||||
      #backlight,
 | 
			
		||||
      #pulseaudio,
 | 
			
		||||
      #network,
 | 
			
		||||
      #battery,
 | 
			
		||||
      #custom-powermenu,
 | 
			
		||||
      #custom-cava-internal {
 | 
			
		||||
        padding-left: 10px;
 | 
			
		||||
        padding-right: 10px;
 | 
			
		||||
        color: @color1;
 | 
			
		||||
      }
 | 
			
		||||
      #network.disconnected {
 | 
			
		||||
        color: #cccccc;
 | 
			
		||||
      }
 | 
			
		||||
      #battery.charging,
 | 
			
		||||
      #battery.full,
 | 
			
		||||
      #battery.discharging {
 | 
			
		||||
        color: #cf876f;
 | 
			
		||||
      }
 | 
			
		||||
      #battery.critical:not(.charging) {
 | 
			
		||||
        color: #d6dce7;
 | 
			
		||||
      }
 | 
			
		||||
      #custom-powermenu {
 | 
			
		||||
        color: #bd6069;
 | 
			
		||||
      }
 | 
			
		||||
      #tray {
 | 
			
		||||
        padding-right: 8px;
 | 
			
		||||
        padding-left: 10px;
 | 
			
		||||
      }
 | 
			
		||||
      #tray menu {
 | 
			
		||||
        background: #3b4252;
 | 
			
		||||
        color: #dee2ea;
 | 
			
		||||
      }
 | 
			
		||||
      #mpd.paused {
 | 
			
		||||
        color: rgb(192, 202, 245);
 | 
			
		||||
        font-style: italic;
 | 
			
		||||
      }
 | 
			
		||||
      #mpd.stopped {
 | 
			
		||||
        background: transparent;
 | 
			
		||||
      }
 | 
			
		||||
      #mpd {
 | 
			
		||||
        color: #e4e8ef;
 | 
			
		||||
      }
 | 
			
		||||
      #custom-cava-internal {
 | 
			
		||||
        font-family: "Hack Nerd Font";
 | 
			
		||||
      }
 | 
			
		||||
    '';
 | 
			
		||||
    settings = [{
 | 
			
		||||
      "layer" = "top";
 | 
			
		||||
      "position" = "top";
 | 
			
		||||
      modules-left = [ "custom/launcher" "hyprland/workspaces" ];
 | 
			
		||||
      modules-center = [ "clock" ];
 | 
			
		||||
      modules-right =
 | 
			
		||||
        [ "pulseaudio" "pulseaudio#microphone" "memory" "cpu" "tray" ];
 | 
			
		||||
      "custom/launcher" = {
 | 
			
		||||
        "format" = " ";
 | 
			
		||||
        "on-click" = "pkill rofi || ~/.config/rofi/launcher.sh";
 | 
			
		||||
        "tooltip" = false;
 | 
			
		||||
      };
 | 
			
		||||
      "hyprland/workspaces" = {
 | 
			
		||||
        "format" = "{name}";
 | 
			
		||||
        "on-click" = "activate";
 | 
			
		||||
        "on-scroll-up" = "hyprctl dispatch workspace e+1";
 | 
			
		||||
        "on-scroll-down" = "hyprctl dispatch workspace e-1";
 | 
			
		||||
      };
 | 
			
		||||
      "pulseaudio" = {
 | 
			
		||||
        "scroll-step" = 5;
 | 
			
		||||
        "format" = "{icon} {volume}%";
 | 
			
		||||
        "format-muted" = "";
 | 
			
		||||
        "format-icons" = { "default" = [ "" "" "" ]; };
 | 
			
		||||
        "on-click" = "pamixer -t";
 | 
			
		||||
      };
 | 
			
		||||
      "pulseaudio#microphone" = {
 | 
			
		||||
        "format" = "{format_source}";
 | 
			
		||||
        "format-source" = " {volume}%";
 | 
			
		||||
        "format-source-muted" = "";
 | 
			
		||||
        "on-click" = "pamixer --default-source -t";
 | 
			
		||||
        "on-scroll-up" = "pamixer --default-source -i 5";
 | 
			
		||||
        "on-scroll-down" = "pamixer --default-source -d 5";
 | 
			
		||||
        "scroll-step" = 5;
 | 
			
		||||
        "on-click-right" = "pavucontrol";
 | 
			
		||||
      };
 | 
			
		||||
      "clock" = {
 | 
			
		||||
        "interval" = 1;
 | 
			
		||||
        "format" = "{:%I:%M %p  %A %b %d}";
 | 
			
		||||
        "tooltip" = true;
 | 
			
		||||
      };
 | 
			
		||||
      "memory" = {
 | 
			
		||||
        "interval" = 3;
 | 
			
		||||
        "format" = " {percentage}%";
 | 
			
		||||
        "states" = { "warning" = 85; };
 | 
			
		||||
      };
 | 
			
		||||
      "cpu" = {
 | 
			
		||||
        "interval" = 3;
 | 
			
		||||
        "format" = " {usage}%";
 | 
			
		||||
      };
 | 
			
		||||
      "tray" = {
 | 
			
		||||
        "icon-size" = 15;
 | 
			
		||||
        "spacing" = 6;
 | 
			
		||||
      };
 | 
			
		||||
    }];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{ pkgs, ...}: {
 | 
			
		||||
{ pkgs, ... }: {
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
    # Generic tools
 | 
			
		||||
    age
 | 
			
		||||
@@ -8,6 +8,9 @@
 | 
			
		||||
    go-task
 | 
			
		||||
    jq
 | 
			
		||||
    ncdu
 | 
			
		||||
    pamixer
 | 
			
		||||
    pinentry
 | 
			
		||||
    pulsemixer
 | 
			
		||||
    rbw
 | 
			
		||||
    restic
 | 
			
		||||
    ripgrep
 | 
			
		||||
@@ -18,7 +21,7 @@
 | 
			
		||||
 | 
			
		||||
    # Editors
 | 
			
		||||
    vscode
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    # Go stuff
 | 
			
		||||
    go
 | 
			
		||||
    delve
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,6 @@
 | 
			
		||||
{ pkgs, config, lib, inputs, user, ...}: {
 | 
			
		||||
{ pkgs, config, lib, inputs, user, ... }: {
 | 
			
		||||
  options.firefox.enable = lib.mkEnableOption "Firefox";
 | 
			
		||||
 | 
			
		||||
  config = lib.mkIf config.firefox.enable {
 | 
			
		||||
    programs.firefox = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
  config =
 | 
			
		||||
    lib.mkIf config.firefox.enable { programs.firefox = { enable = true; }; };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{ pkgs, lib, config, ...}:
 | 
			
		||||
{ pkgs, lib, config, ... }:
 | 
			
		||||
with lib;
 | 
			
		||||
let cfg = config.tmux.enable;
 | 
			
		||||
in {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{ user, pkgs, ...}: {
 | 
			
		||||
{ user, pkgs, ... }: {
 | 
			
		||||
  home.packages = with pkgs; [ fd ];
 | 
			
		||||
  programs.zsh = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
@@ -6,5 +6,12 @@
 | 
			
		||||
    enableAutosuggestions = true;
 | 
			
		||||
    enableCompletion = true;
 | 
			
		||||
    syntaxHighlighting.enable = true;
 | 
			
		||||
    shellAliases = {
 | 
			
		||||
      nrebuild = "sudo nixos-rebuild switch --flake /home/${user}/nixos#prismo";
 | 
			
		||||
    };
 | 
			
		||||
    initExtra = ''
 | 
			
		||||
      bindkey -v
 | 
			
		||||
      bindkey '^R' history-incremental-search-backward
 | 
			
		||||
    '';
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,20 +1,11 @@
 | 
			
		||||
{ config, lib, pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  imports =
 | 
			
		||||
    [
 | 
			
		||||
      ./hardware-configuration.nix
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
  imports = [ ./hardware-configuration.nix ];
 | 
			
		||||
 | 
			
		||||
  # Bootloader stuff
 | 
			
		||||
  boot.loader.systemd-boot = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
  };
 | 
			
		||||
  boot.loader.efi = {
 | 
			
		||||
    canTouchEfiVariables = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  boot.loader.systemd-boot = { enable = true; };
 | 
			
		||||
  boot.loader.efi = { canTouchEfiVariables = true; };
 | 
			
		||||
 | 
			
		||||
  # Networking stuff
 | 
			
		||||
  networking.hostName = "prismo"; # Define your hostname.
 | 
			
		||||
@@ -37,17 +28,15 @@
 | 
			
		||||
    XDG_DATA_HOME = "$HOME/.local/share";
 | 
			
		||||
    XDG_STATE_HOME = "$HOME/.local/state";
 | 
			
		||||
    XDG_BIN_HOME = "$HOME/.local/bin";
 | 
			
		||||
    PATH = [
 | 
			
		||||
      "${XDG_BIN_HOME}"
 | 
			
		||||
    ];
 | 
			
		||||
  }; 
 | 
			
		||||
    PATH = [ "${XDG_BIN_HOME}" ];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # Enable sudo
 | 
			
		||||
  security.sudo.enable = true;
 | 
			
		||||
 | 
			
		||||
  # Enable flakes
 | 
			
		||||
  nix.settings.experimental-features = [ "nix-command" "flakes" ];
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  nixpkgs.config.allowUnfree = true;
 | 
			
		||||
  # Install system-wide packages
 | 
			
		||||
  environment.systemPackages = with pkgs; [
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{ inputs, self, pks, ...}: {
 | 
			
		||||
{ inputs, self, pks, ... }: {
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./configuration.nix
 | 
			
		||||
    ./hardware-configuration.nix
 | 
			
		||||
 
 | 
			
		||||
@@ -4,30 +4,33 @@
 | 
			
		||||
{ config, lib, pkgs, modulesPath, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  imports =
 | 
			
		||||
    [ (modulesPath + "/installer/scan/not-detected.nix")
 | 
			
		||||
    ];
 | 
			
		||||
  imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
 | 
			
		||||
 | 
			
		||||
  boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
 | 
			
		||||
  boot.initrd.kernelModules = [ ];
 | 
			
		||||
  boot.kernelModules = [ "kvm-intel" ];
 | 
			
		||||
  boot.extraModulePackages = [ ];
 | 
			
		||||
  boot = {
 | 
			
		||||
    initrd = {
 | 
			
		||||
      availableKernelModules =
 | 
			
		||||
        [ "xhci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
 | 
			
		||||
      kernelModules = [ ];
 | 
			
		||||
 | 
			
		||||
  fileSystems."/" =
 | 
			
		||||
    { device = "/dev/disk/by-uuid/91a0dbc4-426f-4b7b-a49e-063d1d0e59fb";
 | 
			
		||||
      fsType = "xfs";
 | 
			
		||||
      luks.devices."cryptroot".device =
 | 
			
		||||
        "/dev/disk/by-uuid/f71b0ace-f38f-435f-a07a-007f9cfe4919";
 | 
			
		||||
    };
 | 
			
		||||
    kernelModules = [ "kvm-intel" ];
 | 
			
		||||
    extraModulePackages = [ ];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  boot.initrd.luks.devices."cryptroot".device = "/dev/disk/by-uuid/f71b0ace-f38f-435f-a07a-007f9cfe4919";
 | 
			
		||||
  fileSystems."/" = {
 | 
			
		||||
    device = "/dev/disk/by-uuid/91a0dbc4-426f-4b7b-a49e-063d1d0e59fb";
 | 
			
		||||
    fsType = "xfs";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  fileSystems."/boot" =
 | 
			
		||||
    { device = "/dev/disk/by-uuid/AF2D-FAD0";
 | 
			
		||||
      fsType = "vfat";
 | 
			
		||||
    };
 | 
			
		||||
  fileSystems."/boot" = {
 | 
			
		||||
    device = "/dev/disk/by-uuid/AF2D-FAD0";
 | 
			
		||||
    fsType = "vfat";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  swapDevices =
 | 
			
		||||
    [ { device = "/dev/disk/by-uuid/67da36a8-69df-4541-88cd-cba7cbc40b4c"; }
 | 
			
		||||
    ];
 | 
			
		||||
    [{ device = "/dev/disk/by-uuid/67da36a8-69df-4541-88cd-cba7cbc40b4c"; }];
 | 
			
		||||
 | 
			
		||||
  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
 | 
			
		||||
  # (the default) this is the recommended approach. When using systemd-networkd it's
 | 
			
		||||
@@ -38,5 +41,6 @@
 | 
			
		||||
  # networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
 | 
			
		||||
 | 
			
		||||
  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
 | 
			
		||||
  hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
 | 
			
		||||
  hardware.cpu.intel.updateMicrocode =
 | 
			
		||||
    lib.mkDefault config.hardware.enableRedistributableFirmware;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1 @@
 | 
			
		||||
{
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./podman.nix
 | 
			
		||||
    ./fonts.nix
 | 
			
		||||
    ./users.nix
 | 
			
		||||
    ./services.nix
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
{ imports = [ ./podman.nix ./fonts.nix ./users.nix ./services.nix ]; }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,12 @@
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
{ pkgs, ... }: {
 | 
			
		||||
  environment.systemPackages = with pkgs; [ twemoji-color-font ];
 | 
			
		||||
  fonts.packages = with pkgs; [
 | 
			
		||||
    fira-code
 | 
			
		||||
    fira-code-symbols
 | 
			
		||||
    noto-fonts
 | 
			
		||||
    noto-fonts-cjk
 | 
			
		||||
    noto-fonts-emoji
 | 
			
		||||
    twemoji-color-font
 | 
			
		||||
    font-awesome
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{ pkgs, ...}:
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  virtualisation = {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{ ... }: {
 | 
			
		||||
{ pkgs, ... }: {
 | 
			
		||||
  services = {
 | 
			
		||||
    dbus.enable = true;
 | 
			
		||||
    pipewire = {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{ pkgs, ...}: 
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  programs.zsh.enable = true;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user