add nix flakes
This commit is contained in:
parent
6e81c9c351
commit
cd383fa495
@ -1,97 +0,0 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
# Подключение файла описания конфигурации устройств.
|
||||
# Например, описание разбиения дисков.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
# Использование grub
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.device = "/dev/sda";
|
||||
boot.loader.grub.useOSProber = true;
|
||||
|
||||
# Установка имени хоста
|
||||
networking.hostName = "thek4n.local";
|
||||
|
||||
# Использование NetworkManager
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
# Установка временной зоны
|
||||
time.timeZone = "Europe/Moscow";
|
||||
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
# Включение демона CUPS для печати докуметов
|
||||
services.printing.enable = true;
|
||||
|
||||
# Включение сервисов звука
|
||||
services.pulseaudio.enable = true;
|
||||
services.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
services.openssh.enable = true;
|
||||
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd sway";
|
||||
user = "greeter";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
users.user."thek4n" = {
|
||||
isNormalUser = true;
|
||||
description = "thek4n";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
# Установка пользовательских пакетов
|
||||
packages = with pkgs; [ ];
|
||||
};
|
||||
|
||||
# Сырая установка бинарников в глобальное окружение
|
||||
environment.systemPackages = with pkgs; [
|
||||
alacritty bat brightnessctl ctags fd ffmpeg fzf glow
|
||||
grim highlight imagemagick jq kanshi less lesspipe mako
|
||||
man mpv noto-fonts p7zip poppler resvg ripgrep rofi slurp
|
||||
socat sway swaybg swayidle swaylock tmux tree-sitter ueberzug
|
||||
waybar wget wl-clipboard wlr-randr wtype yazi ydotool zoxide
|
||||
];
|
||||
|
||||
programs.firefox.enable = true;
|
||||
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
viAlias = true;
|
||||
defaultEditor = true;
|
||||
};
|
||||
programs.zsh.enable = true;
|
||||
|
||||
programs.git = {
|
||||
enabled = true;
|
||||
userName = "thek4n";
|
||||
userEmail = "thek4n@yandex.ru";
|
||||
};
|
||||
|
||||
programs.sway = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
environment.etc."sway/config" = {
|
||||
text = ''
|
||||
set $mod Mod4
|
||||
set $term alacritty
|
||||
|
||||
bindsym $mod+Return exec $term'';
|
||||
};
|
||||
|
||||
# Указание версии NixOs
|
||||
system.stateVersion = "26.05";
|
||||
}
|
||||
26
nix/flake.nix
Normal file
26
nix/flake.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
description = "NixOS configuration with flakes";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, home-manager, ... }@inputs: {
|
||||
nixosConfigurations.thek4n = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
./hosts/thek4n/default.nix
|
||||
./hosts/thek4n/home.nix
|
||||
];
|
||||
};
|
||||
|
||||
# `nixos-rebuild switch --flake .#thek4n`
|
||||
default = self.nixosConfigurations.thek4n;
|
||||
};
|
||||
}
|
||||
75
nix/hosts/thek4n/default.nix
Normal file
75
nix/hosts/thek4n/default.nix
Normal file
@ -0,0 +1,75 @@
|
||||
{ config, pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hardware.nix
|
||||
];
|
||||
|
||||
# Использование grub
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.device = "/dev/sda";
|
||||
boot.loader.grub.useOSProber = true;
|
||||
|
||||
networking.hostName = "thek4n";
|
||||
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
time.timeZone = "Europe/Moscow";
|
||||
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
services.printing.enable = true;
|
||||
|
||||
services.pulseaudio.enable = true;
|
||||
services.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
services.openssh.enable = true;
|
||||
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd sway";
|
||||
user = "greeter";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
users.user."thek4n" = {
|
||||
isNormalUser = true;
|
||||
description = "thek4n";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
packages = with pkgs; [ ];
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
alacritty bat brightnessctl ctags fd ffmpeg fzf glow
|
||||
grim highlight imagemagick jq kanshi less lesspipe mako
|
||||
man mpv noto-fonts p7zip poppler resvg ripgrep rofi slurp
|
||||
socat sway swaybg swayidle swaylock tmux tree-sitter ueberzug
|
||||
waybar wget wl-clipboard wlr-randr wtype yazi ydotool zoxide
|
||||
];
|
||||
|
||||
programs.firefox.enable = true;
|
||||
|
||||
programs.sway = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
environment.etc."sway/config" = {
|
||||
text = ''
|
||||
set $mod Mod4
|
||||
set $term alacritty
|
||||
|
||||
bindsym $mod+Return exec $term
|
||||
'';
|
||||
};
|
||||
|
||||
system.stateVersion = "26.05";
|
||||
}
|
||||
1
nix/hosts/thek4n/hardware.nix
Normal file
1
nix/hosts/thek4n/hardware.nix
Normal file
@ -0,0 +1 @@
|
||||
todo:
|
||||
55
nix/hosts/thek4n/home.nix
Normal file
55
nix/hosts/thek4n/home.nix
Normal file
@ -0,0 +1,55 @@
|
||||
{ config, pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
];
|
||||
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
|
||||
users.thek4n = { pkgs, ... }: {
|
||||
home.homeDirectory = "/home/thek4n";
|
||||
home.username = "thek4n";
|
||||
|
||||
home.stateVersion = "24.11";
|
||||
|
||||
home.packages = with pkgs; [ ];
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "thek4n";
|
||||
userEmail = "thek4n@yandex.ru";
|
||||
extraConfig = {
|
||||
init.defaultBranch = "main";
|
||||
pull.rebase = false;
|
||||
core.editor = "nvim";
|
||||
};
|
||||
};
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
autosuggestion.enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
};
|
||||
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
viAlias = true;
|
||||
defaultEditor = true;
|
||||
};
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "thek4n";
|
||||
userEmail = "thek4n@yandex.ru";
|
||||
};
|
||||
|
||||
# home.file.".config/nvim/init.lua".source = ./nvim/init.lua;
|
||||
# home.file.".zshrc".source = ./zsh/.zshrc;
|
||||
# home.file.".gitconfig".source = ./git/.gitconfig;
|
||||
};
|
||||
};
|
||||
};
|
||||
Loading…
x
Reference in New Issue
Block a user