95 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
# 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,
 | 
						||
  ...
 | 
						||
}:
 | 
						||
{
 | 
						||
  imports = [
 | 
						||
    ./secrets.nix
 | 
						||
    ./locale.nix
 | 
						||
    ./ssh.nix
 | 
						||
    ./email.nix
 | 
						||
    ./email-filters.nix
 | 
						||
    ./git.nix
 | 
						||
  ];
 | 
						||
 | 
						||
  nix.settings.experimental-features = [
 | 
						||
    "nix-command"
 | 
						||
    "flakes"
 | 
						||
  ];
 | 
						||
 | 
						||
  # Use the systemd-boot EFI boot loader.
 | 
						||
  boot.loader.systemd-boot.enable = true;
 | 
						||
  boot.loader.efi.canTouchEfiVariables = true;
 | 
						||
 | 
						||
  # Pick only one of the below networking options.
 | 
						||
  # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.
 | 
						||
  networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
 | 
						||
 | 
						||
  networking.networkmanager.ensureProfiles.profiles =
 | 
						||
    with builtins;
 | 
						||
    lib.concatMapAttrs (fname: _: import (./networks + "/${fname}")) (
 | 
						||
      lib.filterAttrs (fname: _: lib.hasSuffix ".nix" fname) (readDir ./networks)
 | 
						||
    );
 | 
						||
 | 
						||
  # Set your time zone.
 | 
						||
  time.timeZone = "Europe/Paris";
 | 
						||
 | 
						||
  # Configure network proxy if necessary
 | 
						||
  # networking.proxy.default = "http://user:password@proxy:port/";
 | 
						||
  # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
 | 
						||
 | 
						||
  # Define a user account. Don't forget to set a password with ‘passwd’.
 | 
						||
  users.users.mysaa = {
 | 
						||
    isNormalUser = true;
 | 
						||
    extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
 | 
						||
  };
 | 
						||
  home-manager.users.mysaa =
 | 
						||
    { pkgs, ... }:
 | 
						||
    {
 | 
						||
      home.packages = with pkgs; [
 | 
						||
        tree
 | 
						||
      ];
 | 
						||
      home.stateVersion = "24.11";
 | 
						||
    };
 | 
						||
 | 
						||
  # List packages installed in system profile. To search, run:
 | 
						||
  # $ nix search wget
 | 
						||
  environment.systemPackages = with pkgs; [
 | 
						||
    nano
 | 
						||
    wget
 | 
						||
    git
 | 
						||
    tree
 | 
						||
    file
 | 
						||
    ripgrep
 | 
						||
  ];
 | 
						||
 | 
						||
  # Some programs need SUID wrappers, can be configured further or are
 | 
						||
  # started in user sessions.
 | 
						||
  # programs.mtr.enable = true;
 | 
						||
  # programs.gnupg.agent = {
 | 
						||
  #   enable = true;
 | 
						||
  #   enableSSHSupport = true;
 | 
						||
  # };
 | 
						||
 | 
						||
  # List services that you want to enable:
 | 
						||
 | 
						||
  # Enable the OpenSSH daemon.
 | 
						||
  # services.openssh.enable = true;
 | 
						||
 | 
						||
  # Open ports in the firewall.
 | 
						||
  # networking.firewall.allowedTCPPorts = [ ... ];
 | 
						||
  # networking.firewall.allowedUDPPorts = [ ... ];
 | 
						||
  # Or disable the firewall altogether.
 | 
						||
  networking.firewall.enable = false;
 | 
						||
 | 
						||
  # Copy the NixOS configuration file and link it from the resulting system
 | 
						||
  # (/run/current-system/configuration.nix). This is useful in case you
 | 
						||
  # accidentally delete configuration.nix.
 | 
						||
  # system.copySystemConfiguration = true;
 | 
						||
}
 |